@@ -143,7 +143,7 @@ simple query:
143143>>> type Schema = '["tab" ::: 'Table ('[] :=> Columns)]
144144>>> :{
145145let
146− query :: Query '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
146+ query :: Query '[] '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
147147 query = select Star (from (table #tab))
148148in printSQL query
149149:}
@@ -153,7 +153,7 @@ restricted query:
153153
154154>>> :{
155155let
156− query :: Query '[] (Public Schema) '[] '["sum" ::: 'NotNull 'PGint4, "col1" ::: 'NotNull 'PGint4]
156+ query :: Query '[] '[] (Public Schema) '[] '["sum" ::: 'NotNull 'PGint4, "col1" ::: 'NotNull 'PGint4]
157157 query =
158158 select_ ((#col1 + #col2) `as` #sum :* #col1)
159159 ( from (table #tab)
@@ -167,7 +167,7 @@ subquery:
167167
168168>>> :{
169169let
170− query :: Query '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
170+ query :: Query '[] '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
171171 query = select Star (from (subquery (select Star (from (table #tab)) `as` #sub)))
172172in printSQL query
173173:}
@@ -177,7 +177,7 @@ limits and offsets:
177177
178178>>> :{
179179let
180− query :: Query '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
180+ query :: Query '[] '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
181181 query = select Star (from (table #tab) & limit 100 & offset 2 & limit 50 & offset 2)
182182in printSQL query
183183:}
@@ -187,7 +187,7 @@ parameterized query:
187187
188188>>> :{
189189let
190− query :: Query '[] (Public Schema) '[ 'NotNull 'PGint4] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
190+ query :: Query '[] '[] (Public Schema) '[ 'NotNull 'PGint4] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
191191 query = select Star (from (table #tab) & where_ (#col1 .> param @1))
192192in printSQL query
193193:}
@@ -197,7 +197,7 @@ aggregation query:
197197
198198>>> :{
199199let
200− query :: Query '[] (Public Schema) '[] '["sum" ::: 'NotNull 'PGint4, "col1" ::: 'NotNull 'PGint4 ]
200+ query :: Query '[] '[] (Public Schema) '[] '["sum" ::: 'NotNull 'PGint4, "col1" ::: 'NotNull 'PGint4 ]
201201 query =
202202 select_ (sum_ (All #col2) `as` #sum :* #col1)
203203 ( from (table (#tab `as` #table1))
@@ -211,7 +211,7 @@ sorted query:
211211
212212>>> :{
213213let
214− query :: Query '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
214+ query :: Query '[] '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
215215 query = select Star (from (table #tab) & orderBy [#col1 & Asc])
216216in printSQL query
217217:}
@@ -248,7 +248,7 @@ type OrdersSchema =
248248
249249>>> :{
250250let
251− query :: Query '[] (Public OrdersSchema)
251+ query :: Query '[] '[] (Public OrdersSchema)
252252 '[]
253253 '[ "order_price" ::: 'NotNull 'PGfloat4
254254 , "customer_name" ::: 'NotNull 'PGtext
@@ -271,7 +271,7 @@ self-join:
271271
272272>>> :{
273273let
274− query :: Query '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
274+ query :: Query '[] '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
275275 query = select (#t1 & DotStar) (from (table (#tab `as` #t1) & crossJoin (table (#tab `as` #t2))))
276276in printSQL query
277277:}
@@ -281,7 +281,7 @@ value queries:
281281
282282>>> :{
283283let
284− query :: Query outer commons schemas '[] '["foo" ::: 'NotNull 'PGint2, "bar" ::: 'NotNull 'PGbool]
284+ query :: Query '[] commons schemas '[] '["foo" ::: 'NotNull 'PGint2, "bar" ::: 'NotNull 'PGbool]
285285 query = values (1 `as` #foo :* true `as` #bar) [2 `as` #foo :* false `as` #bar]
286286in printSQL query
287287:}
@@ -291,7 +291,7 @@ set operations:
291291
292292>>> :{
293293let
294− query :: Query '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
294+ query :: Query '[] '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
295295 query = select Star (from (table #tab)) `unionAll` select Star (from (table #tab))
296296in printSQL query
297297:}
@@ -301,7 +301,7 @@ with queries:
301301
302302>>> :{
303303let
304− query :: Query '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
304+ query :: Query '[] '[] (Public Schema) '[] '["col1" ::: 'NotNull 'PGint4, "col2" ::: 'NotNull 'PGint4]
305305 query = with (
306306 select Star (from (table #tab)) `as` #cte1 :>>
307307 select Star (from (common #cte1)) `as` #cte2
@@ -314,7 +314,7 @@ window function queries
314314
315315>>> :{
316316let
317− query :: Query '[] (Public Schema) '[] ["col1" ::: 'NotNull 'PGint4, "rank" ::: 'NotNull 'PGint8]
317+ query :: Query '[] '[] (Public Schema) '[] ["col1" ::: 'NotNull 'PGint4, "rank" ::: 'NotNull 'PGint8]
318318 query = select
319319 (#col1 & Also (rank `as` #rank `Over` (partitionBy #col1 & orderBy [#col2 & Asc])))
320320 (from (table #tab))
@@ -1061,7 +1061,7 @@ instance RenderSQL (HavingClause outer grp commons schemas params from) where
10611061unsafeSubqueryExpression
10621062 :: ByteString
10631063 -> Expression outer grp commons schemas params from ty
1064− -> Query from commons schemas params '[alias ::: ty]
1064+ -> Query (Join outer from) commons schemas params '[alias ::: ty]
10651065 -> Expression outer grp commons schemas params from (nullity 'PGbool)
10661066unsafeSubqueryExpression op x q = UnsafeExpression $
10671067 renderSQL x <+> op <+> parenthesized (renderSQL q)
@@ -1070,7 +1070,7 @@ unsafeRowSubqueryExpression
10701070 :: SListI row
10711071 => ByteString
10721072 -> NP (Aliased (Expression outer grp commons schemas params from)) row
1073− -> Query from commons schemas params row
1073+ -> Query (Join outer from) commons schemas params row
10741074 -> Expression outer grp commons schemas params from (nullity 'PGbool)
10751075unsafeRowSubqueryExpression op xs q = UnsafeExpression $
10761076 renderSQL (row xs) <+> op <+> parenthesized (renderSQL q)
@@ -1085,7 +1085,7 @@ unsafeRowSubqueryExpression op xs q = UnsafeExpression $
10851085-- TRUE IN (SELECT * FROM (VALUES (TRUE)) AS t ("foo"))
10861086in_
10871087 :: Expression outer grp commons schemas params from ty -- ^ expression
1088− -> Query from commons schemas params '[alias ::: ty] -- ^ subquery
1088+ -> Query (Join outer from) commons schemas params '[alias ::: ty] -- ^ subquery
10891089 -> Expression outer grp commons schemas params from (nullity 'PGbool)
10901090in_ = unsafeSubqueryExpression "IN"
10911091
@@ -1106,7 +1106,7 @@ ROW(1, FALSE) IN (SELECT * FROM (VALUES (1, FALSE)) AS t ("foo", "bar"))
11061106rowIn
11071107 :: SListI row
11081108 => NP (Aliased (Expression outer grp commons schemas params from)) row -- ^ row constructor
1109− -> Query from commons schemas params row -- ^ subquery
1109+ -> Query (Join outer from) commons schemas params row -- ^ subquery
11101110 -> Expression outer grp commons schemas params from (nullity 'PGbool)
11111111rowIn = unsafeRowSubqueryExpression "IN"
11121112
@@ -1114,7 +1114,7 @@ rowIn = unsafeRowSubqueryExpression "IN"
11141114-- TRUE = ALL (SELECT * FROM (VALUES (TRUE)) AS t ("foo"))
11151115eqAll
11161116 :: Expression outer grp commons schemas params from ty -- ^ expression
1117− -> Query from commons schemas params '[alias ::: ty] -- ^ subquery
1117+ -> Query (Join outer from) commons schemas params '[alias ::: ty] -- ^ subquery
11181118 -> Expression outer grp commons schemas params from (nullity 'PGbool)
11191119eqAll = unsafeSubqueryExpression "= ALL"
11201120
@@ -1124,7 +1124,7 @@ eqAll = unsafeSubqueryExpression "= ALL"
11241124rowEqAll
11251125 :: SListI row
11261126 => NP (Aliased (Expression outer grp commons schemas params from)) row -- ^ row constructor
1127− -> Query from commons schemas params row -- ^ subquery
1127+ -> Query (Join outer from) commons schemas params row -- ^ subquery
11281128 -> Expression outer grp commons schemas params from (nullity 'PGbool)
11291129rowEqAll = unsafeRowSubqueryExpression "= ALL"
11301130
@@ -1132,7 +1132,7 @@ rowEqAll = unsafeRowSubqueryExpression "= ALL"
11321132-- TRUE = ANY (SELECT * FROM (VALUES (TRUE)) AS t ("foo"))
11331133eqAny
11341134 :: Expression outer grp commons schemas params from ty -- ^ expression
1135− -> Query from commons schemas params '[alias ::: ty] -- ^ subquery
1135+ -> Query (Join outer from) commons schemas params '[alias ::: ty] -- ^ subquery
11361136 -> Expression outer grp commons schemas params from (nullity 'PGbool)
11371137eqAny = unsafeSubqueryExpression "= ANY"
11381138
@@ -1142,7 +1142,7 @@ eqAny = unsafeSubqueryExpression "= ANY"
11421142rowEqAny
11431143 :: SListI row
11441144 => NP (Aliased (Expression outer grp commons schemas params from)) row -- ^ row constructor
1145− -> Query from commons schemas params row -- ^ subquery
1145+ -> Query (Join outer from) commons schemas params row -- ^ subquery
11461146 -> Expression outer grp commons schemas params from (nullity 'PGbool)
11471147rowEqAny = unsafeRowSubqueryExpression "= ANY"
11481148
@@ -1150,7 +1150,7 @@ rowEqAny = unsafeRowSubqueryExpression "= ANY"
11501150-- TRUE <> ALL (SELECT * FROM (VALUES (TRUE)) AS t ("foo"))
11511151neqAll
11521152 :: Expression outer grp commons schemas params from ty -- ^ expression
1153− -> Query from commons schemas params '[alias ::: ty] -- ^ subquery
1153+ -> Query (Join outer from) commons schemas params '[alias ::: ty] -- ^ subquery
11541154 -> Expression outer grp commons schemas params from (nullity 'PGbool)
11551155neqAll = unsafeSubqueryExpression "<> ALL"
11561156
@@ -1160,7 +1160,7 @@ neqAll = unsafeSubqueryExpression "<> ALL"
11601160rowNeqAll
11611161 :: SListI row
11621162 => NP (Aliased (Expression outer grp commons schemas params from)) row -- ^ row constructor
1163− -> Query from commons schemas params row -- ^ subquery
1163+ -> Query (Join outer from) commons schemas params row -- ^ subquery
11641164 -> Expression outer grp commons schemas params from (nullity 'PGbool)
11651165rowNeqAll = unsafeRowSubqueryExpression "<> ALL"
11661166
@@ -1168,7 +1168,7 @@ rowNeqAll = unsafeRowSubqueryExpression "<> ALL"
11681168-- TRUE <> ANY (SELECT * FROM (VALUES (TRUE)) AS t ("foo"))
11691169neqAny
11701170 :: Expression outer grp commons schemas params from ty -- ^ expression
1171− -> Query from commons schemas params '[alias ::: ty] -- ^ subquery
1171+ -> Query (Join outer from) commons schemas params '[alias ::: ty] -- ^ subquery
11721172 -> Expression outer grp commons schemas params from (nullity 'PGbool)
11731173neqAny = unsafeSubqueryExpression "<> ANY"
11741174
@@ -1178,7 +1178,7 @@ neqAny = unsafeSubqueryExpression "<> ANY"
11781178rowNeqAny
11791179 :: SListI row
11801180 => NP (Aliased (Expression outer grp commons schemas params from)) row -- ^ row constructor
1181− -> Query from commons schemas params row -- ^ subquery
1181+ -> Query (Join outer from) commons schemas params row -- ^ subquery
11821182 -> Expression outer grp commons schemas params from (nullity 'PGbool)
11831183rowNeqAny = unsafeRowSubqueryExpression "<> ANY"
11841184
@@ -1186,7 +1186,7 @@ rowNeqAny = unsafeRowSubqueryExpression "<> ANY"
11861186-- TRUE ALL < (SELECT * FROM (VALUES (TRUE)) AS t ("foo"))
11871187allLt
11881188 :: Expression outer grp commons schemas params from ty -- ^ expression
1189− -> Query from commons schemas params '[alias ::: ty] -- ^ subquery
1189+ -> Query (Join outer from) commons schemas params '[alias ::: ty] -- ^ subquery
11901190 -> Expression outer grp commons schemas params from (nullity 'PGbool)
11911191allLt = unsafeSubqueryExpression "ALL <"
11921192
@@ -1196,7 +1196,7 @@ allLt = unsafeSubqueryExpression "ALL <"
11961196rowLtAll
11971197 :: SListI row
11981198 => NP (Aliased (Expression outer grp commons schemas params from)) row -- ^ row constructor
1199− -> Query from commons schemas params row -- ^ subquery
1199+ -> Query (Join outer from) commons schemas params row -- ^ subquery
12001200 -> Expression outer grp commons schemas params from (nullity 'PGbool)
12011201rowLtAll = unsafeRowSubqueryExpression "ALL <"
12021202
@@ -1204,7 +1204,7 @@ rowLtAll = unsafeRowSubqueryExpression "ALL <"
12041204-- TRUE ANY < (SELECT * FROM (VALUES (TRUE)) AS t ("foo"))
12051205ltAny
12061206 :: Expression outer grp commons schemas params from ty -- ^ expression
1207− -> Query from commons schemas params '[alias ::: ty] -- ^ subquery
1207+ -> Query (Join outer from) commons schemas params '[alias ::: ty] -- ^ subquery
12081208 -> Expression outer grp commons schemas params from (nullity 'PGbool)
12091209ltAny = unsafeSubqueryExpression "ANY <"
12101210
@@ -1214,7 +1214,7 @@ ltAny = unsafeSubqueryExpression "ANY <"
12141214rowLtAny
12151215 :: SListI row
12161216 => NP (Aliased (Expression outer grp commons schemas params from)) row -- ^ row constructor
1217− -> Query from commons schemas params row -- ^ subquery
1217+ -> Query (Join outer from) commons schemas params row -- ^ subquery
12181218 -> Expression outer grp commons schemas params from (nullity 'PGbool)
12191219rowLtAny = unsafeRowSubqueryExpression "ANY <"
12201220
@@ -1222,7 +1222,7 @@ rowLtAny = unsafeRowSubqueryExpression "ANY <"
12221222-- TRUE <= ALL (SELECT * FROM (VALUES (TRUE)) AS t ("foo"))
12231223lteAll
12241224 :: Expression outer grp commons schemas params from ty -- ^ expression
1225− -> Query from commons schemas params '[alias ::: ty] -- ^ subquery
1225+ -> Query (Join outer from) commons schemas params '[alias ::: ty] -- ^ subquery
12261226 -> Expression outer grp commons schemas params from (nullity 'PGbool)
12271227lteAll = unsafeSubqueryExpression "<= ALL"
12281228
@@ -1232,7 +1232,7 @@ lteAll = unsafeSubqueryExpression "<= ALL"
12321232rowLteAll
12331233 :: SListI row
12341234 => NP (Aliased (Expression outer grp commons schemas params from)) row -- ^ row constructor
1235− -> Query from commons schemas params row -- ^ subquery
1235+ -> Query (Join outer from) commons schemas params row -- ^ subquery
12361236 -> Expression outer grp commons schemas params from (nullity 'PGbool)
12371237rowLteAll = unsafeRowSubqueryExpression "<= ALL"
12381238
@@ -1240,7 +1240,7 @@ rowLteAll = unsafeRowSubqueryExpression "<= ALL"
12401240-- TRUE <= ANY (SELECT * FROM (VALUES (TRUE)) AS t ("foo"))
12411241lteAny
12421242 :: Expression outer grp commons schemas params from ty -- ^ expression
1243− -> Query from commons schemas params '[alias ::: ty] -- ^ subquery
1243+ -> Query (Join outer from) commons schemas params '[alias ::: ty] -- ^ subquery
12441244 -> Expression outer grp commons schemas params from (nullity 'PGbool)
12451245lteAny = unsafeSubqueryExpression "<= ANY"
12461246
@@ -1250,7 +1250,7 @@ lteAny = unsafeSubqueryExpression "<= ANY"
12501250rowLteAny
12511251 :: SListI row
12521252 => NP (Aliased (Expression outer grp commons schemas params from)) row -- ^ row constructor
1253− -> Query from commons schemas params row -- ^ subquery
1253+ -> Query (Join outer from) commons schemas params row -- ^ subquery
12541254 -> Expression outer grp commons schemas params from (nullity 'PGbool)
12551255rowLteAny = unsafeRowSubqueryExpression "<= ANY"
12561256
@@ -1258,7 +1258,7 @@ rowLteAny = unsafeRowSubqueryExpression "<= ANY"
12581258-- TRUE > ALL (SELECT * FROM (VALUES (TRUE)) AS t ("foo"))
12591259gtAll
12601260 :: Expression outer grp commons schemas params from ty -- ^ expression
1261− -> Query from commons schemas params '[alias ::: ty] -- ^ subquery
1261+ -> Query (Join outer from) commons schemas params '[alias ::: ty] -- ^ subquery
12621262 -> Expression outer grp commons schemas params from (nullity 'PGbool)
12631263gtAll = unsafeSubqueryExpression "> ALL"
12641264
@@ -1268,7 +1268,7 @@ gtAll = unsafeSubqueryExpression "> ALL"
12681268rowGtAll
12691269 :: SListI row
12701270 => NP (Aliased (Expression outer grp commons schemas params from)) row -- ^ row constructor
1271− -> Query from commons schemas params row -- ^ subquery
1271+ -> Query (Join outer from) commons schemas params row -- ^ subquery
12721272 -> Expression outer grp commons schemas params from (nullity 'PGbool)
12731273rowGtAll = unsafeRowSubqueryExpression "> ALL"
12741274
@@ -1276,7 +1276,7 @@ rowGtAll = unsafeRowSubqueryExpression "> ALL"
12761276-- TRUE > ANY (SELECT * FROM (VALUES (TRUE)) AS t ("foo"))
12771277gtAny
12781278 :: Expression outer grp commons schemas params from ty -- ^ expression
1279− -> Query from commons schemas params '[alias ::: ty] -- ^ subquery
1279+ -> Query (Join outer from) commons schemas params '[alias ::: ty] -- ^ subquery
12801280 -> Expression outer grp commons schemas params from (nullity 'PGbool)
12811281gtAny = unsafeSubqueryExpression "> ANY"
12821282
@@ -1286,7 +1286,7 @@ gtAny = unsafeSubqueryExpression "> ANY"
12861286rowGtAny
12871287 :: SListI row
12881288 => NP (Aliased (Expression outer grp commons schemas params from)) row -- ^ row constructor
1289− -> Query from commons schemas params row -- ^ subquery
1289+ -> Query (Join outer from) commons schemas params row -- ^ subquery
12901290 -> Expression outer grp commons schemas params from (nullity 'PGbool)
12911291rowGtAny = unsafeRowSubqueryExpression "> ANY"
12921292
@@ -1294,7 +1294,7 @@ rowGtAny = unsafeRowSubqueryExpression "> ANY"
12941294-- TRUE >= ALL (SELECT * FROM (VALUES (TRUE)) AS t ("foo"))
12951295gteAll
12961296 :: Expression outer grp commons schemas params from ty -- ^ expression
1297− -> Query from commons schemas params '[alias ::: ty] -- ^ subquery
1297+ -> Query (Join outer from) commons schemas params '[alias ::: ty] -- ^ subquery
12981298 -> Expression outer grp commons schemas params from (nullity 'PGbool)
12991299gteAll = unsafeSubqueryExpression ">= ALL"
13001300
@@ -1304,7 +1304,7 @@ gteAll = unsafeSubqueryExpression ">= ALL"
13041304rowGteAll
13051305 :: SListI row
13061306 => NP (Aliased (Expression outer grp commons schemas params from)) row -- ^ row constructor
1307− -> Query from commons schemas params row -- ^ subquery
1307+ -> Query (Join outer from) commons schemas params row -- ^ subquery
13081308 -> Expression outer grp commons schemas params from (nullity 'PGbool)
13091309rowGteAll = unsafeRowSubqueryExpression ">= ALL"
13101310
@@ -1312,7 +1312,7 @@ rowGteAll = unsafeRowSubqueryExpression ">= ALL"
13121312-- TRUE >= ANY (SELECT * FROM (VALUES (TRUE)) AS t ("foo"))
13131313gteAny
13141314 :: Expression outer grp commons schemas params from ty -- ^ expression
1315− -> Query from commons schemas params '[alias ::: ty] -- ^ subquery
1315+ -> Query (Join outer from) commons schemas params '[alias ::: ty] -- ^ subquery
13161316 -> Expression outer grp commons schemas params from (nullity 'PGbool)
13171317gteAny = unsafeSubqueryExpression ">= ANY"
13181318
@@ -1322,7 +1322,7 @@ gteAny = unsafeSubqueryExpression ">= ANY"
13221322rowGteAny
13231323 :: SListI row
13241324 => NP (Aliased (Expression outer grp commons schemas params from)) row -- ^ row constructor
1325− -> Query from commons schemas params row -- ^ subquery
1325+ -> Query (Join outer from) commons schemas params row -- ^ subquery
13261326 -> Expression outer grp commons schemas params from (nullity 'PGbool)
13271327rowGteAny = unsafeRowSubqueryExpression ">= ANY"
13281328