UNPKG

intkeygenerator

Version:

int secuential primarykey generator for SQL Server

34 lines (25 loc) 825 B
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.*';