2016-09-26 09:28:47 +00:00
|
|
|
|
|
|
|
var Stmt = require ('./stmt');
|
|
|
|
var Field = require ('./field');
|
|
|
|
|
2015-01-23 13:09:30 +00:00
|
|
|
/**
|
|
|
|
* The equivalent of a SQL select.
|
2016-12-20 09:32:17 +00:00
|
|
|
*/
|
2016-09-26 09:28:47 +00:00
|
|
|
module.exports = new Class
|
2015-01-23 13:09:30 +00:00
|
|
|
({
|
2016-09-26 09:28:47 +00:00
|
|
|
Extends: Stmt
|
2015-01-23 13:09:30 +00:00
|
|
|
|
|
|
|
,expr: []
|
|
|
|
|
|
|
|
,addField: function (fieldName)
|
|
|
|
{
|
2016-09-26 09:28:47 +00:00
|
|
|
this.expr.push (new Field ({name: fieldName}));
|
2015-01-23 13:09:30 +00:00
|
|
|
}
|
|
|
|
|
2017-11-13 16:36:30 +00:00
|
|
|
,render: function (params)
|
2015-01-23 13:09:30 +00:00
|
|
|
{
|
2017-11-16 14:53:20 +00:00
|
|
|
return 'SELECT '
|
2017-11-13 16:36:30 +00:00
|
|
|
+ this.renderListWs (this.expr, params, ', ')
|
2017-11-16 14:53:20 +00:00
|
|
|
+ ' FROM'
|
|
|
|
+ this.renderTarget (params)
|
|
|
|
+ this.renderIfSet (this.where, 'WHERE', params)
|
|
|
|
+ this.renderLimit (params);
|
2015-01-23 13:09:30 +00:00
|
|
|
}
|
|
|
|
});
|