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

Commit d8231d26 by Andreas Franzén

Update formatNamedParameters to not match parameters starting with digit

Using a query like:
query = "SELECT * FROM t WHERE create_at > CURRENT_DATE + CURRENT_TIME - time '01:30' LIMIT :limit";
Sequelize.query(query, null, {raw: true}, { limit: limit })
will fail due to "time '01:30'" where it will look for a parameter named '30'
1 parent 7bce9dcb
Showing with 1 additions and 1 deletions
...@@ -143,7 +143,7 @@ SqlString.format = function(sql, values, timeZone, dialect) { ...@@ -143,7 +143,7 @@ SqlString.format = function(sql, values, timeZone, dialect) {
} }
SqlString.formatNamedParameters = 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)) { if (values.hasOwnProperty(key)) {
return SqlString.escape(values[key], false, timeZone, dialect) return SqlString.escape(values[key], false, timeZone, dialect)
} else { } else {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!