@@ -210794,7 +210794,7 @@ run();
210794
210794
210795
210795
210796
210796
// Generated by CoffeeScript 1.7.1
210797
- var Database, NULL, SQLite, Statement, apiTemp, i, sqlite3_bind_blob, sqlite3_bind_double, sqlite3_bind_int, sqlite3_bind_parameter_index, sqlite3_bind_text, sqlite3_clear_bindings, sqlite3_close_v2, sqlite3_column_blob, sqlite3_column_bytes, sqlite3_column_double, sqlite3_column_name, sqlite3_column_text, sqlite3_column_type, sqlite3_data_count, sqlite3_errmsg, sqlite3_exec, sqlite3_finalize, sqlite3_free, sqlite3_open, sqlite3_prepare_v2, sqlite3_reset, sqlite3_step;
210797
+ var Database, NULL, SQLite, Statement, apiTemp, i, sqlite3_bind_blob, sqlite3_bind_double, sqlite3_bind_int, sqlite3_bind_parameter_index, sqlite3_bind_text, sqlite3_clear_bindings, sqlite3_close_v2, sqlite3_column_blob, sqlite3_column_bytes, sqlite3_column_double, sqlite3_column_name, sqlite3_column_text, sqlite3_column_type, sqlite3_data_count, sqlite3_errmsg, sqlite3_exec, sqlite3_finalize, sqlite3_free, sqlite3_open, sqlite3_prepare_v2, sqlite3_prepare_v2_sqlptr, sqlite3_reset, sqlite3_step;
210798
210798
210799
210799
apiTemp = Runtime.stackAlloc(4);
210800
210800
@@ -211238,24 +211238,25 @@ Database = (function() {
211238
211238
*/
211239
211239
211240
211240
Database.prototype['exec'] = function(sql) {
211241
- var curresult, err, results, sqlstr, stmt, _i, _len, _ref ;
211241
+ var curresult, nextSqlPtr, pStmt, pzTail, results, stack, stmt ;
211242
211242
if (!this.db) {
211243
211243
throw "Database closed";
211244
211244
}
211245
+ stack = Runtime.stackSave();
211246
+ nextSqlPtr = Runtime.stackAlloc(sql.length << 2 + 1);
211247
+ writeStringToMemory(sql, nextSqlPtr);
211248
+ pzTail = Runtime.stackAlloc(4);
211245
211249
results = [];
211246
- _ref = sql.split(';');
211247
- for (_i = 0, _len = _ref.length; _i < _len; _i++) {
211248
- sqlstr = _ref[_i];
211249
- try {
211250
- stmt = this['prepare'](sqlstr);
211251
- } catch (_error) {
211252
- err = _error;
211253
- if (err === 'Nothing to prepare') {
211254
- continue;
211255
- } else {
211256
- throw err;
211257
- }
211250
+ while (getValue(nextSqlPtr, 'i8') !== NULL) {
211251
+ setValue(apiTemp, 0, 'i32');
211252
+ setValue(pzTail, 0, 'i32');
211253
+ this.handleError(sqlite3_prepare_v2_sqlptr(this.db, nextSqlPtr, -1, apiTemp, pzTail));
211254
+ pStmt = getValue(apiTemp, 'i32');
211255
+ nextSqlPtr = getValue(pzTail, 'i32');
211256
+ if (pStmt === NULL) {
211257
+ continue;
211258
211258
}
211259
+ stmt = new Statement(pStmt, this);
211259
211260
curresult = null;
211260
211261
while (stmt['step']()) {
211261
211262
if (curresult === null) {
@@ -211269,6 +211270,7 @@ Database = (function() {
211269
211270
}
211270
211271
stmt['free']();
211271
211272
}
211273
+ Runtime.stackRestore(stack);
211272
211274
return results;
211273
211275
};
211274
211276
@@ -211411,6 +211413,8 @@ sqlite3_free = Module['cwrap']('sqlite3_free', '', ['number']);
211411
211413
211412
211414
sqlite3_prepare_v2 = Module['cwrap']('sqlite3_prepare_v2', 'number', ['number', 'string', 'number', 'number', 'number']);
211413
211415
211416
+ sqlite3_prepare_v2_sqlptr = Module['cwrap']('sqlite3_prepare_v2', 'number', ['number', 'number', 'number', 'number', 'number']);
211417
+
211414
211418
sqlite3_bind_text = Module['cwrap']('sqlite3_bind_text', 'number', ['number', 'number', 'number', 'number', 'number']);
211415
211419
211416
211420
sqlite3_bind_blob = Module['cwrap']('sqlite3_bind_blob', 'number', ['number', 'number', 'number', 'number', 'number']);
0 commit comments