Skip to content

Commit b6c5287

Browse files
committed
fixed race condition causing incorrect IDs to be reported on INSERT
1 parent a1c2239 commit b6c5287

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

lib/mssql.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,11 @@ MsSQL.prototype.create = function (model, data, callback) {
152152
//debugger;
153153
var fieldsAndData = this.buildInsert(model, data);
154154
var tblName = this.tableEscaped(model);
155-
var sql = "INSERT INTO " + tblName + " (" + fieldsAndData.fields + ")" + MsSQL.newline;
155+
var sql = "BEGIN TRAN;" + MsSQL.newline;
156+
sql += "INSERT INTO " + tblName + " (" + fieldsAndData.fields + ")" + MsSQL.newline;
156157
sql += "VALUES (" + fieldsAndData.paramPlaceholders + ");" + MsSQL.newline;
157-
sql += "SELECT IDENT_CURRENT('" + tblName + "') AS insertId;";
158+
sql += "SELECT IDENT_CURRENT('" + tblName + "') AS insertId;" + MsSQL.newline;
159+
sql += "COMMIT TRAN;";
158160

159161
this.query(sql, fieldsAndData.params, function (err, results) {
160162
if (err) {

0 commit comments

Comments
 (0)