不要怂,就是干,撸起袖子干!

Commit c96e3d22 by Mick Hansen

Merge pull request #1086 from triptec/master

Update formatNamedParameters to not match parameters starting with digit
2 parents 7bce9dcb 06055fd4
Showing with 8 additions and 1 deletions
......@@ -143,7 +143,7 @@ SqlString.format = function(sql, values, timeZone, dialect) {
}
SqlString.formatNamedParameters = function(sql, values, timeZone, dialect) {
return sql.replace(/\:(\w+)/g, function (value, key) {
return sql.replace(/\:(?!\d)(\w+)/g, function (value, key) {
if (values.hasOwnProperty(key)) {
return SqlString.escape(values[key], false, timeZone, dialect)
} else {
......
......@@ -202,6 +202,13 @@ describe(Support.getTestDialectTeaser("Sequelize"), function () {
})
})
it('replaces named parameters with the passed object and ignore those which does not qualify', function(done) {
this.sequelize.query('select :one as foo, :two as bar, \'00:00\' as baz', null, { raw: true }, { one: 1, two: 2 }).success(function(result) {
expect(result).to.deep.equal([{ foo: 1, bar: 2, baz: '00:00' }])
done()
})
})
it('replaces named parameters with the passed object using the same key twice', function(done) {
this.sequelize.query('select :one as foo, :two as bar, :one as baz', null, { raw: true }, { one: 1, two: 2 }).success(function(result) {
expect(result).to.deep.equal([{ foo: 1, bar: 2, baz: 1 }])
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!