hedera-web/js/sql/filter.js

45 lines
753 B
JavaScript

var Operation = require('./operation');
/**
* The equivalent of a SQL operation.
*/
module.exports = new Class({
Extends: Operation
,Tag: 'sql-filter'
,Properties: {
alwaysReady: {
type: Boolean
}
}
,isReady: function() {
if (this.alwaysReady)
return true;
var e = this.exprs.getArray();
for (var i = 0; i < e.length; i++)
if (e[i].isReady() && e[i].primary)
return true;
return false;
}
,render: function(batch) {
var isReady = false;
var newOp = new Operation({type: this.type});
var e = this.exprs.getArray();
for (var i = 0; i < e.length; i++)
if (e[i].isReady()) {
newOp.exprs.add(e[i]);
isReady = true;
}
if (!isReady)
return 'TRUE';
return newOp.render(batch);
}
});