intkeygenerator
Version:
int secuential primarykey generator for SQL Server
34 lines (25 loc) • 825 B
JavaScript
var db = require('mssql-helper');
var mssql = require('mssql');
var keyGenerator = require('./KeyGenerator');
var configured = false;
var context = {};
function setConfig(cfg){
context.dbConfig = cfg;
configured = true;
}
keyGenerator.setRangeReservationCallback(function (size, callback) {
debugger;
db.executeQuery(context, sqlUpdateNext, [{name: 'size', value : size}], function(err, recordset){
if (err) {
callback(err, null);
} else {
callback(err, recordset[0].next);
}
});
});
function getKeyGenerator(){
if (!configured) throw new Error('Debe llamar antes a setConfig');
return keyGenerator;
}
module.exports = { setConfig : setConfig, getKeyGenerator : getKeyGenerator };
var sqlUpdateNext = 'update KeyGenerator SET next = next + @size OUTPUT Deleted.*';