aboutsummaryrefslogtreecommitdiffstats
path: root/yql/essentials/tests/postgresql/original/cases/char.out
diff options
context:
space:
mode:
authorudovichenko-r <udovichenko-r@yandex-team.com>2024-11-19 14:11:52 +0300
committerudovichenko-r <udovichenko-r@yandex-team.com>2024-11-19 14:22:01 +0300
commit72b3cd51dc3fb9d16975d353ea82fd85701393cc (patch)
tree318141940b8bf6bdb37ad6154e745e2ebfe3613f /yql/essentials/tests/postgresql/original/cases/char.out
parent223625eed56ec3e2808c010eac46dba1c9a64d13 (diff)
downloadydb-72b3cd51dc3fb9d16975d353ea82fd85701393cc.tar.gz
YQL-19206 Move contrib/ydb/library/yql/tests/postgresql -> yql/essentials/tests/postgresql
commit_hash:46fdf59714b20cf2b61233a06e58365227d3c8b2
Diffstat (limited to 'yql/essentials/tests/postgresql/original/cases/char.out')
-rw-r--r--yql/essentials/tests/postgresql/original/cases/char.out122
1 files changed, 122 insertions, 0 deletions
diff --git a/yql/essentials/tests/postgresql/original/cases/char.out b/yql/essentials/tests/postgresql/original/cases/char.out
new file mode 100644
index 0000000000..d515b3ce34
--- /dev/null
+++ b/yql/essentials/tests/postgresql/original/cases/char.out
@@ -0,0 +1,122 @@
+--
+-- CHAR
+--
+-- fixed-length by value
+-- internally passed by value if <= 4 bytes in storage
+SELECT char 'c' = char 'c' AS true;
+ true
+------
+ t
+(1 row)
+
+--
+-- 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');
+ERROR: value too long for type character(1)
+INSERT INTO CHAR_TBL (f1) VALUES ('c ');
+SELECT * FROM CHAR_TBL;
+ f1
+----
+ a
+ A
+ 1
+ 2
+ 3
+
+ c
+(7 rows)
+
+SELECT c.*
+ FROM CHAR_TBL c
+ WHERE c.f1 <> 'a';
+ f1
+----
+ A
+ 1
+ 2
+ 3
+
+ c
+(6 rows)
+
+SELECT c.*
+ FROM CHAR_TBL c
+ WHERE c.f1 = 'a';
+ f1
+----
+ a
+(1 row)
+
+SELECT c.*
+ FROM CHAR_TBL c
+ WHERE c.f1 < 'a';
+ f1
+----
+ A
+ 1
+ 2
+ 3
+
+(5 rows)
+
+SELECT c.*
+ FROM CHAR_TBL c
+ WHERE c.f1 <= 'a';
+ f1
+----
+ a
+ A
+ 1
+ 2
+ 3
+
+(6 rows)
+
+SELECT c.*
+ FROM CHAR_TBL c
+ WHERE c.f1 > 'a';
+ f1
+----
+ c
+(1 row)
+
+SELECT c.*
+ FROM CHAR_TBL c
+ WHERE c.f1 >= 'a';
+ f1
+----
+ a
+ c
+(2 rows)
+
+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');
+ERROR: value too long for type character(4)
+INSERT INTO CHAR_TBL (f1) VALUES ('abcd ');
+SELECT * FROM CHAR_TBL;
+ f1
+------
+ a
+ ab
+ abcd
+ abcd
+(4 rows)
+