Skip to content
Snippets Groups Projects
Commit 7a86a2a9 authored by Thomas G. Lockhart's avatar Thomas G. Lockhart
Browse files

Add tests for varchar() and combinations of string types.

parent 1d7b6f14
No related branches found
No related tags found
No related merge requests found
QUERY: SELECT 'first line'
' - next line'
' - third line'
AS "Three lines to one";
Three lines to one
-----------------------------------
first line - next line - third line
(1 row)
QUERY: SELECT 'first line'
' - next line' /* this comment is not allowed here */
' - third line';
WARN:parser: parse error at or near "'"
QUERY: SELECT text(f1) FROM CHAR_TBL;
WARN:func_get_detail: function text(bpchar) does not exist
QUERY: SELECT text(f1) FROM VARCHAR_TBL;
WARN:func_get_detail: function text(varchar) does not exist
QUERY: CREATE TABLE VARCHAR_TBL(f1 varchar(1));
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('a');
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('A');
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('1');
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES (2);
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('3');
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('');
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('cd');
QUERY: SELECT '' AS seven, VARCHAR_TBL.*;
seven|f1
-----+--
|a
|A
|1
|2
|3
|
|c
(7 rows)
QUERY: SELECT '' AS six, c.*
FROM VARCHAR_TBL c
WHERE c.f1 <> 'a';
six|f1
---+--
|A
|1
|2
|3
|
|c
(6 rows)
QUERY: SELECT '' AS one, c.*
FROM VARCHAR_TBL c
WHERE c.f1 = 'a';
one|f1
---+--
|a
(1 row)
QUERY: SELECT '' AS five, c.*
FROM VARCHAR_TBL c
WHERE c.f1 < 'a';
five|f1
----+--
|A
|1
|2
|3
|
(5 rows)
QUERY: SELECT '' AS six, c.*
FROM VARCHAR_TBL c
WHERE c.f1 <= 'a';
six|f1
---+--
|a
|A
|1
|2
|3
|
(6 rows)
QUERY: SELECT '' AS one, c.*
FROM VARCHAR_TBL c
WHERE c.f1 > 'a';
one|f1
---+--
|c
(1 row)
QUERY: SELECT '' AS two, c.*
FROM VARCHAR_TBL c
WHERE c.f1 >= 'a';
two|f1
---+--
|a
|c
(2 rows)
QUERY: DROP TABLE VARCHAR_TBL;
QUERY: CREATE TABLE VARCHAR_TBL(f1 varchar(4));
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('a');
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('ab');
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd');
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('abcde');
QUERY: SELECT '' AS four, VARCHAR_TBL.*;
four|f1
----+----
|a
|ab
|abcd
|abcd
(4 rows)
--
-- Test various data entry syntaxes.
--
-- SQL92 string continuation syntax
SELECT 'first line'
' - next line'
' - third line'
AS "Three lines to one";
-- illegal string continuation syntax
SELECT 'first line'
' - next line' /* this comment is not allowed here */
' - third line';
--
-- test conversions between various string types
--
SELECT text(f1) FROM CHAR_TBL;
SELECT text(f1) FROM VARCHAR_TBL;
-- ****************** test built-in type 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');
SELECT '' AS seven, VARCHAR_TBL.*;
SELECT '' AS six, c.*
FROM VARCHAR_TBL c
WHERE c.f1 <> 'a';
SELECT '' AS one, c.*
FROM VARCHAR_TBL c
WHERE c.f1 = 'a';
SELECT '' AS five, c.*
FROM VARCHAR_TBL c
WHERE c.f1 < 'a';
SELECT '' AS six, c.*
FROM VARCHAR_TBL c
WHERE c.f1 <= 'a';
SELECT '' AS one, c.*
FROM VARCHAR_TBL c
WHERE c.f1 > 'a';
SELECT '' AS two, 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');
SELECT '' AS four, VARCHAR_TBL.*;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment