Comparing version 0.1.12 to 0.1.13
@@ -28,7 +28,7 @@ var util = require("util"); | ||
if (Array.isArray(val)) { | ||
return arrayToList(val, timeZone || "Z"); | ||
return arrayToList(val, timeZone || "local"); | ||
} | ||
if (util.isDate(val)) { | ||
val = dateToString(val, timeZone || "Z"); | ||
val = dateToString(val, timeZone || "local"); | ||
} else { | ||
@@ -35,0 +35,0 @@ switch (typeof val) { |
@@ -5,3 +5,3 @@ var Set = require("./Set"); | ||
function InsertQuery(Dialect) { | ||
function InsertQuery(Dialect, opts) { | ||
var sql = {}; | ||
@@ -27,3 +27,3 @@ | ||
cols.push(Dialect.escapeId(k)); | ||
vals.push(Dialect.escapeVal(sql.set[k])); | ||
vals.push(Dialect.escapeVal(sql.set[k], opts.timezone)); | ||
} | ||
@@ -30,0 +30,0 @@ query.push("(" + cols.join(", ") + ")"); |
@@ -30,12 +30,12 @@ var SelectQuery = require("./Select").SelectQuery; | ||
select: function () { | ||
return new SelectQuery(Dialect); | ||
return new SelectQuery(Dialect, opts); | ||
}, | ||
insert: function () { | ||
return new InsertQuery(Dialect); | ||
return new InsertQuery(Dialect, opts); | ||
}, | ||
update: function () { | ||
return new UpdateQuery(Dialect); | ||
return new UpdateQuery(Dialect, opts); | ||
}, | ||
remove: function () { | ||
return new RemoveQuery(Dialect); | ||
return new RemoveQuery(Dialect, opts); | ||
} | ||
@@ -42,0 +42,0 @@ }; |
@@ -5,3 +5,3 @@ var Where = require("./Where"); | ||
function RemoveQuery(Dialect) { | ||
function RemoveQuery(Dialect, opts) { | ||
var sql = { | ||
@@ -32,3 +32,3 @@ where : [], | ||
query = query.concat(Where.build(Dialect, sql.where)); | ||
query = query.concat(Where.build(Dialect, sql.where, opts)); | ||
@@ -35,0 +35,0 @@ // order |
@@ -13,3 +13,3 @@ var Where = require("./Where"); | ||
function SelectQuery(Dialect) { | ||
function SelectQuery(Dialect, opts) { | ||
var sql = { | ||
@@ -257,3 +257,3 @@ from : [], | ||
case "text": | ||
return Dialect.escapeVal(el.data); | ||
return Dialect.escapeVal(el.data, opts.timezone); | ||
default: | ||
@@ -342,3 +342,3 @@ return el; | ||
query = query.concat(Where.build(Dialect, sql.where)); | ||
query = query.concat(Where.build(Dialect, sql.where, opts)); | ||
@@ -345,0 +345,0 @@ if (sql.group_by !== null) { |
@@ -1,2 +0,4 @@ | ||
exports.build = function (Dialect, set) { | ||
exports.build = function (Dialect, set, opts) { | ||
opts = opts || {}; | ||
if (!set || set.length === 0) { | ||
@@ -12,3 +14,3 @@ return []; | ||
" = " + | ||
Dialect.escapeVal(set[k]) | ||
Dialect.escapeVal(set[k], opts.timezone) | ||
); | ||
@@ -15,0 +17,0 @@ } |
@@ -6,3 +6,3 @@ var Set = require("./Set"); | ||
function UpdateQuery(Dialect) { | ||
function UpdateQuery(Dialect, opts) { | ||
var sql = { | ||
@@ -36,4 +36,4 @@ where : [] | ||
query = query.concat(Set.build(Dialect, sql.set)); | ||
query = query.concat(Where.build(Dialect, sql.where)); | ||
query = query.concat(Set.build(Dialect, sql.set, opts)); | ||
query = query.concat(Where.build(Dialect, sql.where, opts)); | ||
@@ -40,0 +40,0 @@ return query.join(" "); |
var Helpers = require('./Helpers'); | ||
exports.build = function (Dialect, where) { | ||
exports.build = function (Dialect, where, opts) { | ||
if (where.length === 0) { | ||
@@ -11,3 +11,3 @@ return []; | ||
for (var i = 0; i < where.length; i++) { | ||
subquery = buildOrGroup(Dialect, where[i]); | ||
subquery = buildOrGroup(Dialect, where[i], opts); | ||
@@ -28,3 +28,5 @@ if (subquery !== false) { | ||
function buildOrGroup(Dialect, where) { | ||
function buildOrGroup(Dialect, where, opts) { | ||
opts = opts || {}; | ||
if (where.e) { | ||
@@ -46,3 +48,3 @@ // EXISTS | ||
"WHERE " + wheres.join(" AND ") + " " + | ||
"AND " + buildOrGroup(Dialect, { t: null, w: where.w }) + | ||
"AND " + buildOrGroup(Dialect, { t: null, w: where.w }, opts) + | ||
")" | ||
@@ -70,3 +72,3 @@ ]; | ||
for (var j = 0; j < where.w[k].length; j++) { | ||
q = buildOrGroup(Dialect, { t: where.t, w: where.w[k][j] }); | ||
q = buildOrGroup(Dialect, { t: where.t, w: where.w[k][j] }, opts); | ||
if (q !== false) { | ||
@@ -91,5 +93,5 @@ subquery.push(q); | ||
" BETWEEN " + | ||
Dialect.escapeVal(where.w[k].from) + | ||
Dialect.escapeVal(where.w[k].from, opts.timezone) + | ||
" AND " + | ||
Dialect.escapeVal(where.w[k].to) | ||
Dialect.escapeVal(where.w[k].to, opts.timezone) | ||
); | ||
@@ -101,5 +103,5 @@ break; | ||
" NOT BETWEEN " + | ||
Dialect.escapeVal(where.w[k].from) + | ||
Dialect.escapeVal(where.w[k].from, opts.timezone) + | ||
" AND " + | ||
Dialect.escapeVal(where.w[k].to) | ||
Dialect.escapeVal(where.w[k].to, opts.timezone) | ||
); | ||
@@ -111,3 +113,3 @@ break; | ||
" LIKE " + | ||
Dialect.escapeVal(where.w[k].expr) | ||
Dialect.escapeVal(where.w[k].expr, opts.timezone) | ||
); | ||
@@ -132,3 +134,3 @@ break; | ||
" " + op + " " + | ||
Dialect.escapeVal(where.w[k].val) | ||
Dialect.escapeVal(where.w[k].val, opts.timezone) | ||
); | ||
@@ -149,3 +151,3 @@ break; | ||
// ?:value | ||
return Dialect.escapeVal(where.w[k].where.escapes.shift()); | ||
return Dialect.escapeVal(where.w[k].where.escapes.shift(), opts.timezone); | ||
}); | ||
@@ -170,6 +172,6 @@ | ||
} else { | ||
query.push(buildComparisonKey(Dialect, where.t, k) + " IN " + Dialect.escapeVal(where.w[k])); | ||
query.push(buildComparisonKey(Dialect, where.t, k) + " IN " + Dialect.escapeVal(where.w[k], opts.timezone)); | ||
} | ||
} else { | ||
query.push(buildComparisonKey(Dialect, where.t, k) + " = " + Dialect.escapeVal(where.w[k])); | ||
query.push(buildComparisonKey(Dialect, where.t, k) + " = " + Dialect.escapeVal(where.w[k], opts.timezone)); | ||
} | ||
@@ -176,0 +178,0 @@ } |
@@ -9,3 +9,3 @@ { | ||
], | ||
"version": "0.1.12", | ||
"version": "0.1.13", | ||
"license": "MIT", | ||
@@ -12,0 +12,0 @@ "repository": { |
@@ -69,1 +69,27 @@ var common = require('../common'); | ||
); | ||
// Dates and Timezones | ||
var d = new Date(1378322111133); | ||
var tzOffsetMillis = (d.getTimezoneOffset() * 60 * 1000); | ||
assert.equal( | ||
dialect.escapeVal(new Date(d.getTime() + tzOffsetMillis)), | ||
"'2013-09-04 19:15:11'" | ||
); | ||
assert.equal( | ||
dialect.escapeVal(new Date(d.getTime()), 'Z'), | ||
"'2013-09-04 19:15:11'" | ||
); | ||
assert.equal( | ||
dialect.escapeVal(new Date(d.getTime()), '-0000'), | ||
"'2013-09-04 19:15:11'" | ||
); | ||
assert.equal( | ||
dialect.escapeVal(new Date(d.getTime()), '-0400'), | ||
"'2013-09-04 15:15:11'" | ||
); | ||
assert.equal( | ||
dialect.escapeVal(new Date(d.getTime())), | ||
dialect.escapeVal(new Date(d.getTime()), 'local') | ||
); |
49470
1646