censql
Version:
A NodeJS command line client for SAP HANA
25 lines (21 loc) • 1.17 kB
JavaScript
var FunctionsViewCommandHandler = function() {
this.includeInAudit = false
}
FunctionsViewCommandHandler.prototype.run = function(command, cParts, conn, screen, callback) {
var sql = "SELECT \n\
F.FUNCTION_OID AS OID, \n\
MAX(F.FUNCTION_NAME) AS NAME, \n\
CASE WHEN STRING_AGG(P.PARAMETER_NAME, ', ') IS NULL THEN '' ELSE STRING_AGG(P.PARAMETER_NAME, ', ') END AS INPUTS, \n\
CASE WHEN STRING_AGG(R.PARAMETER_NAME, ', ') IS NULL THEN '' ELSE STRING_AGG(R.PARAMETER_NAME, ', ') END AS OUTPUTS, \n\
MAX(F.OWNER_NAME) AS OWNER, \n\
MIN(f.IS_VALID) AS VALID \n\
FROM SYS.FUNCTIONS AS F \n\
LEFT JOIN SYS.FUNCTION_PARAMETERS AS P ON (F.FUNCTION_OID = P.FUNCTION_OID AND P.PARAMETER_TYPE = 'IN') \n\
LEFT JOIN SYS.FUNCTION_PARAMETERS AS R ON (F.FUNCTION_OID = R.FUNCTION_OID AND R.PARAMETER_TYPE = 'RETURN') \n\
WHERE F.SCHEMA_NAME = " + (cParts[1] ? "?" : "CURRENT_SCHEMA") + " \n\
GROUP BY F.FUNCTION_OID";
conn.exec("conn", sql, (cParts[1] ? [cParts[1]] : []), function(err, data) {
callback([err == null ? 0 : 1, err == null ? data : err, err == null ? "default" : "sql-error"]);
})
}
module.exports = FunctionsViewCommandHandler;