diff options
Diffstat (limited to 'src/test/regress/expected/char.out')
| -rw-r--r-- | src/test/regress/expected/char.out | 163 |
1 files changed, 89 insertions, 74 deletions
diff --git a/src/test/regress/expected/char.out b/src/test/regress/expected/char.out index 45d7eddea1..63606fba2d 100644 --- a/src/test/regress/expected/char.out +++ b/src/test/regress/expected/char.out @@ -1,104 +1,119 @@ -QUERY: SELECT 'c'::char = 'c'::char AS true; -true ----- -t +-- +-- CHAR +-- all inputs are SILENTLY truncated at 1 character +-- +-- fixed-length by value +-- internally passed by value if <= 4 bytes in storage +SELECT char 'c' = char 'c' AS true; + true +------ + t (1 row) -QUERY: CREATE TABLE CHAR_TBL(f1 char); -QUERY: INSERT INTO CHAR_TBL (f1) VALUES ('a'); -QUERY: INSERT INTO CHAR_TBL (f1) VALUES ('A'); -QUERY: INSERT INTO CHAR_TBL (f1) VALUES ('1'); -QUERY: INSERT INTO CHAR_TBL (f1) VALUES (2); -QUERY: INSERT INTO CHAR_TBL (f1) VALUES ('3'); -QUERY: INSERT INTO CHAR_TBL (f1) VALUES (''); -QUERY: INSERT INTO CHAR_TBL (f1) VALUES ('cd'); -QUERY: SELECT '' AS seven, CHAR_TBL.*; -seven|f1 ------+-- - |a - |A - |1 - |2 - |3 - | - |c +-- +-- 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'); +SELECT '' AS seven, CHAR_TBL.*; + seven | f1 +-------+---- + | a + | A + | 1 + | 2 + | 3 + | + | c (7 rows) -QUERY: SELECT '' AS six, c.* +SELECT '' AS six, c.* FROM CHAR_TBL c WHERE c.f1 <> 'a'; -six|f1 ----+-- - |A - |1 - |2 - |3 - | - |c + six | f1 +-----+---- + | A + | 1 + | 2 + | 3 + | + | c (6 rows) -QUERY: SELECT '' AS one, c.* +SELECT '' AS one, c.* FROM CHAR_TBL c WHERE c.f1 = 'a'; -one|f1 ----+-- - |a + one | f1 +-----+---- + | a (1 row) -QUERY: SELECT '' AS five, c.* +SELECT '' AS five, c.* FROM CHAR_TBL c WHERE c.f1 < 'a'; -five|f1 -----+-- - |A - |1 - |2 - |3 - | + five | f1 +------+---- + | A + | 1 + | 2 + | 3 + | (5 rows) -QUERY: SELECT '' AS six, c.* +SELECT '' AS six, c.* FROM CHAR_TBL c WHERE c.f1 <= 'a'; -six|f1 ----+-- - |a - |A - |1 - |2 - |3 - | + six | f1 +-----+---- + | a + | A + | 1 + | 2 + | 3 + | (6 rows) -QUERY: SELECT '' AS one, c.* +SELECT '' AS one, c.* FROM CHAR_TBL c WHERE c.f1 > 'a'; -one|f1 ----+-- - |c + one | f1 +-----+---- + | c (1 row) -QUERY: SELECT '' AS two, c.* +SELECT '' AS two, c.* FROM CHAR_TBL c WHERE c.f1 >= 'a'; -two|f1 ----+-- - |a - |c + two | f1 +-----+---- + | a + | c (2 rows) -QUERY: DROP TABLE CHAR_TBL; -QUERY: CREATE TABLE CHAR_TBL(f1 char(4)); -QUERY: INSERT INTO CHAR_TBL (f1) VALUES ('a'); -QUERY: INSERT INTO CHAR_TBL (f1) VALUES ('ab'); -QUERY: INSERT INTO CHAR_TBL (f1) VALUES ('abcd'); -QUERY: INSERT INTO CHAR_TBL (f1) VALUES ('abcde'); -QUERY: SELECT '' AS four, CHAR_TBL.*; -four|f1 -----+---- - |a - |ab - |abcd - |abcd +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'); +SELECT '' AS four, CHAR_TBL.*; + four | f1 +------+------ + | a + | ab + | abcd + | abcd (4 rows) |
