Adding upstream version 22.2.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
b01402dc30
commit
f1aa09959c
148 changed files with 68457 additions and 63176 deletions
15
tests/fixtures/identity.sql
vendored
15
tests/fixtures/identity.sql
vendored
|
@ -196,10 +196,10 @@ SET LOCAL variable = value
|
|||
@"x"
|
||||
COMMIT
|
||||
USE db
|
||||
USE role x
|
||||
USE warehouse x
|
||||
USE database x
|
||||
USE schema x.y
|
||||
USE ROLE x
|
||||
USE WAREHOUSE x
|
||||
USE DATABASE x
|
||||
USE SCHEMA x.y
|
||||
NOT 1
|
||||
NOT NOT 1
|
||||
SELECT * FROM test
|
||||
|
@ -643,6 +643,7 @@ DROP MATERIALIZED VIEW x.y.z
|
|||
CACHE TABLE x
|
||||
CACHE LAZY TABLE x
|
||||
CACHE LAZY TABLE x OPTIONS('storageLevel' = 'value')
|
||||
CACHE LAZY TABLE x OPTIONS(N'storageLevel' = 'value')
|
||||
CACHE LAZY TABLE x OPTIONS('storageLevel' = 'value') AS SELECT 1
|
||||
CACHE LAZY TABLE x OPTIONS('storageLevel' = 'value') AS WITH a AS (SELECT 1) SELECT a.* FROM a
|
||||
CACHE LAZY TABLE x AS WITH a AS (SELECT 1) SELECT a.* FROM a
|
||||
|
@ -708,6 +709,7 @@ COMMENT ON COLUMN my_schema.my_table.my_column IS 'Employee ID number'
|
|||
COMMENT ON DATABASE my_database IS 'Development Database'
|
||||
COMMENT ON PROCEDURE my_proc(integer, integer) IS 'Runs a report'
|
||||
COMMENT ON TABLE my_schema.my_table IS 'Employee Information'
|
||||
COMMENT ON TABLE my_schema.my_table IS N'National String'
|
||||
WITH a AS (SELECT 1) INSERT INTO b SELECT * FROM a
|
||||
WITH a AS (SELECT * FROM b) UPDATE a SET col = 1
|
||||
WITH a AS (SELECT * FROM b) CREATE TABLE b AS SELECT * FROM a
|
||||
|
@ -785,6 +787,7 @@ ALTER TABLE baa ADD CONSTRAINT boo PRIMARY KEY (x, y) NOT ENFORCED DEFERRABLE IN
|
|||
ALTER TABLE baa ADD CONSTRAINT boo FOREIGN KEY (x, y) REFERENCES persons ON UPDATE NO ACTION ON DELETE NO ACTION MATCH FULL
|
||||
ALTER TABLE a ADD PRIMARY KEY (x, y) NOT ENFORCED
|
||||
ALTER TABLE a ADD FOREIGN KEY (x, y) REFERENCES bla
|
||||
ALTER TABLE s_ut ADD CONSTRAINT s_ut_uq UNIQUE hajo
|
||||
SELECT partition FROM a
|
||||
SELECT end FROM a
|
||||
SELECT id FROM b.a AS a QUALIFY ROW_NUMBER() OVER (PARTITION BY br ORDER BY sadf DESC) = 1
|
||||
|
@ -850,3 +853,7 @@ CAST(foo AS BPCHAR)
|
|||
values
|
||||
SELECT values
|
||||
SELECT values AS values FROM t WHERE values + 1 > 3
|
||||
SELECT truncate
|
||||
SELECT only
|
||||
TRUNCATE(a, b)
|
||||
SELECT enum
|
||||
|
|
2
tests/fixtures/optimizer/optimizer.sql
vendored
2
tests/fixtures/optimizer/optimizer.sql
vendored
|
@ -820,7 +820,7 @@ SELECT
|
|||
`TOp_TeRmS`.`refresh_date` AS `day`,
|
||||
`TOp_TeRmS`.`term` AS `top_term`,
|
||||
`TOp_TeRmS`.`rank` AS `rank`
|
||||
FROM `bigquery-public-data`.`GooGle_tReNDs`.`TOp_TeRmS` AS `TOp_TeRmS`
|
||||
FROM `bigquery-public-data.GooGle_tReNDs.TOp_TeRmS` AS `TOp_TeRmS`
|
||||
WHERE
|
||||
`TOp_TeRmS`.`rank` = 1
|
||||
AND CAST(`TOp_TeRmS`.`refresh_date` AS DATE) >= DATE_SUB(CURRENT_DATE, INTERVAL 2 WEEK)
|
||||
|
|
12
tests/fixtures/optimizer/qualify_columns.sql
vendored
12
tests/fixtures/optimizer/qualify_columns.sql
vendored
|
@ -172,6 +172,10 @@ SELECT _q_0._col_0 AS _col_0, _q_0._col_1 AS _col_1 FROM (VALUES (1, 2)) AS _q_0
|
|||
select * from (values (1, 2)) x;
|
||||
SELECT x._col_0 AS _col_0, x._col_1 AS _col_1 FROM (VALUES (1, 2)) AS x(_col_0, _col_1);
|
||||
|
||||
# execute: false
|
||||
SELECT SOME_UDF(data).* FROM t;
|
||||
SELECT SOME_UDF(t.data).* FROM t AS t;
|
||||
|
||||
--------------------------------------
|
||||
-- Derived tables
|
||||
--------------------------------------
|
||||
|
@ -333,6 +337,10 @@ WITH cte AS (SELECT 1 AS x) SELECT cte.a AS a FROM cte AS cte(a);
|
|||
WITH cte(x, y) AS (SELECT 1, 2) SELECT cte.* FROM cte AS cte(a);
|
||||
WITH cte AS (SELECT 1 AS x, 2 AS y) SELECT cte.a AS a, cte.y AS y FROM cte AS cte(a);
|
||||
|
||||
-- Cannot pop table column aliases for recursive ctes (redshift).
|
||||
WITH RECURSIVE cte(x) AS (SELECT 1), cte2(y) AS (SELECT 2) SELECT * FROM cte, cte2;
|
||||
WITH RECURSIVE cte(x) AS (SELECT 1 AS x), cte2(y) AS (SELECT 2 AS y) SELECT cte.x AS x, cte2.y AS y FROM cte AS cte, cte2 AS cte2;
|
||||
|
||||
# execute: false
|
||||
WITH player AS (SELECT player.name, player.asset.info FROM players) SELECT * FROM player;
|
||||
WITH player AS (SELECT players.player.name AS name, players.player.asset.info AS info FROM players AS players) SELECT player.name AS name, player.info AS info FROM player AS player;
|
||||
|
@ -549,6 +557,10 @@ SELECT x.a + x.b AS f, (x.a + x.b) * x.b AS _col_1 FROM x AS x;
|
|||
SELECT x.a + x.b AS f, f, f + 5 FROM x;
|
||||
SELECT x.a + x.b AS f, x.a + x.b AS _col_1, x.a + x.b + 5 AS _col_2 FROM x AS x;
|
||||
|
||||
# title: expand double agg if window func
|
||||
SELECT a, SUM(b) AS c, SUM(c) OVER(PARTITION BY a) AS d from x group by 1 ORDER BY a;
|
||||
SELECT x.a AS a, SUM(x.b) AS c, SUM(SUM(x.b)) OVER (PARTITION BY x.a) AS d FROM x AS x GROUP BY x.a ORDER BY a;
|
||||
|
||||
--------------------------------------
|
||||
-- Wrapped tables / join constructs
|
||||
--------------------------------------
|
||||
|
|
23
tests/fixtures/optimizer/qualify_tables.sql
vendored
23
tests/fixtures/optimizer/qualify_tables.sql
vendored
|
@ -19,6 +19,21 @@ SELECT 1 FROM x.y.z AS z;
|
|||
SELECT 1 FROM y.z AS z, z.a;
|
||||
SELECT 1 FROM c.y.z AS z, z.a;
|
||||
|
||||
# title: bigquery implicit unnest syntax, coordinates.position should be a column, not a table
|
||||
# dialect: bigquery
|
||||
SELECT results FROM Coordinates, coordinates.position AS results;
|
||||
SELECT results FROM c.db.Coordinates AS Coordinates, UNNEST(coordinates.position) AS results;
|
||||
|
||||
# title: bigquery implicit unnest syntax, table is already qualified
|
||||
# dialect: bigquery
|
||||
SELECT results FROM db.coordinates, Coordinates.position AS results;
|
||||
SELECT results FROM c.db.coordinates AS coordinates, UNNEST(Coordinates.position) AS results;
|
||||
|
||||
# title: bigquery schema name clashes with CTE name - this is a join, not an implicit unnest
|
||||
# dialect: bigquery
|
||||
WITH Coordinates AS (SELECT [1, 2] AS position) SELECT results FROM Coordinates, `Coordinates.position` AS results;
|
||||
WITH Coordinates AS (SELECT [1, 2] AS position) SELECT results FROM Coordinates AS Coordinates, `c.Coordinates.position` AS results;
|
||||
|
||||
# title: single cte
|
||||
WITH a AS (SELECT 1 FROM z) SELECT 1 FROM a;
|
||||
WITH a AS (SELECT 1 FROM c.db.z AS z) SELECT 1 FROM a AS a;
|
||||
|
@ -83,7 +98,7 @@ SELECT * FROM ((c.db.a AS foo CROSS JOIN c.db.b AS bar) CROSS JOIN c.db.c AS baz
|
|||
SELECT * FROM (tbl1 CROSS JOIN (SELECT * FROM tbl2) AS t1);
|
||||
SELECT * FROM (c.db.tbl1 AS tbl1 CROSS JOIN (SELECT * FROM c.db.tbl2 AS tbl2) AS t1);
|
||||
|
||||
# title: wrapped join with subquery with alias, parentheses can't be omitted because of alias
|
||||
# title: wrapped join with subquery with alias, parentheses cant be omitted because of alias
|
||||
SELECT * FROM (tbl1 CROSS JOIN (SELECT * FROM tbl2) AS t1) AS t2;
|
||||
SELECT * FROM (SELECT * FROM c.db.tbl1 AS tbl1 CROSS JOIN (SELECT * FROM c.db.tbl2 AS tbl2) AS t1) AS t2;
|
||||
|
||||
|
@ -95,7 +110,7 @@ SELECT * FROM c.db.a AS a LEFT JOIN (c.db.b AS b INNER JOIN c.db.c AS c ON c.id
|
|||
SELECT * FROM a LEFT JOIN b INNER JOIN c ON c.id = b.id ON b.id = a.id;
|
||||
SELECT * FROM c.db.a AS a LEFT JOIN c.db.b AS b INNER JOIN c.db.c AS c ON c.id = b.id ON b.id = a.id;
|
||||
|
||||
# title: parentheses can't be omitted because alias shadows inner table names
|
||||
# title: parentheses cant be omitted because alias shadows inner table names
|
||||
SELECT t.a FROM (tbl AS tbl) AS t;
|
||||
SELECT t.a FROM (SELECT * FROM c.db.tbl AS tbl) AS t;
|
||||
|
||||
|
@ -146,3 +161,7 @@ CREATE TABLE c.db.t1 AS (WITH cte AS (SELECT x FROM c.db.t2 AS t2) SELECT * FROM
|
|||
# title: insert statement with cte
|
||||
WITH cte AS (SELECT b FROM y) INSERT INTO s SELECT * FROM cte;
|
||||
WITH cte AS (SELECT b FROM c.db.y AS y) INSERT INTO c.db.s SELECT * FROM cte AS cte;
|
||||
|
||||
# title: qualify wrapped query
|
||||
(SELECT x FROM t);
|
||||
(SELECT x FROM c.db.t AS t);
|
||||
|
|
|
@ -29,3 +29,7 @@ SELECT "dual" FROM "t";
|
|||
# dialect: snowflake
|
||||
SELECT * FROM t AS dual;
|
||||
SELECT * FROM "t" AS "dual";
|
||||
|
||||
# dialect: bigquery
|
||||
SELECT `p.d.udf`(data).* FROM `p.d.t`;
|
||||
SELECT `p.d.udf`(`data`).* FROM `p.d.t`;
|
||||
|
|
BIN
tests/fixtures/optimizer/tpc-ds/call_center.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/call_center.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/catalog_page.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/catalog_page.csv.gz
vendored
Binary file not shown.
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/catalog_sales.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/catalog_sales.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/customer.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/customer.csv.gz
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/date_dim.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/date_dim.csv.gz
vendored
Binary file not shown.
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/income_band.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/income_band.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/inventory.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/inventory.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/item.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/item.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/promotion.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/promotion.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/reason.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/reason.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/ship_mode.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/ship_mode.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/store.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/store.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/store_returns.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/store_returns.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/store_sales.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/store_sales.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/time_dim.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/time_dim.csv.gz
vendored
Binary file not shown.
25
tests/fixtures/optimizer/tpc-ds/tpc-ds.sql
vendored
25
tests/fixtures/optimizer/tpc-ds/tpc-ds.sql
vendored
|
@ -1,6 +1,7 @@
|
|||
--------------------------------------
|
||||
-- TPC-DS 1
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
WITH customer_total_return
|
||||
AS (SELECT sr_customer_sk AS ctr_customer_sk,
|
||||
sr_store_sk AS ctr_store_sk,
|
||||
|
@ -219,6 +220,7 @@ ORDER BY
|
|||
--------------------------------------
|
||||
-- TPC-DS 3
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT dt.d_year,
|
||||
item.i_brand_id brand_id,
|
||||
item.i_brand brand,
|
||||
|
@ -859,6 +861,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 6
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT a.ca_state state,
|
||||
Count(*) cnt
|
||||
FROM customer_address a,
|
||||
|
@ -924,6 +927,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 7
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT i_item_id,
|
||||
Avg(ss_quantity) agg1,
|
||||
Avg(ss_list_price) agg2,
|
||||
|
@ -1247,6 +1251,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 9
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT CASE
|
||||
WHEN (SELECT Count(*)
|
||||
FROM store_sales
|
||||
|
@ -1448,6 +1453,7 @@ WHERE
|
|||
--------------------------------------
|
||||
-- TPC-DS 10
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT cd_gender,
|
||||
cd_marital_status,
|
||||
cd_education_status,
|
||||
|
@ -3056,6 +3062,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 24
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
WITH ssales
|
||||
AS (SELECT c_last_name,
|
||||
c_first_name,
|
||||
|
@ -3158,6 +3165,7 @@ HAVING
|
|||
--------------------------------------
|
||||
-- TPC-DS 25
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT i_item_id,
|
||||
i_item_desc,
|
||||
s_store_id,
|
||||
|
@ -3247,6 +3255,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 26
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT i_item_id,
|
||||
Avg(cs_quantity) agg1,
|
||||
Avg(cs_list_price) agg2,
|
||||
|
@ -3527,6 +3536,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 29
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT i_item_id,
|
||||
i_item_desc,
|
||||
s_store_id,
|
||||
|
@ -3726,6 +3736,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 31
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
WITH ss
|
||||
AS (SELECT ca_county,
|
||||
d_qoy,
|
||||
|
@ -3948,6 +3959,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 33
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
WITH ss
|
||||
AS (SELECT i_manufact_id,
|
||||
Sum(ss_ext_sales_price) total_sales
|
||||
|
@ -5014,6 +5026,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 43
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT s_store_name,
|
||||
s_store_id,
|
||||
Sum(CASE
|
||||
|
@ -6194,6 +6207,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 52
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT dt.d_year,
|
||||
item.i_brand_id brand_id,
|
||||
item.i_brand brand,
|
||||
|
@ -6357,6 +6371,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 54
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
WITH my_customers
|
||||
AS (SELECT DISTINCT c_customer_sk,
|
||||
c_current_addr_sk
|
||||
|
@ -6493,6 +6508,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 55
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT i_brand_id brand_id,
|
||||
i_brand brand,
|
||||
Sum(ss_ext_sales_price) ext_price
|
||||
|
@ -6531,6 +6547,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 56
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
WITH ss
|
||||
AS (SELECT i_item_id,
|
||||
Sum(ss_ext_sales_price) total_sales
|
||||
|
@ -7231,6 +7248,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 60
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
WITH ss
|
||||
AS (SELECT i_item_id,
|
||||
Sum(ss_ext_sales_price) total_sales
|
||||
|
@ -8012,6 +8030,7 @@ ORDER BY
|
|||
--------------------------------------
|
||||
-- TPC-DS 65
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT s_store_name,
|
||||
i_item_desc,
|
||||
sc.revenue,
|
||||
|
@ -9113,6 +9132,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 69
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT cd_gender,
|
||||
cd_marital_status,
|
||||
cd_education_status,
|
||||
|
@ -9355,6 +9375,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 71
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT i_brand_id brand_id,
|
||||
i_brand brand,
|
||||
t_hour,
|
||||
|
@ -11064,6 +11085,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 83
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
WITH sr_items
|
||||
AS (SELECT i_item_id item_id,
|
||||
Sum(sr_return_quantity) sr_item_qty
|
||||
|
@ -11262,6 +11284,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 84
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT c_customer_id AS customer_id,
|
||||
c_last_name
|
||||
|| ', '
|
||||
|
@ -11563,6 +11586,7 @@ FROM "cool_cust" AS "cool_cust";
|
|||
--------------------------------------
|
||||
-- TPC-DS 88
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
select *
|
||||
from
|
||||
(select count(*) h8_30_to_9
|
||||
|
@ -12140,6 +12164,7 @@ LIMIT 100;
|
|||
--------------------------------------
|
||||
-- TPC-DS 93
|
||||
--------------------------------------
|
||||
# execute: true
|
||||
SELECT ss_customer_sk,
|
||||
Sum(act_sales) sumsales
|
||||
FROM (SELECT ss_item_sk,
|
||||
|
|
BIN
tests/fixtures/optimizer/tpc-ds/warehouse.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/warehouse.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/web_page.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/web_page.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/web_returns.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/web_returns.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/web_sales.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/web_sales.csv.gz
vendored
Binary file not shown.
BIN
tests/fixtures/optimizer/tpc-ds/web_site.csv.gz
vendored
BIN
tests/fixtures/optimizer/tpc-ds/web_site.csv.gz
vendored
Binary file not shown.
1
tests/fixtures/optimizer/tpc-h/tpc-h.sql
vendored
1
tests/fixtures/optimizer/tpc-h/tpc-h.sql
vendored
|
@ -1047,7 +1047,6 @@ WITH "_u_0" AS (
|
|||
"lineitem"."l_orderkey" AS "l_orderkey"
|
||||
FROM "lineitem" AS "lineitem"
|
||||
GROUP BY
|
||||
"lineitem"."l_orderkey",
|
||||
"lineitem"."l_orderkey"
|
||||
HAVING
|
||||
SUM("lineitem"."l_quantity") > 300
|
||||
|
|
16
tests/fixtures/optimizer/unnest_subqueries.sql
vendored
16
tests/fixtures/optimizer/unnest_subqueries.sql
vendored
|
@ -25,6 +25,7 @@ WHERE
|
|||
AND x.a > ALL (SELECT y.c FROM y WHERE y.a = x.a)
|
||||
AND x.a > (SELECT COUNT(*) as d FROM y WHERE y.a = x.a)
|
||||
AND x.a = SUM(SELECT 1) -- invalid statement left alone
|
||||
AND x.a IN (SELECT max(y.b) AS b FROM y GROUP BY y.a)
|
||||
;
|
||||
SELECT
|
||||
*
|
||||
|
@ -155,6 +156,20 @@ LEFT JOIN (
|
|||
y.a
|
||||
) AS _u_21
|
||||
ON _u_21._u_22 = x.a
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
_q.b
|
||||
FROM (
|
||||
SELECT
|
||||
MAX(y.b) AS b
|
||||
FROM y
|
||||
GROUP BY
|
||||
y.a
|
||||
) AS _q
|
||||
GROUP BY
|
||||
_q.b
|
||||
) AS _u_24
|
||||
ON x.a = _u_24.b
|
||||
WHERE
|
||||
x.a = _u_0.a
|
||||
AND NOT _u_1.a IS NULL
|
||||
|
@ -212,6 +227,7 @@ WHERE
|
|||
AND x.a > COALESCE(_u_21.d, 0)
|
||||
AND x.a = SUM(SELECT
|
||||
1) /* invalid statement left alone */
|
||||
AND NOT _u_24.b IS NULL
|
||||
;
|
||||
SELECT
|
||||
CAST((
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue