33var Harness = require ( './support' ) ;
44var post = Harness . definePostTable ( ) ;
55var customerAlias = Harness . defineCustomerAliasTable ( ) ;
6+ var Sql = require ( '../../lib' ) ;
67
78Harness . test ( {
89 query : post . select ( post . id ) . select ( post . content ) ,
@@ -52,4 +53,105 @@ Harness.test({
5253 string : 'SELECT "customer"."id" "id_alias", "customer"."name" "name_alias", "customer"."age" "age_alias", "customer"."income" "income_alias", "customer"."metadata" "metadata_alias" FROM "customer"'
5354 } ,
5455 params : [ ]
55- } ) ;
56+ } ) ;
57+
58+ // Test that we can generate a SELECT claus without a FROM clause
59+ Harness . test ( {
60+ query : Sql . select ( ) ,
61+ pg : {
62+ text : 'SELECT ' ,
63+ string : 'SELECT '
64+ } ,
65+ sqlite : {
66+ text : 'SELECT ' ,
67+ string : 'SELECT '
68+ } ,
69+ mysql : {
70+ text : 'SELECT ' ,
71+ string : 'SELECT '
72+ } ,
73+ mssql : {
74+ text : 'SELECT ' ,
75+ string : 'SELECT '
76+ } ,
77+ oracle : {
78+ text : 'SELECT ' ,
79+ string : 'SELECT '
80+ } ,
81+ params : [ ]
82+ } ) ;
83+
84+ Harness . test ( {
85+ query : Sql . select ( "1" ) . where ( "1=1" ) ,
86+ pg : {
87+ text : 'SELECT 1 WHERE (1=1)' ,
88+ string : 'SELECT 1 WHERE (1=1)'
89+ } ,
90+ sqlite : {
91+ text : 'SELECT 1 WHERE (1=1)' ,
92+ string : 'SELECT 1 WHERE (1=1)'
93+ } ,
94+ mysql : {
95+ text : 'SELECT 1 WHERE (1=1)' ,
96+ string : 'SELECT 1 WHERE (1=1)'
97+ } ,
98+ mssql : {
99+ text : 'SELECT 1 WHERE (1=1)' ,
100+ string : 'SELECT 1 WHERE (1=1)'
101+ } ,
102+ oracle : {
103+ text : 'SELECT 1 WHERE (1=1)' ,
104+ string : 'SELECT 1 WHERE (1=1)'
105+ } ,
106+ params : [ ]
107+ } ) ;
108+
109+ Harness . test ( {
110+ query : Sql . select ( post . select ( post . id ) ) ,
111+ pg : {
112+ text : 'SELECT (SELECT "post"."id" FROM "post")' ,
113+ string : 'SELECT (SELECT "post"."id" FROM "post")'
114+ } ,
115+ sqlite : {
116+ text : 'SELECT (SELECT "post"."id" FROM "post")' ,
117+ string : 'SELECT (SELECT "post"."id" FROM "post")'
118+ } ,
119+ mysql : {
120+ text : 'SELECT (SELECT `post`.`id` FROM `post`)' ,
121+ string : 'SELECT (SELECT `post`.`id` FROM `post`)'
122+ } ,
123+ mssql : {
124+ text : 'SELECT (SELECT [post].[id] FROM [post])' ,
125+ string : 'SELECT (SELECT [post].[id] FROM [post])'
126+ } ,
127+ oracle : {
128+ text : 'SELECT (SELECT "post"."id" FROM "post")' ,
129+ string : 'SELECT (SELECT "post"."id" FROM "post")'
130+ } ,
131+ params : [ ]
132+ } ) ;
133+
134+ Harness . test ( {
135+ query : Sql . select ( post . select ( post . content ) . plus ( post . select ( post . content ) ) ) ,
136+ pg : {
137+ text : 'SELECT ((SELECT "post"."content" FROM "post") + (SELECT "post"."content" FROM "post"))' ,
138+ string : 'SELECT ((SELECT "post"."content" FROM "post") + (SELECT "post"."content" FROM "post"))'
139+ } ,
140+ sqlite : {
141+ text : 'SELECT ((SELECT "post"."content" FROM "post") + (SELECT "post"."content" FROM "post"))' ,
142+ string : 'SELECT ((SELECT "post"."content" FROM "post") + (SELECT "post"."content" FROM "post"))'
143+ } ,
144+ mysql : {
145+ text : 'SELECT ((SELECT `post`.`content` FROM `post`) + (SELECT `post`.`content` FROM `post`))' ,
146+ string : 'SELECT ((SELECT `post`.`content` FROM `post`) + (SELECT `post`.`content` FROM `post`))'
147+ } ,
148+ mssql : {
149+ text : 'SELECT ((SELECT [post].[content] FROM [post]) + (SELECT [post].[content] FROM [post]))' ,
150+ string : 'SELECT ((SELECT [post].[content] FROM [post]) + (SELECT [post].[content] FROM [post]))'
151+ } ,
152+ oracle : {
153+ text : 'SELECT ((SELECT "post"."content" FROM "post") + (SELECT "post"."content" FROM "post"))' ,
154+ string : 'SELECT ((SELECT "post"."content" FROM "post") + (SELECT "post"."content" FROM "post"))'
155+ } ,
156+ params : [ ]
157+ } ) ;
0 commit comments