UNPKG

allex_mssqlexecutorlib

Version:

AllexJS lib for executing queries against the MS SQL Server

27 lines (24 loc) 921 B
function createInsertAndReturnAutoIncJob (lib, outerlib, mylib) { 'use strict'; var Base = outerlib.jobs.SyncQuery; function InsertAndReturnAutoIncJob (executor, insertstring, defer) { Base.call(this, executor, insertstring+' SELECT SCOPE_IDENTITY() as insertid', defer); } lib.inherit(InsertAndReturnAutoIncJob, Base); InsertAndReturnAutoIncJob.prototype.onResult = function (res) { if ( res && lib.isArray(res.recordsets) && res.recordsets.length==1 && lib.isArray(res.recordsets[0]) && res.recordsets[0].length==1 ) { this.resolve(res.recordsets[0][0].insertid || 0); return; } console.error('INCONSISTENT_INSERT', res); this.reject(new lib.Error('INCONSISTENT_INSERT', 'Result returned from insert was incosistent')); }; mylib.InsertAndReturnAutoInc = InsertAndReturnAutoIncJob; } module.exports = createInsertAndReturnAutoIncJob;