Merging upstream version 20.1.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
d4fe7bdb16
commit
90988d8258
127 changed files with 73384 additions and 73067 deletions
47
tests/fixtures/optimizer/simplify.sql
vendored
47
tests/fixtures/optimizer/simplify.sql
vendored
|
@ -43,6 +43,9 @@ TRUE;
|
|||
1.0 = 1;
|
||||
TRUE;
|
||||
|
||||
CAST('2023-01-01' AS DATE) = CAST('2023-01-01' AS DATE);
|
||||
TRUE;
|
||||
|
||||
'x' = 'y';
|
||||
FALSE;
|
||||
|
||||
|
@ -360,6 +363,15 @@ x * (1 - y);
|
|||
(1.0 * 3) * 4 - 2 * (5 / 2);
|
||||
12.0 - 2 * (5 / 2);
|
||||
|
||||
a * 0.5 / 10 / (2.0 + 3);
|
||||
a * 0.5 / 10 / 5.0;
|
||||
|
||||
a * 0.5 - 10 - (2.0 + 3);
|
||||
a * 0.5 - 10 - 5.0;
|
||||
|
||||
x * (10 - 5);
|
||||
x * 5;
|
||||
|
||||
6 - 2 + 4 * 2 + a;
|
||||
12 + a;
|
||||
|
||||
|
@ -414,6 +426,9 @@ FALSE;
|
|||
1 IS NOT NULL;
|
||||
TRUE;
|
||||
|
||||
date '1998-12-01' - interval x day;
|
||||
CAST('1998-12-01' AS DATE) - INTERVAL x day;
|
||||
|
||||
date '1998-12-01' - interval '90' day;
|
||||
CAST('1998-09-02' AS DATE);
|
||||
|
||||
|
@ -447,6 +462,24 @@ CAST(x AS DATETIME) + INTERVAL '1' week;
|
|||
TS_OR_DS_TO_DATE('1998-12-01 00:00:01') - interval '90' day;
|
||||
CAST('1998-09-02' AS DATE);
|
||||
|
||||
DATE_ADD(CAST('2023-01-02' AS DATE), -2, 'MONTH');
|
||||
CAST('2022-11-02' AS DATE);
|
||||
|
||||
DATE_SUB(CAST('2023-01-02' AS DATE), 1 + 1, 'DAY');
|
||||
CAST('2022-12-31' AS DATE);
|
||||
|
||||
DATE_ADD(CAST('2023-01-02' AS DATETIME), -2, 'HOUR');
|
||||
CAST('2023-01-01 22:00:00' AS DATETIME);
|
||||
|
||||
DATETIME_ADD(CAST('2023-01-02' AS DATETIME), -2, 'HOUR');
|
||||
CAST('2023-01-01 22:00:00' AS DATETIME);
|
||||
|
||||
DATETIME_SUB(CAST('2023-01-02' AS DATETIME), 1 + 1, 'HOUR');
|
||||
CAST('2023-01-01 22:00:00' AS DATETIME);
|
||||
|
||||
DATE_ADD(x, 1, 'MONTH');
|
||||
DATE_ADD(x, 1, 'MONTH');
|
||||
|
||||
--------------------------------------
|
||||
-- Comparisons
|
||||
--------------------------------------
|
||||
|
@ -663,6 +696,15 @@ ROW() OVER () = 1 OR ROW() OVER () IS NULL;
|
|||
a AND b AND COALESCE(ROW() OVER (), 1) = 1;
|
||||
a AND b AND (ROW() OVER () = 1 OR ROW() OVER () IS NULL);
|
||||
|
||||
COALESCE(1, 2);
|
||||
1;
|
||||
|
||||
COALESCE(CAST(CAST('2023-01-01' AS TIMESTAMP) AS DATE), x);
|
||||
CAST(CAST('2023-01-01' AS TIMESTAMP) AS DATE);
|
||||
|
||||
COALESCE(CAST(NULL AS DATE), x);
|
||||
COALESCE(CAST(NULL AS DATE), x);
|
||||
|
||||
--------------------------------------
|
||||
-- CONCAT
|
||||
--------------------------------------
|
||||
|
@ -673,7 +715,7 @@ CONCAT_WS(sep, x, y);
|
|||
CONCAT_WS(sep, x, y);
|
||||
|
||||
CONCAT(x);
|
||||
x;
|
||||
CONCAT(x);
|
||||
|
||||
CONCAT('a', 'b', 'c');
|
||||
'abc';
|
||||
|
@ -776,6 +818,9 @@ x >= CAST('2022-01-01' AS DATE);
|
|||
DATE_TRUNC('year', x) > TS_OR_DS_TO_DATE(TS_OR_DS_TO_DATE('2021-01-02'));
|
||||
x >= CAST('2022-01-01' AS DATE);
|
||||
|
||||
DATE_TRUNC('year', x) > TS_OR_DS_TO_DATE(TS_OR_DS_TO_DATE('2021-01-02', '%Y'));
|
||||
DATE_TRUNC('year', x) > TS_OR_DS_TO_DATE(TS_OR_DS_TO_DATE('2021-01-02', '%Y'));
|
||||
|
||||
-- right is not a date
|
||||
DATE_TRUNC('year', x) <> '2021-01-02';
|
||||
DATE_TRUNC('year', x) <> '2021-01-02';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue