Skip to content

Commit d869c0c

Browse files
committed
Fix replaceById bug
1 parent f1ab662 commit d869c0c

1 file changed

Lines changed: 20 additions & 2 deletions

File tree

lib/ibmdb.js

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -644,9 +644,27 @@ IBMDB.prototype.buildIndexes = function(model) {
644644
debug('IBMDB.prototype.buildIndexes %j', model);
645645
};
646646

647+
IBMDB.prototype.buildReplace = function(model, where, data, options) {
648+
debug('IBMDB.prototype.buildReplace: model=$s, where=%j, options=%j',
649+
model, where, options);
650+
var self = this;
651+
var idName = self.idName(model);
652+
var fields = self.buildFieldsForReplace(model, data);
653+
var updateClause = new ParameterizedSQL('UPDATE ' + self.tableEscaped(model));
654+
var whereClause = self.buildWhere(model, where);
655+
var selectClause = new ParameterizedSQL('SELECT COUNT(\"' + idName + '\") ' +
656+
'AS \"affectedRows\" FROM FINAL TABLE(');
657+
658+
updateClause.merge([fields, whereClause]);
659+
selectClause.merge([updateClause, ')']);
660+
661+
return (selectClause);
662+
};
663+
647664
IBMDB.prototype.getCountForAffectedRows = function(model, info) {
648-
var affectedRows = info && typeof info.affectedRows === 'number' ?
649-
info.affectedRows : undefined;
665+
var affectedRows = info && info[0] &&
666+
typeof info[0].affectedRows === 'number' ?
667+
info[0].affectedRows : undefined;
650668
return affectedRows;
651669
};
652670

0 commit comments

Comments
 (0)