File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -542,6 +542,7 @@ Postgres.prototype.visitOverlap = function(overlap) {
542542} ;
543543
544544Postgres . prototype . visitQuery = function ( queryNode ) {
545+ if ( this . _queryNode ) return this . visitSubquery ( queryNode ) ;
545546 this . _queryNode = queryNode ;
546547 // need to sort the top level query nodes on visitation priority
547548 // so select/insert/update/delete comes before from comes before where
Original file line number Diff line number Diff line change 33var Harness = require ( './support' ) ;
44var customer = Harness . defineCustomerTable ( ) ;
55var user = Harness . defineUserTable ( ) ;
6+ var post = Harness . definePostTable ( ) ;
67var Sql = require ( '../../lib' ) ;
78
9+ Harness . test ( {
10+ query : user . select ( user . name ) . where ( user . id . in ( post . select ( post . userId ) ) ) ,
11+ pg : {
12+ text : 'SELECT "user"."name" FROM "user" WHERE ("user"."id" IN (SELECT "post"."userId" FROM "post"))' ,
13+ string : 'SELECT "user"."name" FROM "user" WHERE ("user"."id" IN (SELECT "post"."userId" FROM "post"))'
14+ } ,
15+ sqlite : {
16+ text : 'SELECT "user"."name" FROM "user" WHERE ("user"."id" IN (SELECT "post"."userId" FROM "post"))' ,
17+ string : 'SELECT "user"."name" FROM "user" WHERE ("user"."id" IN (SELECT "post"."userId" FROM "post"))'
18+ } ,
19+ mysql : {
20+ text : 'SELECT `user`.`name` FROM `user` WHERE (`user`.`id` IN (SELECT `post`.`userId` FROM `post`))' ,
21+ string : 'SELECT `user`.`name` FROM `user` WHERE (`user`.`id` IN (SELECT `post`.`userId` FROM `post`))'
22+ } ,
23+ mssql : {
24+ text : 'SELECT [user].[name] FROM [user] WHERE ([user].[id] IN (SELECT [post].[userId] FROM [post]))' ,
25+ string : 'SELECT [user].[name] FROM [user] WHERE ([user].[id] IN (SELECT [post].[userId] FROM [post]))' ,
26+ } ,
27+ oracle : {
28+ text : 'SELECT "user"."name" FROM "user" WHERE ("user"."id" IN (SELECT "post"."userId" FROM "post"))' ,
29+ string : 'SELECT "user"."name" FROM "user" WHERE ("user"."id" IN (SELECT "post"."userId" FROM "post"))'
30+ } ,
31+ params : [ ]
32+ } )
33+
834Harness . test ( {
935 query : user . name . in (
1036 customer . subQuery ( ) . select ( customer . name ) . where (
You can’t perform that action at this time.
0 commit comments