Merging upstream version 25.5.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
298e7a8147
commit
029b9c2c73
136 changed files with 80990 additions and 72541 deletions
6
tests/fixtures/identity.sql
vendored
6
tests/fixtures/identity.sql
vendored
|
@ -115,7 +115,7 @@ ARRAY(foo, time)
|
|||
ARRAY(LENGTH(waiter_name) > 0)
|
||||
ARRAY_CONTAINS(x, 1)
|
||||
x.EXTRACT(1)
|
||||
EXTRACT(x FROM y)
|
||||
EXTRACT(X FROM y)
|
||||
EXTRACT(DATE FROM y)
|
||||
EXTRACT(WEEK(monday) FROM created_at)
|
||||
CONCAT_WS('-', 'a', 'b')
|
||||
|
@ -733,6 +733,8 @@ SELECT (WITH x AS (SELECT 1 AS y) SELECT * FROM x) AS z
|
|||
SELECT ((SELECT 1) + 1)
|
||||
SELECT * FROM project.dataset.INFORMATION_SCHEMA.TABLES
|
||||
SELECT CAST(x AS INT) /* comment */ FROM foo
|
||||
SELECT c /* c1 /* c2 */ c3 */
|
||||
SELECT c /* c1 /* c2 /* c3 */ */ */
|
||||
SELECT c /* c1 */ AS alias /* c2 */
|
||||
SELECT a /* x */, b /* x */
|
||||
SELECT a /* x */ /* y */ /* z */, b /* k */ /* m */
|
||||
|
@ -873,3 +875,5 @@ SELECT copy
|
|||
SELECT rollup
|
||||
SELECT unnest
|
||||
SELECT * FROM a STRAIGHT_JOIN b
|
||||
SELECT COUNT(DISTINCT "foo bar") FROM (SELECT 1 AS "foo bar") AS t
|
||||
SELECT vector
|
||||
|
|
12
tests/fixtures/optimizer/qualify_columns.sql
vendored
12
tests/fixtures/optimizer/qualify_columns.sql
vendored
|
@ -480,6 +480,18 @@ SELECT COALESCE(t1.a, t2.a) AS a FROM t1 AS t1 JOIN t2 AS t2 ON t1.a = t2.a;
|
|||
WITH m(a) AS (SELECT 1), n(b) AS (SELECT 1) SELECT * FROM m JOIN n AS foo(a) USING (a);
|
||||
WITH m AS (SELECT 1 AS a), n AS (SELECT 1 AS b) SELECT COALESCE(m.a, foo.a) AS a FROM m AS m JOIN n AS foo(a) ON m.a = foo.a;
|
||||
|
||||
# title: coalesce the USING clause's columns (3 joins, 2 join columns)
|
||||
WITH t1 AS (SELECT 'x' AS id, DATE '2024-01-01' AS foo, 000 AS value), t2 AS (SELECT 'x' AS id, DATE '2024-02-02' AS foo, 123 AS value), t3 AS (SELECT 'x' AS id, DATE '2024-02-02' AS foo, 456 AS value) SELECT * FROM t1 FULL OUTER JOIN t2 USING(id, foo) FULL OUTER JOIN t3 USING(id, foo);
|
||||
WITH t1 AS (SELECT 'x' AS id, CAST('2024-01-01' AS DATE) AS foo, 000 AS value), t2 AS (SELECT 'x' AS id, CAST('2024-02-02' AS DATE) AS foo, 123 AS value), t3 AS (SELECT 'x' AS id, CAST('2024-02-02' AS DATE) AS foo, 456 AS value) SELECT COALESCE(t1.id, t2.id, t3.id) AS id, COALESCE(t1.foo, t2.foo, t3.foo) AS foo, t1.value AS value, t2.value AS value, t3.value AS value FROM t1 AS t1 FULL OUTER JOIN t2 AS t2 ON t1.id = t2.id AND t1.foo = t2.foo FULL OUTER JOIN t3 AS t3 ON COALESCE(t1.id, t2.id) = t3.id AND COALESCE(t1.foo, t2.foo) = t3.foo;
|
||||
|
||||
# title: coalesce the USING clause's columns (3 joins, 3 join columns)
|
||||
WITH t1 AS (SELECT 'x' AS id, CAST('2024-01-01' AS DATE) AS foo, 000 AS value), t2 AS (SELECT 'x' AS id, CAST('2024-02-02' AS DATE) AS foo, 123 AS value), t3 AS (SELECT 'x' AS id, CAST('2024-02-02' AS DATE) AS foo, 456 AS value) SELECT * FROM t1 FULL OUTER JOIN t2 USING (id, foo, value) FULL OUTER JOIN t3 USING (id, foo, value);
|
||||
WITH t1 AS (SELECT 'x' AS id, CAST('2024-01-01' AS DATE) AS foo, 000 AS value), t2 AS (SELECT 'x' AS id, CAST('2024-02-02' AS DATE) AS foo, 123 AS value), t3 AS (SELECT 'x' AS id, CAST('2024-02-02' AS DATE) AS foo, 456 AS value) SELECT COALESCE(t1.id, t2.id, t3.id) AS id, COALESCE(t1.foo, t2.foo, t3.foo) AS foo, COALESCE(t1.value, t2.value, t3.value) AS value FROM t1 AS t1 FULL OUTER JOIN t2 AS t2 ON t1.id = t2.id AND t1.foo = t2.foo AND t1.value = t2.value FULL OUTER JOIN t3 AS t3 ON COALESCE(t1.id, t2.id) = t3.id AND COALESCE(t1.foo, t2.foo) = t3.foo AND COALESCE(t1.value, t2.value) = t3.value;
|
||||
|
||||
# title: coalesce the USING clause's columns (4 joins, 2 join columns)
|
||||
WITH t1 AS (SELECT 'x' AS id, CAST('2024-01-01' AS DATE) AS foo, 000 AS value), t2 AS (SELECT 'x' AS id, CAST('2024-02-02' AS DATE) AS foo, 123 AS value), t3 AS (SELECT 'x' AS id, CAST('2024-02-02' AS DATE) AS foo, 456 AS value), t4 AS (SELECT 'x' AS id, CAST('2024-03-03' AS DATE) AS foo, 789 AS value) SELECT * FROM t1 FULL OUTER JOIN t2 USING (id, foo) FULL OUTER JOIN t3 USING (id, foo) FULL OUTER JOIN t4 USING (id, foo);
|
||||
WITH t1 AS (SELECT 'x' AS id, CAST('2024-01-01' AS DATE) AS foo, 000 AS value), t2 AS (SELECT 'x' AS id, CAST('2024-02-02' AS DATE) AS foo, 123 AS value), t3 AS (SELECT 'x' AS id, CAST('2024-02-02' AS DATE) AS foo, 456 AS value), t4 AS (SELECT 'x' AS id, CAST('2024-03-03' AS DATE) AS foo, 789 AS value) SELECT COALESCE(t1.id, t2.id, t3.id, t4.id) AS id, COALESCE(t1.foo, t2.foo, t3.foo, t4.foo) AS foo, t1.value AS value, t2.value AS value, t3.value AS value, t4.value AS value FROM t1 AS t1 FULL OUTER JOIN t2 AS t2 ON t1.id = t2.id AND t1.foo = t2.foo FULL OUTER JOIN t3 AS t3 ON COALESCE(t1.id, t2.id) = t3.id AND COALESCE(t1.foo, t2.foo) = t3.foo FULL OUTER JOIN t4 AS t4 ON COALESCE(t1.id, t2.id, t3.id) = t4.id AND COALESCE(t1.foo, t2.foo, t3.foo) = t4.foo;
|
||||
|
||||
--------------------------------------
|
||||
-- Hint with table reference
|
||||
--------------------------------------
|
||||
|
|
14
tests/fixtures/optimizer/tpc-h/tpc-h.sql
vendored
14
tests/fixtures/optimizer/tpc-h/tpc-h.sql
vendored
|
@ -375,7 +375,7 @@ order by
|
|||
SELECT
|
||||
"n1"."n_name" AS "supp_nation",
|
||||
"n2"."n_name" AS "cust_nation",
|
||||
EXTRACT(year FROM CAST("lineitem"."l_shipdate" AS DATE)) AS "l_year",
|
||||
EXTRACT(YEAR FROM CAST("lineitem"."l_shipdate" AS DATE)) AS "l_year",
|
||||
SUM("lineitem"."l_extendedprice" * (
|
||||
1 - "lineitem"."l_discount"
|
||||
)) AS "revenue"
|
||||
|
@ -407,7 +407,7 @@ JOIN "nation" AS "n2"
|
|||
GROUP BY
|
||||
"n1"."n_name",
|
||||
"n2"."n_name",
|
||||
EXTRACT(year FROM CAST("lineitem"."l_shipdate" AS DATE))
|
||||
EXTRACT(YEAR FROM CAST("lineitem"."l_shipdate" AS DATE))
|
||||
ORDER BY
|
||||
"supp_nation",
|
||||
"cust_nation",
|
||||
|
@ -425,7 +425,7 @@ select
|
|||
from
|
||||
(
|
||||
select
|
||||
extract(year from cast(o_orderdate as date)) as o_year,
|
||||
extract(YEAR from cast(o_orderdate as date)) as o_year,
|
||||
l_extendedprice * (1 - l_discount) as volume,
|
||||
n2.n_name as nation
|
||||
from
|
||||
|
@ -454,7 +454,7 @@ group by
|
|||
order by
|
||||
o_year;
|
||||
SELECT
|
||||
EXTRACT(year FROM CAST("orders"."o_orderdate" AS DATE)) AS "o_year",
|
||||
EXTRACT(YEAR FROM CAST("orders"."o_orderdate" AS DATE)) AS "o_year",
|
||||
SUM(
|
||||
CASE
|
||||
WHEN "n2"."n_name" = 'BRAZIL'
|
||||
|
@ -486,7 +486,7 @@ JOIN "region" AS "region"
|
|||
WHERE
|
||||
"part"."p_type" = 'ECONOMY ANODIZED STEEL'
|
||||
GROUP BY
|
||||
EXTRACT(year FROM CAST("orders"."o_orderdate" AS DATE))
|
||||
EXTRACT(YEAR FROM CAST("orders"."o_orderdate" AS DATE))
|
||||
ORDER BY
|
||||
"o_year";
|
||||
|
||||
|
@ -527,7 +527,7 @@ order by
|
|||
o_year desc;
|
||||
SELECT
|
||||
"nation"."n_name" AS "nation",
|
||||
EXTRACT(year FROM CAST("orders"."o_orderdate" AS DATE)) AS "o_year",
|
||||
EXTRACT(YEAR FROM CAST("orders"."o_orderdate" AS DATE)) AS "o_year",
|
||||
SUM(
|
||||
"lineitem"."l_extendedprice" * (
|
||||
1 - "lineitem"."l_discount"
|
||||
|
@ -549,7 +549,7 @@ WHERE
|
|||
"part"."p_name" LIKE '%green%'
|
||||
GROUP BY
|
||||
"nation"."n_name",
|
||||
EXTRACT(year FROM CAST("orders"."o_orderdate" AS DATE))
|
||||
EXTRACT(YEAR FROM CAST("orders"."o_orderdate" AS DATE))
|
||||
ORDER BY
|
||||
"nation",
|
||||
"o_year" DESC;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue