fix LLT after dual removal

This commit is contained in:
dengxuyue 2021-03-18 07:52:37 +08:00
parent 09594e3393
commit c49d2f3c06
5 changed files with 30 additions and 32 deletions

View File

@ -2010,28 +2010,28 @@ select 2 > '15'::text;
SELECT pg_catalog.array_dims(' '::anyarray) AS a
,LENGTH(pg_catalog.array_dims(' '::anyarray)) AS b
FROM dual;
;
ERROR: array value must start with "{" or dimension information
LINE 1: SELECT pg_catalog.array_dims(' '::anyarray) AS a
^
CONTEXT: referenced column: a
SELECT pg_catalog.array_to_string(' '::anyarray,' '::text) AS a
,LENGTH(pg_catalog.array_to_string(' '::anyarray,' '::text)) AS b
FROM dual;
;
ERROR: array value must start with "{" or dimension information
LINE 1: SELECT pg_catalog.array_to_string(' '::anyarray,' '::text) A...
^
CONTEXT: referenced column: a
SELECT pg_catalog.array_to_string(' '::anyarray,' '::text,''::text) AS a
,LENGTH(pg_catalog.array_to_string(' '::anyarray,' '::text,' '::text)) AS b
FROM dual;
;
ERROR: array value must start with "{" or dimension information
LINE 1: SELECT pg_catalog.array_to_string(' '::anyarray,' '::text,''...
^
CONTEXT: referenced column: a
SELECT pg_catalog.array_dims('{1,2,3}'::anyarray) AS a
,LENGTH(pg_catalog.array_dims('{1,2,3}'::anyarray)) AS b
FROM dual;
;
ERROR: array value must start with "{" or dimension information
LINE 1: SELECT pg_catalog.array_dims('{1,2,3}'::anyarray) AS a
^

View File

@ -238,61 +238,61 @@ select numtodsinterval(-.1500321234,'second');
(1 row)
--boundary test
SELECT numtodsinterval(-2147483648, 'DAY')from dual;
SELECT numtodsinterval(-2147483648, 'DAY');
numtodsinterval
---------------------------------
--2147483648 00:00:00.000000000
(1 row)
SELECT numtodsinterval(-2147483648, 'HOUR')from dual;
SELECT numtodsinterval(-2147483648, 'HOUR');
numtodsinterval
-------------------------------
-089478485 08:00:00.000000000
(1 row)
SELECT numtodsinterval(-2147483648, 'MINUTE')from dual;
SELECT numtodsinterval(-2147483648, 'MINUTE');
numtodsinterval
-------------------------------
-001491308 02:08:00.000000000
(1 row)
SELECT numtodsinterval(-2147483648, 'SECOND')from dual;
SELECT numtodsinterval(-2147483648, 'SECOND');
numtodsinterval
-------------------------------
-000024855 03:14:08.000000000
(1 row)
SELECT numtodsinterval(2147483647, 'DAY')from dual;
SELECT numtodsinterval(2147483647, 'DAY');
numtodsinterval
--------------------------------
+2147483647 00:00:00.000000000
(1 row)
SELECT numtodsinterval(999999999.99999999999, 'DAY')from dual;
SELECT numtodsinterval(999999999.99999999999, 'DAY');
numtodsinterval
-------------------------------
+999999999 23:59:59.999999000
(1 row)
SELECT numtodsinterval(2147483647, 'HOUR')from dual;
SELECT numtodsinterval(2147483647, 'HOUR');
numtodsinterval
-------------------------------
+089478485 07:00:00.000000000
(1 row)
SELECT numtodsinterval(2147483647, 'MINUTE')from dual;
SELECT numtodsinterval(2147483647, 'MINUTE');
numtodsinterval
-------------------------------
+001491308 02:07:00.000000000
(1 row)
SELECT numtodsinterval(2147483647, 'SECOND')from dual;
SELECT numtodsinterval(2147483647, 'SECOND');
numtodsinterval
-------------------------------
+000024855 03:14:07.000000000
(1 row)
SELECT numtodsinterval(123456789.123456789, 'DAY')from dual;
SELECT numtodsinterval(123456789.123456789, 'DAY');
numtodsinterval
-------------------------------
+123456789 02:57:46.666570000

View File

@ -40,11 +40,9 @@ explain (verbose on, costs off) select 1 where 'vasya' = (select 'vasya' as col1
Output: 1
One-Time Filter: ('vasya'::text = $0)
InitPlan 1 (returns $0)
-> Subquery Scan on dual
-> Result
Output: 'vasya'::text
-> Result
Output: 'X'::text
(8 rows)
(6 rows)
select 1 where 'vasya' = (select 'vasya' as col1);
?column?

View File

@ -964,13 +964,13 @@ select 2 > '15'::text;
SELECT pg_catalog.array_dims(' '::anyarray) AS a
,LENGTH(pg_catalog.array_dims(' '::anyarray)) AS b
FROM dual;
;
SELECT pg_catalog.array_to_string(' '::anyarray,' '::text) AS a
,LENGTH(pg_catalog.array_to_string(' '::anyarray,' '::text)) AS b
FROM dual;
;
SELECT pg_catalog.array_to_string(' '::anyarray,' '::text,''::text) AS a
,LENGTH(pg_catalog.array_to_string(' '::anyarray,' '::text,' '::text)) AS b
FROM dual;
;
SELECT pg_catalog.array_dims('{1,2,3}'::anyarray) AS a
,LENGTH(pg_catalog.array_dims('{1,2,3}'::anyarray)) AS b
FROM dual;
;

View File

@ -106,16 +106,16 @@ select numtodsinterval(-0.1,'HOUR');
select numtodsinterval(150032,'second');
select numtodsinterval(-.1500321234,'second');
--boundary test
SELECT numtodsinterval(-2147483648, 'DAY')from dual;
SELECT numtodsinterval(-2147483648, 'HOUR')from dual;
SELECT numtodsinterval(-2147483648, 'MINUTE')from dual;
SELECT numtodsinterval(-2147483648, 'SECOND')from dual;
SELECT numtodsinterval(2147483647, 'DAY')from dual;
SELECT numtodsinterval(999999999.99999999999, 'DAY')from dual;
SELECT numtodsinterval(2147483647, 'HOUR')from dual;
SELECT numtodsinterval(2147483647, 'MINUTE')from dual;
SELECT numtodsinterval(2147483647, 'SECOND')from dual;
SELECT numtodsinterval(123456789.123456789, 'DAY')from dual;
SELECT numtodsinterval(-2147483648, 'DAY');
SELECT numtodsinterval(-2147483648, 'HOUR');
SELECT numtodsinterval(-2147483648, 'MINUTE');
SELECT numtodsinterval(-2147483648, 'SECOND');
SELECT numtodsinterval(2147483647, 'DAY');
SELECT numtodsinterval(999999999.99999999999, 'DAY');
SELECT numtodsinterval(2147483647, 'HOUR');
SELECT numtodsinterval(2147483647, 'MINUTE');
SELECT numtodsinterval(2147483647, 'SECOND');
SELECT numtodsinterval(123456789.123456789, 'DAY');
SELECT '2147483647 days 24 hours'::interval;
set intervalstyle=postgres;