Skip to content

Commit f3ad141

Browse files
committed
Merge pull request #278 from barryhammen/fix/config
Fixed passing config to subquery
2 parents fb67977 + 8cb5280 commit f3ad141

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

lib/dialect/postgres.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -662,7 +662,7 @@ Postgres.prototype.visitQueryHelper=function(actions,targets,filters){
662662

663663
Postgres.prototype.visitSubquery = function(queryNode) {
664664
// create another query builder of the current class to build the subquery
665-
var subQuery = new this._myClass();
665+
var subQuery = new this._myClass(this.config);
666666

667667
// let the subquery modify this instance's params array
668668
subQuery.params = this.params;

test/dialects/subquery-tests.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,36 @@ Harness.test({
8585
params: []
8686
});
8787

88+
// Subquery with a date
89+
Harness.test({
90+
query: Sql.select('*').from(post.subQuery().where(post.content.equals(new Date('Sat, 01 Jan 2000 00:00:00 GMT')))),
91+
pg: {
92+
text : 'SELECT * FROM (SELECT * FROM "post" WHERE ("post"."content" = $1))',
93+
string: 'SELECT * FROM (SELECT * FROM "post" WHERE ("post"."content" = \'2000-01-01T00:00:00.000Z\'))'
94+
},
95+
sqlite: {
96+
text : 'SELECT * FROM (SELECT * FROM "post" WHERE ("post"."content" = $1))',
97+
string: 'SELECT * FROM (SELECT * FROM "post" WHERE ("post"."content" = 946684800000))',
98+
config: {
99+
dateTimeMillis: true
100+
}
101+
},
102+
mysql: {
103+
text : 'SELECT * FROM (SELECT * FROM `post` WHERE (`post`.`content` = ?))',
104+
string: 'SELECT * FROM (SELECT * FROM `post` WHERE (`post`.`content` = \'2000-01-01T00:00:00.000Z\'))'
105+
},
106+
mssql: {
107+
text : 'SELECT * FROM (SELECT * FROM [post] WHERE ([post].[content] = @1))',
108+
string: 'SELECT * FROM (SELECT * FROM [post] WHERE ([post].[content] = \'2000-01-01T00:00:00.000Z\'))'
109+
},
110+
oracle: {
111+
text : 'SELECT * FROM (SELECT * FROM "post" WHERE ("post"."content" = :1))',
112+
string: 'SELECT * FROM (SELECT * FROM "post" WHERE ("post"."content" = \'2000-01-01T00:00:00.000Z\'))'
113+
},
114+
params: [new Date('Sat, 01 Jan 2000 00:00:00 GMT')]
115+
});
116+
117+
88118
Harness.test({
89119
query: Sql.select('*').from(customer.subQuery('T1')).from(user.subQuery('T2')),
90120
pg: {

0 commit comments

Comments
 (0)