var Expr = require ('./expr'); var ListHolder = require ('./list-holder'); /** * The equivalent of a SQL function. */ module.exports = new Class ({ Extends: Expr ,Tag: 'sql-function' ,Implements: ListHolder ,Properties: { /** * The function name. */ name: { type: String ,value: null }, /** * The function schema. */ schema: { type: String ,value: null }, /** * The function parameters. */ params: { type: Array ,set: function (x) { this.list = x; } ,get: function () { return this.list; } } } ,render: function (params) { var sql = ''; if (this.schema) sql += this.renderIdentifier (this.schema) +'.'; sql += this.renderIdentifier (this.name) + '(' + this.renderListWs (this.list, params, ', ') + ')'; return sql; } });