From 3a11dd5678bf6576416fdfe7bafaef7fd94e2d5a Mon Sep 17 00:00:00 2001 From: Mars Agliullin Date: Fri, 19 Jan 2024 20:40:38 +0300 Subject: [PATCH 1/4] Added char and varchar to the tests that are built --- ydb/library/yql/tests/postgresql/make-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ydb/library/yql/tests/postgresql/make-tests.sh b/ydb/library/yql/tests/postgresql/make-tests.sh index 9f131b2a5efb..a569c387acb8 100755 --- a/ydb/library/yql/tests/postgresql/make-tests.sh +++ b/ydb/library/yql/tests/postgresql/make-tests.sh @@ -5,7 +5,7 @@ --dstdir=cases \ --runner=../../tools/pgrun/pgrun \ --splitter="../../tools/pgrun/pgrun split-statements" \ - --skip=uuid,char,varchar \ + --skip=uuid \ --report=pg_tests.csv \ $@ From 4a633910ec94e59d504e0724d63ecb563acb00cd Mon Sep 17 00:00:00 2001 From: Mars Agliullin Date: Fri, 19 Jan 2024 20:42:53 +0300 Subject: [PATCH 2/4] Added tests & results for char & varchar --- .../yql/tests/postgresql/cases/char.err | 101 ++++++++++++++++++ .../yql/tests/postgresql/cases/char.err.1 | 101 ++++++++++++++++++ .../yql/tests/postgresql/cases/char.err.2 | 101 ++++++++++++++++++ .../yql/tests/postgresql/cases/char.out | 26 +++++ .../yql/tests/postgresql/cases/char.sql | 25 ++++- .../yql/tests/postgresql/cases/varchar.err | 93 ++++++++++++++++ .../yql/tests/postgresql/cases/varchar.err.1 | 93 ++++++++++++++++ .../yql/tests/postgresql/cases/varchar.err.2 | 93 ++++++++++++++++ .../yql/tests/postgresql/cases/varchar.out | 51 +++++++++ .../yql/tests/postgresql/cases/varchar.sql | 28 ++++- 10 files changed, 707 insertions(+), 5 deletions(-) create mode 100644 ydb/library/yql/tests/postgresql/cases/char.err create mode 100644 ydb/library/yql/tests/postgresql/cases/char.err.1 create mode 100644 ydb/library/yql/tests/postgresql/cases/char.err.2 create mode 100644 ydb/library/yql/tests/postgresql/cases/varchar.err create mode 100644 ydb/library/yql/tests/postgresql/cases/varchar.err.1 create mode 100644 ydb/library/yql/tests/postgresql/cases/varchar.err.2 diff --git a/ydb/library/yql/tests/postgresql/cases/char.err b/ydb/library/yql/tests/postgresql/cases/char.err new file mode 100644 index 000000000000..2de544856660 --- /dev/null +++ b/ydb/library/yql/tests/postgresql/cases/char.err @@ -0,0 +1,101 @@ + +-- +-- CHAR +-- +-- fixed-length by value +-- internally passed by value if <= 4 bytes in storage +SELECT char 'c' = char 'c' AS true; + + +-- +-- Build a table for testing +-- +CREATE TABLE CHAR_TBL(f1 char); + + +INSERT INTO CHAR_TBL (f1) VALUES ('a'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('A'); + + +-- any of the following three input formats are acceptable +INSERT INTO CHAR_TBL (f1) VALUES ('1'); + + +INSERT INTO CHAR_TBL (f1) VALUES (2); + + +INSERT INTO CHAR_TBL (f1) VALUES ('3'); + + +-- zero-length char +INSERT INTO CHAR_TBL (f1) VALUES (''); + + +-- try char's of greater than 1 length +INSERT INTO CHAR_TBL (f1) VALUES ('cd'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('c '); + + +SELECT * FROM CHAR_TBL; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 <> 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 = 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 < 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 <= 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 > 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 >= 'a'; + + +DROP TABLE CHAR_TBL; + + +-- +-- Now test longer arrays of char +-- +CREATE TABLE CHAR_TBL(f1 char(4)); + + +INSERT INTO CHAR_TBL (f1) VALUES ('a'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('ab'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('abcd'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('abcde'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('abcd '); + + +SELECT * FROM CHAR_TBL; + diff --git a/ydb/library/yql/tests/postgresql/cases/char.err.1 b/ydb/library/yql/tests/postgresql/cases/char.err.1 new file mode 100644 index 000000000000..2de544856660 --- /dev/null +++ b/ydb/library/yql/tests/postgresql/cases/char.err.1 @@ -0,0 +1,101 @@ + +-- +-- CHAR +-- +-- fixed-length by value +-- internally passed by value if <= 4 bytes in storage +SELECT char 'c' = char 'c' AS true; + + +-- +-- Build a table for testing +-- +CREATE TABLE CHAR_TBL(f1 char); + + +INSERT INTO CHAR_TBL (f1) VALUES ('a'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('A'); + + +-- any of the following three input formats are acceptable +INSERT INTO CHAR_TBL (f1) VALUES ('1'); + + +INSERT INTO CHAR_TBL (f1) VALUES (2); + + +INSERT INTO CHAR_TBL (f1) VALUES ('3'); + + +-- zero-length char +INSERT INTO CHAR_TBL (f1) VALUES (''); + + +-- try char's of greater than 1 length +INSERT INTO CHAR_TBL (f1) VALUES ('cd'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('c '); + + +SELECT * FROM CHAR_TBL; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 <> 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 = 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 < 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 <= 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 > 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 >= 'a'; + + +DROP TABLE CHAR_TBL; + + +-- +-- Now test longer arrays of char +-- +CREATE TABLE CHAR_TBL(f1 char(4)); + + +INSERT INTO CHAR_TBL (f1) VALUES ('a'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('ab'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('abcd'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('abcde'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('abcd '); + + +SELECT * FROM CHAR_TBL; + diff --git a/ydb/library/yql/tests/postgresql/cases/char.err.2 b/ydb/library/yql/tests/postgresql/cases/char.err.2 new file mode 100644 index 000000000000..2de544856660 --- /dev/null +++ b/ydb/library/yql/tests/postgresql/cases/char.err.2 @@ -0,0 +1,101 @@ + +-- +-- CHAR +-- +-- fixed-length by value +-- internally passed by value if <= 4 bytes in storage +SELECT char 'c' = char 'c' AS true; + + +-- +-- Build a table for testing +-- +CREATE TABLE CHAR_TBL(f1 char); + + +INSERT INTO CHAR_TBL (f1) VALUES ('a'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('A'); + + +-- any of the following three input formats are acceptable +INSERT INTO CHAR_TBL (f1) VALUES ('1'); + + +INSERT INTO CHAR_TBL (f1) VALUES (2); + + +INSERT INTO CHAR_TBL (f1) VALUES ('3'); + + +-- zero-length char +INSERT INTO CHAR_TBL (f1) VALUES (''); + + +-- try char's of greater than 1 length +INSERT INTO CHAR_TBL (f1) VALUES ('cd'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('c '); + + +SELECT * FROM CHAR_TBL; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 <> 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 = 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 < 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 <= 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 > 'a'; + + +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 >= 'a'; + + +DROP TABLE CHAR_TBL; + + +-- +-- Now test longer arrays of char +-- +CREATE TABLE CHAR_TBL(f1 char(4)); + + +INSERT INTO CHAR_TBL (f1) VALUES ('a'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('ab'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('abcd'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('abcde'); + + +INSERT INTO CHAR_TBL (f1) VALUES ('abcd '); + + +SELECT * FROM CHAR_TBL; + diff --git a/ydb/library/yql/tests/postgresql/cases/char.out b/ydb/library/yql/tests/postgresql/cases/char.out index 4336c6f9550a..5881d9f10b2d 100644 --- a/ydb/library/yql/tests/postgresql/cases/char.out +++ b/ydb/library/yql/tests/postgresql/cases/char.out @@ -13,3 +13,29 @@ SELECT char 'c' = char 'c' AS true; -- Build a table for testing -- CREATE TABLE CHAR_TBL(f1 char); +INSERT INTO CHAR_TBL (f1) VALUES ('a'); +INSERT INTO CHAR_TBL (f1) VALUES ('A'); +-- any of the following three input formats are acceptable +INSERT INTO CHAR_TBL (f1) VALUES ('1'); +INSERT INTO CHAR_TBL (f1) VALUES (2); +INSERT INTO CHAR_TBL (f1) VALUES ('3'); +-- zero-length char +INSERT INTO CHAR_TBL (f1) VALUES (''); +INSERT INTO CHAR_TBL (f1) VALUES ('c '); +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 = 'a'; + f1 +---- + a +(1 row) + +DROP TABLE CHAR_TBL; +-- +-- Now test longer arrays of char +-- +CREATE TABLE CHAR_TBL(f1 char(4)); +INSERT INTO CHAR_TBL (f1) VALUES ('a'); +INSERT INTO CHAR_TBL (f1) VALUES ('ab'); +INSERT INTO CHAR_TBL (f1) VALUES ('abcd'); +INSERT INTO CHAR_TBL (f1) VALUES ('abcd '); diff --git a/ydb/library/yql/tests/postgresql/cases/char.sql b/ydb/library/yql/tests/postgresql/cases/char.sql index 5e9d757b19c2..de51cce09a2d 100644 --- a/ydb/library/yql/tests/postgresql/cases/char.sql +++ b/ydb/library/yql/tests/postgresql/cases/char.sql @@ -1,14 +1,31 @@ -- -- CHAR -- - -- fixed-length by value -- internally passed by value if <= 4 bytes in storage - SELECT char 'c' = char 'c' AS true; - -- -- Build a table for testing -- - CREATE TABLE CHAR_TBL(f1 char); +INSERT INTO CHAR_TBL (f1) VALUES ('a'); +INSERT INTO CHAR_TBL (f1) VALUES ('A'); +-- any of the following three input formats are acceptable +INSERT INTO CHAR_TBL (f1) VALUES ('1'); +INSERT INTO CHAR_TBL (f1) VALUES (2); +INSERT INTO CHAR_TBL (f1) VALUES ('3'); +-- zero-length char +INSERT INTO CHAR_TBL (f1) VALUES (''); +INSERT INTO CHAR_TBL (f1) VALUES ('c '); +SELECT c.* + FROM CHAR_TBL c + WHERE c.f1 = 'a'; +DROP TABLE CHAR_TBL; +-- +-- Now test longer arrays of char +-- +CREATE TABLE CHAR_TBL(f1 char(4)); +INSERT INTO CHAR_TBL (f1) VALUES ('a'); +INSERT INTO CHAR_TBL (f1) VALUES ('ab'); +INSERT INTO CHAR_TBL (f1) VALUES ('abcd'); +INSERT INTO CHAR_TBL (f1) VALUES ('abcd '); diff --git a/ydb/library/yql/tests/postgresql/cases/varchar.err b/ydb/library/yql/tests/postgresql/cases/varchar.err new file mode 100644 index 000000000000..6f5db506f30b --- /dev/null +++ b/ydb/library/yql/tests/postgresql/cases/varchar.err @@ -0,0 +1,93 @@ + +-- +-- VARCHAR +-- +CREATE TABLE VARCHAR_TBL(f1 varchar(1)); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('a'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('A'); + + +-- any of the following three input formats are acceptable +INSERT INTO VARCHAR_TBL (f1) VALUES ('1'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES (2); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('3'); + + +-- zero-length char +INSERT INTO VARCHAR_TBL (f1) VALUES (''); + + +-- try varchar's of greater than 1 length +INSERT INTO VARCHAR_TBL (f1) VALUES ('cd'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('c '); + + +SELECT * FROM VARCHAR_TBL; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 <> 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 = 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 < 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 <= 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 > 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 >= 'a'; + + +DROP TABLE VARCHAR_TBL; + + +-- +-- Now test longer arrays of char +-- +CREATE TABLE VARCHAR_TBL(f1 varchar(4)); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('a'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('ab'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('abcde'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd '); + + +SELECT * FROM VARCHAR_TBL; + diff --git a/ydb/library/yql/tests/postgresql/cases/varchar.err.1 b/ydb/library/yql/tests/postgresql/cases/varchar.err.1 new file mode 100644 index 000000000000..6f5db506f30b --- /dev/null +++ b/ydb/library/yql/tests/postgresql/cases/varchar.err.1 @@ -0,0 +1,93 @@ + +-- +-- VARCHAR +-- +CREATE TABLE VARCHAR_TBL(f1 varchar(1)); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('a'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('A'); + + +-- any of the following three input formats are acceptable +INSERT INTO VARCHAR_TBL (f1) VALUES ('1'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES (2); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('3'); + + +-- zero-length char +INSERT INTO VARCHAR_TBL (f1) VALUES (''); + + +-- try varchar's of greater than 1 length +INSERT INTO VARCHAR_TBL (f1) VALUES ('cd'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('c '); + + +SELECT * FROM VARCHAR_TBL; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 <> 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 = 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 < 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 <= 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 > 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 >= 'a'; + + +DROP TABLE VARCHAR_TBL; + + +-- +-- Now test longer arrays of char +-- +CREATE TABLE VARCHAR_TBL(f1 varchar(4)); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('a'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('ab'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('abcde'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd '); + + +SELECT * FROM VARCHAR_TBL; + diff --git a/ydb/library/yql/tests/postgresql/cases/varchar.err.2 b/ydb/library/yql/tests/postgresql/cases/varchar.err.2 new file mode 100644 index 000000000000..6f5db506f30b --- /dev/null +++ b/ydb/library/yql/tests/postgresql/cases/varchar.err.2 @@ -0,0 +1,93 @@ + +-- +-- VARCHAR +-- +CREATE TABLE VARCHAR_TBL(f1 varchar(1)); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('a'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('A'); + + +-- any of the following three input formats are acceptable +INSERT INTO VARCHAR_TBL (f1) VALUES ('1'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES (2); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('3'); + + +-- zero-length char +INSERT INTO VARCHAR_TBL (f1) VALUES (''); + + +-- try varchar's of greater than 1 length +INSERT INTO VARCHAR_TBL (f1) VALUES ('cd'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('c '); + + +SELECT * FROM VARCHAR_TBL; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 <> 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 = 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 < 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 <= 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 > 'a'; + + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 >= 'a'; + + +DROP TABLE VARCHAR_TBL; + + +-- +-- Now test longer arrays of char +-- +CREATE TABLE VARCHAR_TBL(f1 varchar(4)); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('a'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('ab'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('abcde'); + + +INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd '); + + +SELECT * FROM VARCHAR_TBL; + diff --git a/ydb/library/yql/tests/postgresql/cases/varchar.out b/ydb/library/yql/tests/postgresql/cases/varchar.out index b55b16762520..46f8bd303296 100644 --- a/ydb/library/yql/tests/postgresql/cases/varchar.out +++ b/ydb/library/yql/tests/postgresql/cases/varchar.out @@ -2,3 +2,54 @@ -- VARCHAR -- CREATE TABLE VARCHAR_TBL(f1 varchar(1)); +INSERT INTO VARCHAR_TBL (f1) VALUES ('a'); +INSERT INTO VARCHAR_TBL (f1) VALUES ('A'); +-- any of the following three input formats are acceptable +INSERT INTO VARCHAR_TBL (f1) VALUES ('1'); +INSERT INTO VARCHAR_TBL (f1) VALUES (2); +INSERT INTO VARCHAR_TBL (f1) VALUES ('3'); +-- zero-length char +INSERT INTO VARCHAR_TBL (f1) VALUES (''); +INSERT INTO VARCHAR_TBL (f1) VALUES ('c '); +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 = 'a'; + f1 +---- + a +(1 row) + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 < 'a'; + f1 +---- + A + 1 + 2 + 3 + +(5 rows) + +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 <= 'a'; + f1 +---- + a + A + 1 + 2 + 3 + +(6 rows) + +DROP TABLE VARCHAR_TBL; +-- +-- Now test longer arrays of char +-- +CREATE TABLE VARCHAR_TBL(f1 varchar(4)); +INSERT INTO VARCHAR_TBL (f1) VALUES ('a'); +INSERT INTO VARCHAR_TBL (f1) VALUES ('ab'); +INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd'); +INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd '); diff --git a/ydb/library/yql/tests/postgresql/cases/varchar.sql b/ydb/library/yql/tests/postgresql/cases/varchar.sql index 8e0b0a47df4d..5353ac7c3607 100644 --- a/ydb/library/yql/tests/postgresql/cases/varchar.sql +++ b/ydb/library/yql/tests/postgresql/cases/varchar.sql @@ -1,5 +1,31 @@ -- -- VARCHAR -- - CREATE TABLE VARCHAR_TBL(f1 varchar(1)); +INSERT INTO VARCHAR_TBL (f1) VALUES ('a'); +INSERT INTO VARCHAR_TBL (f1) VALUES ('A'); +-- any of the following three input formats are acceptable +INSERT INTO VARCHAR_TBL (f1) VALUES ('1'); +INSERT INTO VARCHAR_TBL (f1) VALUES (2); +INSERT INTO VARCHAR_TBL (f1) VALUES ('3'); +-- zero-length char +INSERT INTO VARCHAR_TBL (f1) VALUES (''); +INSERT INTO VARCHAR_TBL (f1) VALUES ('c '); +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 = 'a'; +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 < 'a'; +SELECT c.* + FROM VARCHAR_TBL c + WHERE c.f1 <= 'a'; +DROP TABLE VARCHAR_TBL; +-- +-- Now test longer arrays of char +-- +CREATE TABLE VARCHAR_TBL(f1 varchar(4)); +INSERT INTO VARCHAR_TBL (f1) VALUES ('a'); +INSERT INTO VARCHAR_TBL (f1) VALUES ('ab'); +INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd'); +INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd '); From 99df2edcfd6b02d84a4ec868d62c96a7dca27873 Mon Sep 17 00:00:00 2001 From: Mars Agliullin Date: Fri, 19 Jan 2024 22:16:44 +0300 Subject: [PATCH 3/4] Updated .err files --- .../yql/tests/postgresql/cases/json.err | 5 +- .../yql/tests/postgresql/cases/jsonb.err | 5 +- .../yql/tests/postgresql/cases/window.err | 107 +++++++----------- 3 files changed, 48 insertions(+), 69 deletions(-) diff --git a/ydb/library/yql/tests/postgresql/cases/json.err b/ydb/library/yql/tests/postgresql/cases/json.err index cb47a7d11506..dd6b23239dae 100644 --- a/ydb/library/yql/tests/postgresql/cases/json.err +++ b/ydb/library/yql/tests/postgresql/cases/json.err @@ -318,8 +318,9 @@ SELECT repeat('[', 10000)::json; -stdin-:
:1:1: Fatal: Execution of node: Result SELECT repeat('[', 10000)::json; ^ - -stdin-:
:1:1: Fatal: ERROR: stack depth limit exceeded -HINT: Increase the configuration parameter "max_stack_depth" (currently 100kB), after ensuring the platform's stack depth limit is adequate. + -stdin-:
:1:1: Fatal: ERROR: invalid input syntax for type json +DETAIL: The input string ended unexpectedly. +CONTEXT: JSON data, line 1: ...[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ SELECT repeat('[', 10000)::json; ^ diff --git a/ydb/library/yql/tests/postgresql/cases/jsonb.err b/ydb/library/yql/tests/postgresql/cases/jsonb.err index c0a44f50465a..44ec18afdacc 100644 --- a/ydb/library/yql/tests/postgresql/cases/jsonb.err +++ b/ydb/library/yql/tests/postgresql/cases/jsonb.err @@ -318,8 +318,9 @@ SELECT repeat('[', 10000)::jsonb; -stdin-:
:1:1: Fatal: Execution of node: Result SELECT repeat('[', 10000)::jsonb; ^ - -stdin-:
:1:1: Fatal: ERROR: stack depth limit exceeded -HINT: Increase the configuration parameter "max_stack_depth" (currently 100kB), after ensuring the platform's stack depth limit is adequate. + -stdin-:
:1:1: Fatal: ERROR: invalid input syntax for type json +DETAIL: The input string ended unexpectedly. +CONTEXT: JSON data, line 1: ...[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ SELECT repeat('[', 10000)::jsonb; ^ diff --git a/ydb/library/yql/tests/postgresql/cases/window.err b/ydb/library/yql/tests/postgresql/cases/window.err index e785c75f109d..214dae410ae4 100644 --- a/ydb/library/yql/tests/postgresql/cases/window.err +++ b/ydb/library/yql/tests/postgresql/cases/window.err @@ -3246,72 +3246,49 @@ SELECT i,AVG(v::bigint) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED SELECT i,AVG(v::int) OVER (ORDER BY i ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) FROM (VALUES(1,1),(2,2),(3,NULL),(4,NULL)) t(i,v); -VERIFY failed (2024-01-12T02:19:37.139252+0300): Value is not boxed +VERIFY failed (2024-01-19T19:50:47.838646+0300): Value is not boxed ydb/library/yql/public/udf/udf_value_inl.h:379 AsBoxed(): requirement IsBoxed() failed -BackTrace(void**, unsigned long)+29 (0x142C329D) -FormatBackTrace(IOutputStream*)+32 (0x142C3770) -PrintBackTrace()+17 (0x142C37C1) -NPrivate::InternalPanicImpl(int, char const*, char const*, int, int, int, TBasicStringBuf >, char const*, unsigned long)+995 (0x143260F3) -NPrivate::Panic(NPrivate::TStaticBuf const&, int, char const*, char const*, char const*, ...)+418 (0x14319332) -NYql::NUdf::TUnboxedValuePod::AsBoxed() const+218 (0x154F450A) -NYql::PointerDatumFromPod(NYql::NUdf::TUnboxedValuePod const&)+29 (0x1BB15C6D) -NYql::TPgResolvedCall::DoCalculate(NKikimr::NMiniKQL::TComputationContext&) const+771 (0x1BB577E3) -NKikimr::NMiniKQL::TMutableComputationNode >::GetValue(NKikimr::NMiniKQL::TComputationContext&) const+420 (0x1BB56C84) -??+0 (0x7F17843F0C53) -??+0 (0x7F17843F047C) -??+0 (0x7F17843EEE01) -??+0 (0x2011E4F2) -NYql::NUdf::TBoxedValueAccessor::Fetch(NYql::NUdf::IBoxedValue&, NYql::NUdf::TUnboxedValue&)+244 (0x17B82E34) -NYql::NUdf::TUnboxedValuePod::Fetch(NYql::NUdf::TUnboxedValue&) const+228 (0x17B82CB4) -NKikimr::NMiniKQL::TForwardListValue::TIterator::Next(NYql::NUdf::TUnboxedValue&)+36 (0x17E35FF4) -NYql::NUdf::TBoxedValueAccessor::Next(NYql::NUdf::IBoxedValue&, NYql::NUdf::TUnboxedValue&)+244 (0x151403B4) -NYql::NUdf::TUnboxedValuePod::Next(NYql::NUdf::TUnboxedValue&) const+228 (0x15140084) -NYql::TYsonExecuteResOrPull::WriteValue(NYql::NUdf::TUnboxedValue const&, NKikimr::NMiniKQL::TType*)+436 (0x20D5B834) -NYql::NFile::TYtFileGateway::ExecuteResult(NYql::NFile::TSession&, NYson::TYsonWriter&, NYql::NNodes::TExprBase, NYql::TExprContext&, NYql::IYtGateway::TResOrPullOptions&&, TVector >, std::__y1::allocator > > > const&) const+2002 (0x1C6C1D32) -NYql::NFile::TYtFileGateway::ResOrPull(TIntrusivePtr > const&, NYql::TExprContext&, NYql::IYtGateway::TResOrPullOptions&&)+1128 (0x1C694F58) -??+0 (0x1AEE8ACE) -??+0 (0x1AEECD59) -??+0 (0x1AEECCB8) -??+0 (0x1AEECC48) -??+0 (0x1AEECBF8) -??+0 (0x1AEEBF8C) -std::__y1::__function::__value_func > const&, TIntrusivePtr >&, NYql::TExprContext&)> > > (TIntrusivePtr > const&, TIntrusivePtr >&, NYql::TExprContext&)>::operator()[abi:v15000](TIntrusivePtr > const&, TIntrusivePtr >&, NYql::TExprContext&) const+93 (0x1AEFCA0D) -std::__y1::function > const&, TIntrusivePtr >&, NYql::TExprContext&)> > > (TIntrusivePtr > const&, TIntrusivePtr >&, NYql::TExprContext&)>::operator()(TIntrusivePtr > const&, TIntrusivePtr >&, NYql::TExprContext&) const+56 (0x1AEFBD58) -NYql::TExecTransformerBase::CallbackTransform(TIntrusivePtr > const&, TIntrusivePtr >&, NYql::TExprContext&)+811 (0x1AEFB9DB) -NYql::TAsyncCallbackTransformer::DoTransform(TIntrusivePtr >, TIntrusivePtr >&, NYql::TExprContext&)+64 (0x1AEE9D20) -NYql::TGraphTransformerBase::Transform(TIntrusivePtr >, TIntrusivePtr >&, NYql::TExprContext&)+100 (0x15645D84) -??+0 (0x1799623C) -??+0 (0x17989C86) -NYql::TGraphTransformerBase::Transform(TIntrusivePtr >, TIntrusivePtr >&, NYql::TExprContext&)+100 (0x15645D84) -??+0 (0x17B2220C) -??+0 (0x17B14548) -??+0 (0x17B20AEC) -??+0 (0x17B147F7) -??+0 (0x17B207AA) -??+0 (0x17B147F7) -??+0 (0x17B0CD4E) -NYql::TGraphTransformerBase::Transform(TIntrusivePtr >, TIntrusivePtr >&, NYql::TExprContext&)+100 (0x15645D84) -??+0 (0x15649CA8) -??+0 (0x156499D9) -??+0 (0x156463E5) -NYql::TGraphTransformerBase::Transform(TIntrusivePtr >, TIntrusivePtr >&, NYql::TExprContext&)+100 (0x15645D84) -NYql::AsyncTransformStepImpl(NYql::IGraphTransformer&, TIntrusivePtr >&, NYql::TExprContext&, bool, bool, TBasicStringBuf > const&)+1222 (0x15644E36) -NYql::AsyncTransform(NYql::IGraphTransformer&, TIntrusivePtr >&, NYql::TExprContext&, bool)+127 (0x156456BF) -NYql::TProgram::AsyncTransformWithFallback(bool)+120 (0x16EA37F8) -??+0 (0x16ECA8FE) -??+0 (0x16ECA477) -??+0 (0x16ECA345) -??+0 (0x16EC8E20) -??+0 (0x16EC8CE7) -??+0 (0x16EA1D0D) -NYql::TProgram::RunAsync(TBasicString > const&, IOutputStream*, IOutputStream*, IOutputStream*, bool)+3760 (0x16EA19A0) -??+0 (0x16E9E584) -NYql::TProgram::Run(TBasicString > const&, IOutputStream*, IOutputStream*, IOutputStream*, bool)+301 (0x16EA0A4D) -Main(int, char**)+5378 (0x1414F2E2) -main+273 (0x14150F11) -??+0 (0x7F1784029D90) -__libc_start_main+128 (0x7F1784029E40) -??+0 (0x140DA029) +NPrivate::InternalPanicImpl(int, char const*, char const*, int, int, int, TBasicStringBuf >, char const*, unsigned long)+524 (0x7F8407C) +NPrivate::Panic(NPrivate::TStaticBuf const&, int, char const*, char const*, char const*, ...)+284 (0x7F7A38C) +NYql::TPgResolvedCall::DoCalculate(NKikimr::NMiniKQL::TComputationContext&) const+1098 (0xC88D5FA) +NKikimr::NMiniKQL::TMutableComputationNode >::GetValue(NKikimr::NMiniKQL::TComputationContext&) const+142 (0xC88CC7E) +??+0 (0x7FFB2C51BC53) +??+0 (0x7FFB2C51B47C) +??+0 (0x7FFB2C519E01) +NKikimr::NMiniKQL::TForwardListValue::TIterator::Next(NYql::NUdf::TUnboxedValue&)+39 (0xA4B6217) +NYql::TYsonExecuteResOrPull::WriteValue(NYql::NUdf::TUnboxedValue const&, NKikimr::NMiniKQL::TType*)+224 (0xFA30D90) +NYql::NFile::TYtFileGateway::ExecuteResult(NYql::NFile::TSession&, NYson::TYsonWriter&, NYql::NNodes::TExprBase, NYql::TExprContext&, NYql::IYtGateway::TResOrPullOptions&&, TVector >, std::__y1::allocator > > > const&) const+2118 (0xD064E86) +NYql::NFile::TYtFileGateway::ResOrPull(TIntrusivePtr > const&, NYql::TExprContext&, NYql::IYtGateway::TResOrPullOptions&&)+861 (0xD04F70D) +??+0 (0xC2474C9) +??+0 (0xC24A6CA) +NYql::TExecTransformerBase::CallbackTransform(TIntrusivePtr > const&, TIntrusivePtr >&, NYql::TExprContext&)+1018 (0xC24EA6A) +NYql::TAsyncCallbackTransformer::DoTransform(TIntrusivePtr >, TIntrusivePtr >&, NYql::TExprContext&)+37 (0xC249E55) +NYql::TGraphTransformerBase::Transform(TIntrusivePtr >, TIntrusivePtr >&, NYql::TExprContext&)+152 (0x8A3CB28) +??+0 (0xA16234D) +??+0 (0xA1575AF) +NYql::TGraphTransformerBase::Transform(TIntrusivePtr >, TIntrusivePtr >&, NYql::TExprContext&)+152 (0x8A3CB28) +??+0 (0xA24906F) +??+0 (0xA24D9F0) +??+0 (0xA248B55) +??+0 (0xA24D88C) +??+0 (0xA248B55) +??+0 (0xA245668) +NYql::TGraphTransformerBase::Transform(TIntrusivePtr >, TIntrusivePtr >&, NYql::TExprContext&)+152 (0x8A3CB28) +??+0 (0x8A3E332) +??+0 (0x8A3D326) +NYql::TGraphTransformerBase::Transform(TIntrusivePtr >, TIntrusivePtr >&, NYql::TExprContext&)+152 (0x8A3CB28) +NYql::AsyncTransformStepImpl(NYql::IGraphTransformer&, TIntrusivePtr >&, NYql::TExprContext&, bool, bool, TBasicStringBuf > const&)+290 (0x8A3B5B2) +NYql::AsyncTransform(NYql::IGraphTransformer&, TIntrusivePtr >&, NYql::TExprContext&, bool)+66 (0x8A3BEA2) +NYql::TProgram::AsyncTransformWithFallback(bool)+81 (0x997C591) +??+0 (0x998F6D0) +NYql::TProgram::RunAsync(TBasicString > const&, IOutputStream*, IOutputStream*, IOutputStream*, bool)+3039 (0x997A47F) +??+0 (0x997747A) +NYql::TProgram::Run(TBasicString > const&, IOutputStream*, IOutputStream*, IOutputStream*, bool)+129 (0x9979861) +Main(int, char**)+4464 (0x7E624E0) +main+200 (0x7E64718) +??+0 (0x7FFB2C229D90) +__libc_start_main+128 (0x7FFB2C229E40) +??+0 (0x7DF8029) pthread_kill at ./nptl/./nptl/pthread_kill.c:43:17 ?? at ??:0:0 From 8064ea2f721981dcfd58f8937d9bfcf2f366e5a9 Mon Sep 17 00:00:00 2001 From: Mars Agliullin Date: Fri, 19 Jan 2024 22:30:58 +0300 Subject: [PATCH 4/4] Updated regression tests' status --- ydb/library/yql/tests/postgresql/pg_tests.csv | 110 +++++++++--------- ydb/library/yql/tests/postgresql/status.md | 90 +++++++------- ydb/library/yql/tests/postgresql/status.old | 6 +- 3 files changed, 104 insertions(+), 102 deletions(-) diff --git a/ydb/library/yql/tests/postgresql/pg_tests.csv b/ydb/library/yql/tests/postgresql/pg_tests.csv index 044ac5c195a2..7f73f8040ff3 100644 --- a/ydb/library/yql/tests/postgresql/pg_tests.csv +++ b/ydb/library/yql/tests/postgresql/pg_tests.csv @@ -1,54 +1,56 @@ -testcase,statements,successful,ratio -comments,7,7,100.0 -functional_deps,40,6,15.0 -expressions,63,14,22.22 -dbsize,24,24,100.0 -create_table,368,43,11.68 -create_misc,76,3,3.95 -json_encoding,42,42,100.0 -alter_table,1679,11,0.66 -insert,357,15,4.2 -jsonpath_encoding,31,31,100.0 -jsonb_jsonpath,427,88,20.61 -horology,306,79,25.82 -limit,84,5,5.95 -numerology,24,8,33.33 -jsonpath,169,152,89.94 -delete,10,0,0.0 -select_distinct,46,1,2.17 -select_distinct_on,4,0,0.0 -date,264,200,75.76 -name,40,22,55.0 -case,63,29,46.03 -select_into,67,3,4.48 -strings,390,31,7.95 -oid,27,21,77.78 -select,88,9,10.23 -text,76,15,19.74 -interval,168,115,68.45 -float4,96,48,50.0 -subselect,234,2,0.85 -boolean,93,73,78.49 -unicode,13,4,30.77 -int2,49,47,95.92 -bit,115,84,73.04 -time,39,33,84.62 -int4,70,70,100.0 -union,186,0,0.0 -float8,168,96,57.14 -timetz,45,29,64.44 -json,454,115,25.33 -update,288,22,7.64 -truncate,193,33,17.1 -window,298,5,1.68 -arrays,410,119,29.02 -aggregates,416,51,12.26 -jsonb,1017,382,37.56 -timestamp,145,98,67.59 -int8,142,48,33.8 -timestamptz,315,108,34.29 -xml,234,15,6.41 -select_having,23,16,69.57 -join,591,106,17.94 -select_implicit,44,13,29.55 -numeric,915,715,78.14 +testcase,statements,successful,ratio +aggregates,416,51,12.26 +alter_table,1679,11,0.66 +arrays,410,119,29.02 +bit,115,84,73.04 +boolean,93,73,78.49 +case,63,29,46.03 +char,25,16,64.0 +comments,7,7,100.0 +create_misc,76,3,3.95 +create_table,368,43,11.68 +date,264,200,75.76 +dbsize,24,24,100.0 +delete,10,0,0.0 +expressions,63,14,22.22 +float4,96,48,50.0 +float8,168,96,57.14 +functional_deps,40,7,17.5 +horology,306,79,25.82 +insert,357,15,4.2 +int2,49,47,95.92 +int4,70,70,100.0 +int8,142,48,33.8 +interval,168,115,68.45 +join,591,106,17.94 +json,454,114,25.11 +json_encoding,42,42,100.0 +jsonb,1017,381,37.46 +jsonb_jsonpath,427,88,20.61 +jsonpath,169,152,89.94 +jsonpath_encoding,31,31,100.0 +limit,84,5,5.95 +name,40,22,55.0 +numeric,915,715,78.14 +numerology,24,8,33.33 +oid,27,21,77.78 +select,88,9,10.23 +select_distinct,46,1,2.17 +select_distinct_on,4,0,0.0 +select_having,23,16,69.57 +select_implicit,44,13,29.55 +select_into,67,3,4.48 +strings,390,31,7.95 +subselect,234,5,2.14 +text,76,15,19.74 +time,39,33,84.62 +timestamp,145,98,67.59 +timestamptz,315,108,34.29 +timetz,45,29,64.44 +truncate,193,33,17.1 +unicode,13,4,30.77 +union,186,0,0.0 +update,288,22,7.64 +varchar,24,15,62.5 +window,298,5,1.68 +xml,234,15,6.41 diff --git a/ydb/library/yql/tests/postgresql/status.md b/ydb/library/yql/tests/postgresql/status.md index 25d51f45d49f..aef2262f264f 100644 --- a/ydb/library/yql/tests/postgresql/status.md +++ b/ydb/library/yql/tests/postgresql/status.md @@ -2,60 +2,60 @@ #| ||№ п/п | Имя теста|Число операторов| Из них выполняется| % выполнения | Последнее обновление | Основные проблемы || -|| 1 | boolean | 93 | 73 (+6) | 78.49 | 16.12.2023 | DROP TABLE, implicit casts || -|| 2 | char | 25 | 3 | 12.0 | 25.05.2023 | implicit cast, pgbpchar vs pgtext || -|| 3 | name | 40 | 22 (+17) | 55.0 | 29.09.2023 | parse_ident, implicit casts || -|| 4 | varchar | 24 | 2 | 8.33 | 25.05.2023 | || -|| 5 | text | 76 | 15 (+10) | 19.74 | 12.12.2023 | строковые функции (format, concat, concat_ws, length) и оператор конкатенации, implicit casts, отличаются сообщения об ошибках для оператора конкатенации с аргументами неподходящих типов || -|| 6 | int2 | 49 | 47 (+39) | 95.92 | 29.09.2023 | || -|| 7 | int4 | 70 | 70 (+42) | 100.0 | 29.09.2023 | || -|| 8 | int8 | 142 | 48 (+35) | 33.8 | 12.12.2023 | generate_series, pg_type, gcd, implicit casts || -|| 9 | oid | 27 | 21 (+19) | 77.78 | 29.09.2023 | || -|| 10 | float4 | 96 | 48 (+31) | 50.0 | 29.09.2023 | CREATE TYPE, CREATE FUNCTION, WITH, форматирование NaN и Infinity, float4send || -|| 11 | float8 | 168 | 96 (+1) | 57.14 | 25.10.2023 | CREATE CAST, форматирование NaN и Infinity, extra_float_digits, implicit casts, float8send || -|| 12 | bit | 115 | 84 (+80) | 73.04 | 12.12.2023 | substring, COPY FROM stdin, битовые константы || -|| 13 | numeric | 915 | 715 (+189) | 78.14 | 12.12.2023 | CREATE UNIQUE INDEX, VACUUM ANALYZE, implicit casts, ошибочно проходит cast в int2 и int8, форматирование NaN и Infinity, COPY FROM stdin, SET lc_numeric, умножение больших целых чисел не дает в результате число с плавающей точкой, sum(), округление, nullif, форматирование чисел || +|| 1 | boolean | 93 | 73 | 78.49 | 16.12.2023 | YQL-17569 || +|| 2 | char | 25 | 16 (+13) | 64.0 | 19.01.2024 | implicit cast, pgbpchar vs pgtext || +|| 3 | name | 40 | 22 | 55.0 | 29.09.2023 | parse_ident, implicit casts || +|| 4 | varchar | 24 | 15 (+13) | 62.5 | 19.01.2024 | || +|| 5 | text | 76 | 15 | 19.74 | 12.12.2023 | строковые функции (format, concat, concat_ws, length) и оператор конкатенации, implicit casts, отличаются сообщения об ошибках для оператора конкатенации с аргументами неподходящих типов || +|| 6 | int2 | 49 | 47 | 95.92 | 29.09.2023 | || +|| 7 | int4 | 70 | 70 | 100.0 | 29.09.2023 | || +|| 8 | int8 | 142 | 48 | 33.8 | 12.12.2023 | generate_series, pg_type, gcd, implicit casts || +|| 9 | oid | 27 | 21 | 77.78 | 29.09.2023 | || +|| 10 | float4 | 96 | 48 | 50.0 | 29.09.2023 | CREATE TYPE, CREATE FUNCTION, WITH, форматирование NaN и Infinity, float4send || +|| 11 | float8 | 168 | 96 | 57.14 | 25.10.2023 | CREATE CAST, форматирование NaN и Infinity, extra_float_digits, implicit casts, float8send || +|| 12 | bit | 115 | 84 | 73.04 | 12.12.2023 | substring, COPY FROM stdin, битовые константы || +|| 13 | numeric | 915 | 715 | 78.14 | 12.12.2023 | CREATE UNIQUE INDEX, VACUUM ANALYZE, implicit casts, ошибочно проходит cast в int2 и int8, форматирование NaN и Infinity, COPY FROM stdin, SET lc_numeric, умножение больших целых чисел не дает в результате число с плавающей точкой, sum(), округление, nullif, форматирование чисел || || 14 | uuid | 36 | 0 | 0.0 | 02.05.2023 | ||· -|| 15 | strings | 390 | 31 (+3) | 7.95 | 25.08.2023 | SET, RESET, standard_conforming_strings, bytea_output, неинициализированная поддержка регулярок, pg_class || -|| 16 | numerology | 24 | 8 (+4) | 33.33 | 26.07.2023 | || -|| 17 | date | 264 | 200 (+183) | 75.76 | 12.12.2023 | || -|| 18 | time | 39 | 33 (+22) | 84.62 | 12.12.2023 | || -|| 19 | timetz | 45 | 29 (+16) | 64.44 | 12.12.2023 | || -|| 20 | timestamp | 145 | 98 (+17) | 67.59 | 12.12.2023 | || -|| 21 | timestamptz | 315 | 108 (+25) | 34.29 | 12.12.2023 | || -|| 22 | interval | 168 | 115 (+1) | 68.45 | 25.10.2023 | || -|| 23 | horology | 306 | 79 (+28) | 25.82 | 10.08.2023 | SET, DateStyle, TimeZone, автоматически назначаемые имена колонкам-выражениям, SET TIME ZOME, RESET TIME ZONE, интервальный тип ПГ, || +|| 15 | strings | 390 | 31 | 7.95 | 25.08.2023 | SET, RESET, standard_conforming_strings, bytea_output, неинициализированная поддержка регулярок, pg_class || +|| 16 | numerology | 24 | 8 | 33.33 | 26.07.2023 | || +|| 17 | date | 264 | 200 | 75.76 | 12.12.2023 | || +|| 18 | time | 39 | 33 | 84.62 | 12.12.2023 | || +|| 19 | timetz | 45 | 29 | 64.44 | 12.12.2023 | || +|| 20 | timestamp | 145 | 98 | 67.59 | 12.12.2023 | || +|| 21 | timestamptz | 315 | 108 | 34.29 | 12.12.2023 | || +|| 22 | interval | 168 | 115 | 68.45 | 25.10.2023 | || +|| 23 | horology | 306 | 79 | 25.82 | 10.08.2023 | SET, DateStyle, TimeZone, автоматически назначаемые имена колонкам-выражениям, SET TIME ZOME, RESET TIME ZONE, интервальный тип ПГ, || || 24 | comments | 7 | 7 | 100.0 | 25.05.2023 | || -|| 25 | expressions | 63 | 14 (+4) | 22.22 | 25.10.2023 | || -|| 26 | unicode | 13 | 4 (+4) | 30.77 | 10.08.2023 | || +|| 25 | expressions | 63 | 14 | 22.22 | 25.10.2023 | || +|| 26 | unicode | 13 | 4 | 30.77 | 10.08.2023 | || || 27 | create_table | 368 | 43 | 11.68 | 12.12.2023 | CREATE UNLOGGED TABLE, REINDEX, PREPARE ... SELECT, DEALLOCATE, \gexec, pg_class, pg_attribute, CREATE TABLE PARTITION OF || -|| 28 | insert | 357 | 15 (+5) | 4.2 | 12.12.2023 | CREATE TEMP TABLE, ALTER TABLE, DROP TABLE, CREATE TYPE, CREATE RULE, \d+, DROP TYPE, create table...partition by range, create table ... partition of ..., tableoid::regclass, create or replace function, create operator, || -|| 29 | create_misc | 76 | 3 (+2) | 3.95 | 29.09.2023 | || -|| 30 | select | 88 | 9 (+5) | 10.23 | 12.12.2023 | порядок сортировки в виде ORDER BY поле using > или <, а также NULLS FIRST/LAST; ANALYZE, переменные enable_seqscan, enable_bitmapscan, enable_sort, whole-row Var referencing a subquery, подзапросы внутри values, INSERT INTO ... DEFAULT VALUES, Range sub select unsupported lateral, CREATE INDEX, DROP INDEX, explain (опции costs, analyze, timing, summary), SELECT 1 AS x ORDER BY x; CREATE FUNCTION, DROP FUNCTION, table inheritance, PARTITION BY || +|| 28 | insert | 357 | 15 | 4.2 | 12.12.2023 | CREATE TEMP TABLE, ALTER TABLE, DROP TABLE, CREATE TYPE, CREATE RULE, \d+, DROP TYPE, create table...partition by range, create table ... partition of ..., tableoid::regclass, create or replace function, create operator, || +|| 29 | create_misc | 76 | 3 | 3.95 | 29.09.2023 | || +|| 30 | select | 88 | 9 | 10.23 | 12.12.2023 | порядок сортировки в виде ORDER BY поле using > или <, а также NULLS FIRST/LAST; ANALYZE, переменные enable_seqscan, enable_bitmapscan, enable_sort, whole-row Var referencing a subquery, подзапросы внутри values, INSERT INTO ... DEFAULT VALUES, Range sub select unsupported lateral, CREATE INDEX, DROP INDEX, explain (опции costs, analyze, timing, summary), SELECT 1 AS x ORDER BY x; CREATE FUNCTION, DROP FUNCTION, table inheritance, PARTITION BY || || 31 | select_into | 67 | 3 | 4.48 | 27.07.2023 | || || 32 | select_distinct | 46 | 1 | 2.17 | 27.07.2023 | || || 33 | select_distinct_on | 4 | 0 | 0.0 | 25.05.2023 | || -|| 34 | select_implicit | 44 | 13 (+2) | 29.55 | 12.12.2023 | || -|| 35 | select_having | 23 | 16 (+5) | 69.57 | 12.12.2023 | || -|| 36 | subselect | 234 | 2 | 0.85 | 25.05.2023 | || +|| 34 | select_implicit | 44 | 13 | 29.55 | 12.12.2023 | || +|| 35 | select_having | 23 | 16 | 69.57 | 12.12.2023 | || +|| 36 | subselect | 234 | 5 (+3) | 2.14 | 19.01.2024 | || || 37 | union | 186 | 0 | 0.0 | 25.05.2023 | || -|| 38 | case | 63 | 29 (+16) | 46.03 | 12.12.2023 | implicit casts, create function volatile || -|| 39 | join | 591 | 106 (+83) | 17.94 | 12.12.2023 | || -|| 40 | aggregates | 416 | 51 (+50) | 12.26 | 12.12.2023 | || -|| 41 | arrays | 410 | 119 (+118) | 29.02 | 12.12.2023 | || -|| 42 | update | 288 | 22 (+5) | 7.64 | 12.12.2023 | :-переменные || +|| 38 | case | 63 | 29 | 46.03 | 12.12.2023 | implicit casts, create function volatile || +|| 39 | join | 591 | 106 | 17.94 | 12.12.2023 | || +|| 40 | aggregates | 416 | 51 | 12.26 | 12.12.2023 | || +|| 41 | arrays | 410 | 119 | 29.02 | 12.12.2023 | || +|| 42 | update | 288 | 22 | 7.64 | 12.12.2023 | :-переменные || || 43 | delete | 10 | 0 | 0.0 | 25.05.2023 | || -|| 44 | dbsize | 24 | 24 (+16) | 100.0 | 10.08.2023 | || -|| 45 | window | 298 | 5 (+3) | 1.68 | 12.12.2023 | || -|| 46 | functional_deps | 40 | 6 (+2) | 15.0 | 12.12.2023 | || -|| 47 | json | 454 | 115 (+64) | 25.33 | 12.12.2023 | || -|| 48 | jsonb | 1017 | 382 (+1) | 37.56 | 16.12.2023 | || +|| 44 | dbsize | 24 | 24 | 100.0 | 10.08.2023 | || +|| 45 | window | 298 | 5 | 1.68 | 12.12.2023 | || +|| 46 | functional_deps | 40 | 7 (+1) | 17.5 | 19.01.2024 | || +|| 47 | json | 454 | 114 | 25.11 | 19.01.2024 | || +|| 48 | jsonb | 1017 | 381 | 37.46 | 19.01.2024 | || || 49 | json_encoding | 42 | 42 | 100.0 | 29.05.2023 | || || 50 | jsonpath | 169 | 152 | 89.94 | 29.05.2023 | числа с точкой без целой части (например .1), литерал '00' || || 51 | jsonpath_encoding | 31 | 31 | 100.0 | 29.05.2023 | || -|| 52 | jsonb_jsonpath | 427 | 88 (+83) | 20.61 | 12.12.2023 | || -|| 53 | limit | 84 | 5 (+4) | 5.95 | 10.08.2023 | || -|| 54 | truncate | 193 | 33 (+30) | 17.1 | 12.12.2023 | || -|| 55 | alter_table | 1679 | 11 (+7) | 0.66 | 12.12.2023 | COMMENT ON TABLE || -|| 56 | xml | 234 | 15 (+12) | 6.41 | 12.12.2023 | \set VERBOSITY || +|| 52 | jsonb_jsonpath | 427 | 88 | 20.61 | 12.12.2023 | || +|| 53 | limit | 84 | 5 | 5.95 | 10.08.2023 | || +|| 54 | truncate | 193 | 33 | 17.1 | 12.12.2023 | || +|| 55 | alter_table | 1679 | 11 | 0.66 | 12.12.2023 | COMMENT ON TABLE || +|| 56 | xml | 234 | 15 | 6.41 | 12.12.2023 | \set VERBOSITY || |# diff --git a/ydb/library/yql/tests/postgresql/status.old b/ydb/library/yql/tests/postgresql/status.old index 8da5ecf2d50d..25d51f45d49f 100644 --- a/ydb/library/yql/tests/postgresql/status.old +++ b/ydb/library/yql/tests/postgresql/status.old @@ -2,7 +2,7 @@ #| ||№ п/п | Имя теста|Число операторов| Из них выполняется| % выполнения | Последнее обновление | Основные проблемы || -|| 1 | boolean | 93 | 67 (+3) | 72.04 | 12.12.2023 | DROP TABLE, implicit casts, \pset (null) || +|| 1 | boolean | 93 | 73 (+6) | 78.49 | 16.12.2023 | DROP TABLE, implicit casts || || 2 | char | 25 | 3 | 12.0 | 25.05.2023 | implicit cast, pgbpchar vs pgtext || || 3 | name | 40 | 22 (+17) | 55.0 | 29.09.2023 | parse_ident, implicit casts || || 4 | varchar | 24 | 2 | 8.33 | 25.05.2023 | || @@ -16,7 +16,7 @@ || 12 | bit | 115 | 84 (+80) | 73.04 | 12.12.2023 | substring, COPY FROM stdin, битовые константы || || 13 | numeric | 915 | 715 (+189) | 78.14 | 12.12.2023 | CREATE UNIQUE INDEX, VACUUM ANALYZE, implicit casts, ошибочно проходит cast в int2 и int8, форматирование NaN и Infinity, COPY FROM stdin, SET lc_numeric, умножение больших целых чисел не дает в результате число с плавающей точкой, sum(), округление, nullif, форматирование чисел || || 14 | uuid | 36 | 0 | 0.0 | 02.05.2023 | ||· -|| 15 | strings | 390 | 31 (+3) | 7.95 | 25.08.2023 | SET, RESET, standard_conforming_strings, bytea_output, \pset, неинициализированная поддержка регулярок, pg_class || +|| 15 | strings | 390 | 31 (+3) | 7.95 | 25.08.2023 | SET, RESET, standard_conforming_strings, bytea_output, неинициализированная поддержка регулярок, pg_class || || 16 | numerology | 24 | 8 (+4) | 33.33 | 26.07.2023 | || || 17 | date | 264 | 200 (+183) | 75.76 | 12.12.2023 | || || 18 | time | 39 | 33 (+22) | 84.62 | 12.12.2023 | || @@ -49,7 +49,7 @@ || 45 | window | 298 | 5 (+3) | 1.68 | 12.12.2023 | || || 46 | functional_deps | 40 | 6 (+2) | 15.0 | 12.12.2023 | || || 47 | json | 454 | 115 (+64) | 25.33 | 12.12.2023 | || -|| 48 | jsonb | 1017 | 381 (+331) | 37.46 | 12.12.2023 | || +|| 48 | jsonb | 1017 | 382 (+1) | 37.56 | 16.12.2023 | || || 49 | json_encoding | 42 | 42 | 100.0 | 29.05.2023 | || || 50 | jsonpath | 169 | 152 | 89.94 | 29.05.2023 | числа с точкой без целой части (например .1), литерал '00' || || 51 | jsonpath_encoding | 31 | 31 | 100.0 | 29.05.2023 | ||