Adding upstream version 16.2.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
577b79f5a7
commit
d61627452f
106 changed files with 41940 additions and 40162 deletions
15
tests/fixtures/identity.sql
vendored
15
tests/fixtures/identity.sql
vendored
|
@ -1,7 +1,11 @@
|
|||
SUM(1)
|
||||
SUM(CASE WHEN x > 1 THEN 1 ELSE 0 END) / y
|
||||
1
|
||||
(1)
|
||||
1.
|
||||
(1.)
|
||||
1.0
|
||||
(1.0)
|
||||
1E2
|
||||
1E+2
|
||||
1E-2
|
||||
|
@ -69,6 +73,8 @@ a.B()
|
|||
a['x'].C()
|
||||
int.x
|
||||
map.x
|
||||
SELECT update
|
||||
SELECT x.update
|
||||
SELECT call.x
|
||||
a.b.INT(1.234)
|
||||
INT(x / 100)
|
||||
|
@ -155,6 +161,7 @@ DATE(x) = DATE(y)
|
|||
TIMESTAMP(DATE(x))
|
||||
TIMESTAMP_TRUNC(COALESCE(time_field, CURRENT_TIMESTAMP()), DAY)
|
||||
COUNT(DISTINCT CASE WHEN DATE_TRUNC(DATE(time_field), isoweek) = DATE_TRUNC(DATE(time_field2), isoweek) THEN report_id ELSE NULL END)
|
||||
COUNT(a, b)
|
||||
x[y - 1]
|
||||
CASE WHEN SUM(x) > 3 THEN 1 END OVER (PARTITION BY x)
|
||||
SUM(ROW() OVER (PARTITION BY x))
|
||||
|
@ -224,6 +231,7 @@ SELECT SUM(x IGNORE NULLS) AS x
|
|||
SELECT COUNT(x RESPECT NULLS)
|
||||
SELECT TRUNCATE(a, b)
|
||||
SELECT ARRAY_AGG(DISTINCT x IGNORE NULLS ORDER BY a, b DESC LIMIT 10) AS x
|
||||
SELECT ARRAY_AGG(DISTINCT x IGNORE NULLS ORDER BY a, b DESC LIMIT 1, 10) AS x
|
||||
SELECT ARRAY_AGG(STRUCT(x, x AS y) ORDER BY z DESC) AS x
|
||||
SELECT LAST_VALUE(x IGNORE NULLS) OVER y AS x
|
||||
SELECT LAG(x) OVER (ORDER BY y) AS x
|
||||
|
@ -601,6 +609,7 @@ CREATE FUNCTION a.b.c()
|
|||
CREATE INDEX abc ON t (a)
|
||||
CREATE INDEX abc ON t (a, b, b)
|
||||
CREATE INDEX abc ON t (a NULLS LAST)
|
||||
CREATE INDEX pointloc ON points USING GIST(BOX(location, location))
|
||||
CREATE UNIQUE INDEX abc ON t (a, b, b)
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS my_idx ON tbl (a, b)
|
||||
CREATE SCHEMA x
|
||||
|
@ -671,6 +680,7 @@ INSERT INTO x VALUES (1, 'a', 2.0), (1, 'a', 3.0), (X(), y[1], z.x)
|
|||
INSERT INTO y (a, b, c) SELECT a, b, c FROM x
|
||||
INSERT INTO y (SELECT 1) UNION (SELECT 2)
|
||||
INSERT INTO result_table (WITH test AS (SELECT * FROM source_table) SELECT * FROM test)
|
||||
INSERT INTO "tests_user" ("username", "first_name", "last_name") VALUES ('fiara', 'Fiara', 'Ironhide') RETURNING "tests_user"."id"
|
||||
INSERT OVERWRITE TABLE x IF EXISTS SELECT * FROM y
|
||||
INSERT OVERWRITE TABLE a.b IF EXISTS SELECT * FROM y
|
||||
INSERT OVERWRITE DIRECTORY 'x' SELECT 1
|
||||
|
@ -805,6 +815,7 @@ PRAGMA schema.synchronous = 2
|
|||
PRAGMA schema.synchronous = FULL
|
||||
PRAGMA schema.memory_limit = '1GB'
|
||||
JSON_OBJECT()
|
||||
JSON_OBJECT(*)
|
||||
JSON_OBJECT('key1': 1, 'key2': TRUE)
|
||||
JSON_OBJECT('id': '5', 'fld1': 'bla', 'fld2': 'bar')
|
||||
JSON_OBJECT('x': NULL, 'y': 1 NULL ON NULL)
|
||||
|
@ -820,3 +831,7 @@ SELECT PERCENTILE_CONT(x, 0.5 RESPECT NULLS) OVER ()
|
|||
SELECT PERCENTILE_CONT(x, 0.5 IGNORE NULLS) OVER ()
|
||||
WITH my_cte AS (SELECT 'a' AS desc) SELECT desc AS description FROM my_cte
|
||||
WITH my_cte AS (SELECT 'a' AS asc) SELECT asc AS description FROM my_cte
|
||||
SELECT * FROM case
|
||||
SELECT * FROM schema.case
|
||||
SELECT * FROM current_date
|
||||
SELECT * FROM schema.current_date
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
SELECT * FROM x AS x, y AS y2;
|
||||
SELECT * FROM (SELECT * FROM x AS x) AS x, (SELECT * FROM y AS y) AS y2;
|
||||
SELECT * FROM (SELECT * FROM x AS x) AS x, (SELECT * FROM y AS y2) AS y2;
|
||||
|
||||
SELECT * FROM x AS x WHERE x = 1;
|
||||
SELECT * FROM x AS x WHERE x = 1;
|
||||
|
@ -17,7 +17,7 @@ WITH y AS (SELECT *) SELECT * FROM x AS x;
|
|||
WITH y AS (SELECT *) SELECT * FROM x AS x;
|
||||
|
||||
WITH y AS (SELECT * FROM y AS y2 CROSS JOIN x AS z2) SELECT * FROM x AS x CROSS JOIN y as y;
|
||||
WITH y AS (SELECT * FROM (SELECT * FROM y AS y) AS y2 CROSS JOIN (SELECT * FROM x AS x) AS z2) SELECT * FROM (SELECT * FROM x AS x) AS x CROSS JOIN y AS y;
|
||||
WITH y AS (SELECT * FROM (SELECT * FROM y AS y2) AS y2 CROSS JOIN (SELECT * FROM x AS z2) AS z2) SELECT * FROM (SELECT * FROM x AS x) AS x CROSS JOIN y AS y;
|
||||
|
||||
SELECT * FROM x AS x CROSS JOIN xx AS y;
|
||||
SELECT * FROM (SELECT * FROM x AS x) AS x CROSS JOIN xx AS y;
|
||||
|
|
35
tests/fixtures/optimizer/optimizer.sql
vendored
35
tests/fixtures/optimizer/optimizer.sql
vendored
|
@ -101,10 +101,10 @@ SELECT
|
|||
"x"."a" AS "a",
|
||||
SUM("y"."b") AS "sum_b"
|
||||
FROM "x" AS "x"
|
||||
JOIN "y" AS "y"
|
||||
ON "x"."b" = "y"."b"
|
||||
LEFT JOIN "_u_0" AS "_u_0"
|
||||
ON "x"."b" = "_u_0"."_u_1"
|
||||
JOIN "y" AS "y"
|
||||
ON "x"."b" = "y"."b"
|
||||
WHERE
|
||||
"_u_0"."_col_0" >= 0 AND "x"."a" > 1
|
||||
GROUP BY
|
||||
|
@ -210,10 +210,10 @@ SELECT
|
|||
"n"."b" AS "b",
|
||||
"o"."b" AS "b"
|
||||
FROM "n"
|
||||
FULL JOIN "o"
|
||||
ON "n"."a" = "o"."a"
|
||||
JOIN "n" AS "n2"
|
||||
ON "n"."a" = "n2"."a"
|
||||
FULL JOIN "o"
|
||||
ON "n"."a" = "o"."a"
|
||||
WHERE
|
||||
"o"."b" > 0;
|
||||
|
||||
|
@ -619,3 +619,30 @@ WITH "foO" AS (
|
|||
SELECT
|
||||
"foO"."x" AS "x"
|
||||
FROM "foO" AS "foO";
|
||||
|
||||
# title: lateral subquery
|
||||
# execute: false
|
||||
# dialect: postgres
|
||||
SELECT u.user_id, l.log_date
|
||||
FROM users u
|
||||
CROSS JOIN LATERAL (
|
||||
SELECT l.log_date
|
||||
FROM logs l
|
||||
WHERE l.user_id = u.user_id AND l.log_date <= 100
|
||||
ORDER BY l.log_date DESC NULLS LAST
|
||||
LIMIT 1
|
||||
) l;
|
||||
SELECT
|
||||
"u"."user_id" AS "user_id",
|
||||
"l"."log_date" AS "log_date"
|
||||
FROM "users" AS "u"
|
||||
CROSS JOIN LATERAL (
|
||||
SELECT
|
||||
"l"."log_date"
|
||||
FROM "logs" AS "l"
|
||||
WHERE
|
||||
"l"."log_date" <= 100 AND "l"."user_id" = "u"."user_id"
|
||||
ORDER BY
|
||||
"l"."log_date" DESC NULLS LAST
|
||||
LIMIT 1
|
||||
) AS "l";
|
||||
|
|
|
@ -25,8 +25,8 @@ SELECT x.a AS a FROM (SELECT x.a FROM x AS x WHERE x.a = 1 AND x.b = 1) AS x JOI
|
|||
SELECT x.a FROM x AS x JOIN (SELECT y.a FROM y AS y) AS y ON y.a = 1 AND x.a = y.a;
|
||||
SELECT x.a FROM x AS x JOIN (SELECT y.a FROM y AS y WHERE y.a = 1) AS y ON x.a = y.a AND TRUE;
|
||||
|
||||
SELECT x.a AS a FROM x AS x JOIN (SELECT * FROM y AS y) AS y ON y.a = 1 WHERE x.a = 1 AND x.b = 1 AND y.a = x;
|
||||
SELECT x.a AS a FROM x AS x JOIN (SELECT * FROM y AS y WHERE y.a = 1) AS y ON y.a = x AND TRUE WHERE x.a = 1 AND x.b = 1 AND TRUE;
|
||||
SELECT x.a AS a FROM x AS x JOIN (SELECT * FROM y AS y) AS y ON y.a = 1 WHERE x.a = 1 AND x.b = 1 AND y.a = x.a;
|
||||
SELECT x.a AS a FROM x AS x JOIN (SELECT * FROM y AS y WHERE y.a = 1) AS y ON y.a = x.a AND TRUE WHERE x.a = 1 AND x.b = 1 AND TRUE;
|
||||
|
||||
SELECT x.a AS a FROM x AS x CROSS JOIN (SELECT * FROM y AS y) AS y WHERE x.a = 1 AND x.b = 1 AND y.a = x.a AND y.a = 1;
|
||||
SELECT x.a AS a FROM x AS x JOIN (SELECT * FROM y AS y WHERE y.a = 1) AS y ON y.a = x.a AND TRUE WHERE x.a = 1 AND x.b = 1 AND TRUE AND TRUE;
|
||||
|
|
4
tests/fixtures/optimizer/qualify_columns.sql
vendored
4
tests/fixtures/optimizer/qualify_columns.sql
vendored
|
@ -296,6 +296,10 @@ SELECT x.b AS b FROM x AS x;
|
|||
SELECT x.b FROM x JOIN y USING (b);
|
||||
SELECT x.b AS b FROM x AS x JOIN y AS y ON x.b = y.b;
|
||||
|
||||
# execute: false
|
||||
WITH cte AS (SELECT a.b.c.d.f.g FROM tbl1) SELECT g FROM (SELECT g FROM tbl2) tbl2 JOIN cte USING(g);
|
||||
WITH cte AS (SELECT tbl1.a.b.c.d.f.g AS g FROM tbl1 AS tbl1) SELECT COALESCE(tbl2.g, cte.g) AS g FROM (SELECT tbl2.g AS g FROM tbl2 AS tbl2) AS tbl2 JOIN cte ON tbl2.g = cte.g;
|
||||
|
||||
SELECT x.b FROM x JOIN y USING (b) JOIN z USING (b);
|
||||
SELECT x.b AS b FROM x AS x JOIN y AS y ON x.b = y.b JOIN z AS z ON x.b = z.b;
|
||||
|
||||
|
|
2134
tests/fixtures/optimizer/tpc-ds/tpc-ds.sql
vendored
2134
tests/fixtures/optimizer/tpc-ds/tpc-ds.sql
vendored
File diff suppressed because it is too large
Load diff
124
tests/fixtures/optimizer/tpc-h/tpc-h.sql
vendored
124
tests/fixtures/optimizer/tpc-h/tpc-h.sql
vendored
|
@ -117,12 +117,12 @@ WITH "region_2" AS (
|
|||
MIN("partsupp"."ps_supplycost") AS "_col_0",
|
||||
"partsupp"."ps_partkey" AS "_u_1"
|
||||
FROM "partsupp_2" AS "partsupp"
|
||||
CROSS JOIN "region_2" AS "region"
|
||||
JOIN "nation" AS "nation"
|
||||
ON "nation"."n_regionkey" = "region"."r_regionkey"
|
||||
JOIN "supplier" AS "supplier"
|
||||
ON "supplier"."s_suppkey" = "partsupp"."ps_suppkey"
|
||||
JOIN "nation" AS "nation"
|
||||
ON "supplier"."s_nationkey" = "nation"."n_nationkey"
|
||||
AND "supplier"."s_suppkey" = "partsupp"."ps_suppkey"
|
||||
JOIN "region_2" AS "region"
|
||||
ON "nation"."n_regionkey" = "region"."r_regionkey"
|
||||
GROUP BY
|
||||
"partsupp"."ps_partkey"
|
||||
)
|
||||
|
@ -137,6 +137,8 @@ SELECT
|
|||
"supplier"."s_comment" AS "s_comment"
|
||||
FROM "part" AS "part"
|
||||
CROSS JOIN "region_2" AS "region"
|
||||
LEFT JOIN "_u_0" AS "_u_0"
|
||||
ON "part"."p_partkey" = "_u_0"."_u_1"
|
||||
JOIN "nation" AS "nation"
|
||||
ON "nation"."n_regionkey" = "region"."r_regionkey"
|
||||
JOIN "partsupp_2" AS "partsupp"
|
||||
|
@ -144,8 +146,6 @@ JOIN "partsupp_2" AS "partsupp"
|
|||
JOIN "supplier" AS "supplier"
|
||||
ON "supplier"."s_nationkey" = "nation"."n_nationkey"
|
||||
AND "supplier"."s_suppkey" = "partsupp"."ps_suppkey"
|
||||
LEFT JOIN "_u_0" AS "_u_0"
|
||||
ON "part"."p_partkey" = "_u_0"."_u_1"
|
||||
WHERE
|
||||
"part"."p_size" = 15
|
||||
AND "part"."p_type" LIKE '%BRASS'
|
||||
|
@ -294,16 +294,15 @@ JOIN "orders" AS "orders"
|
|||
ON "customer"."c_custkey" = "orders"."o_custkey"
|
||||
AND CAST("orders"."o_orderdate" AS DATE) < CAST('1995-01-01' AS DATE)
|
||||
AND CAST("orders"."o_orderdate" AS DATE) >= CAST('1994-01-01' AS DATE)
|
||||
JOIN "region" AS "region"
|
||||
ON "region"."r_name" = 'ASIA'
|
||||
JOIN "nation" AS "nation"
|
||||
ON "nation"."n_regionkey" = "region"."r_regionkey"
|
||||
JOIN "supplier" AS "supplier"
|
||||
ON "customer"."c_nationkey" = "supplier"."s_nationkey"
|
||||
AND "supplier"."s_nationkey" = "nation"."n_nationkey"
|
||||
JOIN "lineitem" AS "lineitem"
|
||||
ON "lineitem"."l_orderkey" = "orders"."o_orderkey"
|
||||
AND "lineitem"."l_suppkey" = "supplier"."s_suppkey"
|
||||
JOIN "nation" AS "nation"
|
||||
ON "supplier"."s_nationkey" = "nation"."n_nationkey"
|
||||
JOIN "region" AS "region"
|
||||
ON "nation"."n_regionkey" = "region"."r_regionkey" AND "region"."r_name" = 'ASIA'
|
||||
GROUP BY
|
||||
"nation"."n_name"
|
||||
ORDER BY
|
||||
|
@ -373,14 +372,6 @@ order by
|
|||
supp_nation,
|
||||
cust_nation,
|
||||
l_year;
|
||||
WITH "n1" AS (
|
||||
SELECT
|
||||
"nation"."n_nationkey" AS "n_nationkey",
|
||||
"nation"."n_name" AS "n_name"
|
||||
FROM "nation" AS "nation"
|
||||
WHERE
|
||||
"nation"."n_name" = 'FRANCE' OR "nation"."n_name" = 'GERMANY'
|
||||
)
|
||||
SELECT
|
||||
"n1"."n_name" AS "supp_nation",
|
||||
"n2"."n_name" AS "cust_nation",
|
||||
|
@ -393,20 +384,26 @@ JOIN "lineitem" AS "lineitem"
|
|||
ON "supplier"."s_suppkey" = "lineitem"."l_suppkey"
|
||||
AND CAST("lineitem"."l_shipdate" AS DATE) <= CAST('1996-12-31' AS DATE)
|
||||
AND CAST("lineitem"."l_shipdate" AS DATE) >= CAST('1995-01-01' AS DATE)
|
||||
JOIN "orders" AS "orders"
|
||||
ON "orders"."o_orderkey" = "lineitem"."l_orderkey"
|
||||
JOIN "customer" AS "customer"
|
||||
ON "customer"."c_custkey" = "orders"."o_custkey"
|
||||
JOIN "n1" AS "n1"
|
||||
ON "supplier"."s_nationkey" = "n1"."n_nationkey"
|
||||
JOIN "n1" AS "n2"
|
||||
ON "customer"."c_nationkey" = "n2"."n_nationkey"
|
||||
AND (
|
||||
JOIN "nation" AS "n1"
|
||||
ON (
|
||||
"n1"."n_name" = 'FRANCE' OR "n1"."n_name" = 'GERMANY'
|
||||
)
|
||||
AND "supplier"."s_nationkey" = "n1"."n_nationkey"
|
||||
JOIN "nation" AS "n2"
|
||||
ON (
|
||||
"n1"."n_name" = 'FRANCE' OR "n2"."n_name" = 'FRANCE'
|
||||
)
|
||||
AND (
|
||||
"n1"."n_name" = 'GERMANY' OR "n2"."n_name" = 'GERMANY'
|
||||
)
|
||||
AND (
|
||||
"n2"."n_name" = 'FRANCE' OR "n2"."n_name" = 'GERMANY'
|
||||
)
|
||||
JOIN "customer" AS "customer"
|
||||
ON "customer"."c_nationkey" = "n2"."n_nationkey"
|
||||
JOIN "orders" AS "orders"
|
||||
ON "customer"."c_custkey" = "orders"."o_custkey"
|
||||
AND "orders"."o_orderkey" = "lineitem"."l_orderkey"
|
||||
GROUP BY
|
||||
"n1"."n_name",
|
||||
"n2"."n_name",
|
||||
|
@ -460,7 +457,7 @@ SELECT
|
|||
EXTRACT(year FROM CAST("orders"."o_orderdate" AS DATE)) AS "o_year",
|
||||
SUM(
|
||||
CASE
|
||||
WHEN "nation_2"."n_name" = 'BRAZIL'
|
||||
WHEN "n2"."n_name" = 'BRAZIL'
|
||||
THEN "lineitem"."l_extendedprice" * (
|
||||
1 - "lineitem"."l_discount"
|
||||
)
|
||||
|
@ -472,21 +469,21 @@ SELECT
|
|||
FROM "part" AS "part"
|
||||
JOIN "region" AS "region"
|
||||
ON "region"."r_name" = 'AMERICA'
|
||||
JOIN "nation" AS "nation"
|
||||
ON "nation"."n_regionkey" = "region"."r_regionkey"
|
||||
JOIN "customer" AS "customer"
|
||||
ON "customer"."c_nationkey" = "nation"."n_nationkey"
|
||||
JOIN "orders" AS "orders"
|
||||
ON "orders"."o_custkey" = "customer"."c_custkey"
|
||||
AND CAST("orders"."o_orderdate" AS DATE) <= CAST('1996-12-31' AS DATE)
|
||||
AND CAST("orders"."o_orderdate" AS DATE) >= CAST('1995-01-01' AS DATE)
|
||||
JOIN "lineitem" AS "lineitem"
|
||||
ON "lineitem"."l_orderkey" = "orders"."o_orderkey"
|
||||
AND "part"."p_partkey" = "lineitem"."l_partkey"
|
||||
ON "part"."p_partkey" = "lineitem"."l_partkey"
|
||||
JOIN "nation" AS "n1"
|
||||
ON "n1"."n_regionkey" = "region"."r_regionkey"
|
||||
JOIN "customer" AS "customer"
|
||||
ON "customer"."c_nationkey" = "n1"."n_nationkey"
|
||||
JOIN "supplier" AS "supplier"
|
||||
ON "supplier"."s_suppkey" = "lineitem"."l_suppkey"
|
||||
JOIN "nation" AS "nation_2"
|
||||
ON "supplier"."s_nationkey" = "nation_2"."n_nationkey"
|
||||
JOIN "nation" AS "n2"
|
||||
ON "supplier"."s_nationkey" = "n2"."n_nationkey"
|
||||
JOIN "orders" AS "orders"
|
||||
ON "lineitem"."l_orderkey" = "orders"."o_orderkey"
|
||||
AND "orders"."o_custkey" = "customer"."c_custkey"
|
||||
AND CAST("orders"."o_orderdate" AS DATE) <= CAST('1996-12-31' AS DATE)
|
||||
AND CAST("orders"."o_orderdate" AS DATE) >= CAST('1995-01-01' AS DATE)
|
||||
WHERE
|
||||
"part"."p_type" = 'ECONOMY ANODIZED STEEL'
|
||||
GROUP BY
|
||||
|
@ -540,13 +537,13 @@ SELECT
|
|||
FROM "part" AS "part"
|
||||
JOIN "lineitem" AS "lineitem"
|
||||
ON "part"."p_partkey" = "lineitem"."l_partkey"
|
||||
JOIN "supplier" AS "supplier"
|
||||
ON "supplier"."s_suppkey" = "lineitem"."l_suppkey"
|
||||
JOIN "orders" AS "orders"
|
||||
ON "orders"."o_orderkey" = "lineitem"."l_orderkey"
|
||||
JOIN "partsupp" AS "partsupp"
|
||||
ON "partsupp"."ps_partkey" = "lineitem"."l_partkey"
|
||||
AND "partsupp"."ps_suppkey" = "lineitem"."l_suppkey"
|
||||
JOIN "orders" AS "orders"
|
||||
ON "orders"."o_orderkey" = "lineitem"."l_orderkey"
|
||||
JOIN "supplier" AS "supplier"
|
||||
ON "supplier"."s_suppkey" = "lineitem"."l_suppkey"
|
||||
JOIN "nation" AS "nation"
|
||||
ON "supplier"."s_nationkey" = "nation"."n_nationkey"
|
||||
WHERE
|
||||
|
@ -606,14 +603,14 @@ SELECT
|
|||
"customer"."c_phone" AS "c_phone",
|
||||
"customer"."c_comment" AS "c_comment"
|
||||
FROM "customer" AS "customer"
|
||||
JOIN "nation" AS "nation"
|
||||
ON "customer"."c_nationkey" = "nation"."n_nationkey"
|
||||
JOIN "orders" AS "orders"
|
||||
ON "customer"."c_custkey" = "orders"."o_custkey"
|
||||
AND CAST("orders"."o_orderdate" AS DATE) < CAST('1994-01-01' AS DATE)
|
||||
AND CAST("orders"."o_orderdate" AS DATE) >= CAST('1993-10-01' AS DATE)
|
||||
JOIN "lineitem" AS "lineitem"
|
||||
ON "lineitem"."l_orderkey" = "orders"."o_orderkey" AND "lineitem"."l_returnflag" = 'R'
|
||||
JOIN "nation" AS "nation"
|
||||
ON "customer"."c_nationkey" = "nation"."n_nationkey"
|
||||
GROUP BY
|
||||
"customer"."c_custkey",
|
||||
"customer"."c_name",
|
||||
|
@ -681,11 +678,11 @@ SELECT
|
|||
"partsupp"."ps_partkey" AS "ps_partkey",
|
||||
SUM("partsupp"."ps_supplycost" * "partsupp"."ps_availqty") AS "value"
|
||||
FROM "partsupp" AS "partsupp"
|
||||
CROSS JOIN "_u_0" AS "_u_0"
|
||||
JOIN "supplier_2" AS "supplier"
|
||||
ON "partsupp"."ps_suppkey" = "supplier"."s_suppkey"
|
||||
JOIN "nation_2" AS "nation"
|
||||
ON "supplier"."s_nationkey" = "nation"."n_nationkey"
|
||||
CROSS JOIN "_u_0" AS "_u_0"
|
||||
GROUP BY
|
||||
"partsupp"."ps_partkey"
|
||||
HAVING
|
||||
|
@ -950,13 +947,13 @@ SELECT
|
|||
"part"."p_size" AS "p_size",
|
||||
COUNT(DISTINCT "partsupp"."ps_suppkey") AS "supplier_cnt"
|
||||
FROM "partsupp" AS "partsupp"
|
||||
LEFT JOIN "_u_0" AS "_u_0"
|
||||
ON "partsupp"."ps_suppkey" = "_u_0"."s_suppkey"
|
||||
JOIN "part" AS "part"
|
||||
ON "part"."p_brand" <> 'Brand#45'
|
||||
AND "part"."p_partkey" = "partsupp"."ps_partkey"
|
||||
AND "part"."p_size" IN (49, 14, 23, 45, 19, 3, 36, 9)
|
||||
AND NOT "part"."p_type" LIKE 'MEDIUM POLISHED%'
|
||||
LEFT JOIN "_u_0" AS "_u_0"
|
||||
ON "partsupp"."ps_suppkey" = "_u_0"."s_suppkey"
|
||||
WHERE
|
||||
"_u_0"."s_suppkey" IS NULL
|
||||
GROUP BY
|
||||
|
@ -1066,10 +1063,10 @@ SELECT
|
|||
FROM "customer" AS "customer"
|
||||
JOIN "orders" AS "orders"
|
||||
ON "customer"."c_custkey" = "orders"."o_custkey"
|
||||
JOIN "lineitem" AS "lineitem"
|
||||
ON "orders"."o_orderkey" = "lineitem"."l_orderkey"
|
||||
LEFT JOIN "_u_0" AS "_u_0"
|
||||
ON "orders"."o_orderkey" = "_u_0"."l_orderkey"
|
||||
JOIN "lineitem" AS "lineitem"
|
||||
ON "orders"."o_orderkey" = "lineitem"."l_orderkey"
|
||||
WHERE
|
||||
NOT "_u_0"."l_orderkey" IS NULL
|
||||
GROUP BY
|
||||
|
@ -1260,10 +1257,10 @@ SELECT
|
|||
"supplier"."s_name" AS "s_name",
|
||||
"supplier"."s_address" AS "s_address"
|
||||
FROM "supplier" AS "supplier"
|
||||
JOIN "nation" AS "nation"
|
||||
ON "nation"."n_name" = 'CANADA' AND "supplier"."s_nationkey" = "nation"."n_nationkey"
|
||||
LEFT JOIN "_u_4" AS "_u_4"
|
||||
ON "supplier"."s_suppkey" = "_u_4"."ps_suppkey"
|
||||
JOIN "nation" AS "nation"
|
||||
ON "nation"."n_name" = 'CANADA' AND "supplier"."s_nationkey" = "nation"."n_nationkey"
|
||||
WHERE
|
||||
NOT "_u_4"."ps_suppkey" IS NULL
|
||||
ORDER BY
|
||||
|
@ -1334,24 +1331,24 @@ SELECT
|
|||
"supplier"."s_name" AS "s_name",
|
||||
COUNT(*) AS "numwait"
|
||||
FROM "supplier" AS "supplier"
|
||||
JOIN "lineitem" AS "lineitem"
|
||||
ON "lineitem"."l_receiptdate" > "lineitem"."l_commitdate"
|
||||
AND "supplier"."s_suppkey" = "lineitem"."l_suppkey"
|
||||
JOIN "orders" AS "orders"
|
||||
ON "orders"."o_orderkey" = "lineitem"."l_orderkey" AND "orders"."o_orderstatus" = 'F'
|
||||
JOIN "lineitem" AS "l1"
|
||||
ON "l1"."l_receiptdate" > "l1"."l_commitdate"
|
||||
AND "supplier"."s_suppkey" = "l1"."l_suppkey"
|
||||
JOIN "nation" AS "nation"
|
||||
ON "nation"."n_name" = 'SAUDI ARABIA'
|
||||
AND "supplier"."s_nationkey" = "nation"."n_nationkey"
|
||||
LEFT JOIN "_u_0" AS "_u_0"
|
||||
ON "_u_0"."l_orderkey" = "lineitem"."l_orderkey"
|
||||
ON "_u_0"."l_orderkey" = "l1"."l_orderkey"
|
||||
LEFT JOIN "_u_2" AS "_u_2"
|
||||
ON "_u_2"."l_orderkey" = "lineitem"."l_orderkey"
|
||||
ON "_u_2"."l_orderkey" = "l1"."l_orderkey"
|
||||
JOIN "orders" AS "orders"
|
||||
ON "orders"."o_orderkey" = "l1"."l_orderkey" AND "orders"."o_orderstatus" = 'F'
|
||||
WHERE
|
||||
(
|
||||
"_u_2"."l_orderkey" IS NULL
|
||||
OR NOT ARRAY_ANY("_u_2"."_u_3", "_x" -> "_x" <> "lineitem"."l_suppkey")
|
||||
OR NOT ARRAY_ANY("_u_2"."_u_3", "_x" -> "_x" <> "l1"."l_suppkey")
|
||||
)
|
||||
AND ARRAY_ANY("_u_0"."_u_1", "_x" -> "_x" <> "lineitem"."l_suppkey")
|
||||
AND ARRAY_ANY("_u_0"."_u_1", "_x" -> "_x" <> "l1"."l_suppkey")
|
||||
AND NOT "_u_0"."l_orderkey" IS NULL
|
||||
GROUP BY
|
||||
"supplier"."s_name"
|
||||
|
@ -1430,3 +1427,4 @@ GROUP BY
|
|||
SUBSTRING("customer"."c_phone", 1, 2)
|
||||
ORDER BY
|
||||
"cntrycode";
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue