0
1
Fork 0
hedera-web-mindshore/package/usr/share/hedera-web/js/sql/multi-stmt.js

53 lines
762 B
JavaScript
Executable File

/**
* The equivalent of a SQL multi statement.
**/
Sql.MultiStmt = new Class
({
Extends: Sql.Stmt
,stmts: []
,addStmt: function (stmt)
{
stmt.on ('changed', this.stmtChanged.bind (this));
return this.stmts.push (stmt);
}
,getStmt: function (stmtIndex)
{
return this.stmts[index];
}
,stmtChanged: function ()
{
this.signalEmit ('changed');
}
,isReady: function ()
{
if (this.stmts.length == 0)
return false;
for (var i = 0; i < this.stmts.length; i++)
if (!this.stmts[i].isReady ())
return false;
return true;
}
,render: function (batch)
{
var sql = '';
for (var i = 0; i < this.stmts.length; i++)
{
if (i > 0)
sql += ";\n";
sql += this.stmts[i].render (batch);
}
return sql;
}
});