Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 7a86a2a

Browse files
author
Thomas G. Lockhart
committed
Add tests for varchar() and combinations of string types.
1 parent 1d7b6f1 commit 7a86a2a

File tree

4 files changed

+202
-0
lines changed

4 files changed

+202
-0
lines changed

src/test/regress/expected/strings.out

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
QUERY: SELECT 'first line'
2+
' - next line'
3+
' - third line'
4+
AS "Three lines to one";
5+
Three lines to one
6+
-----------------------------------
7+
first line - next line - third line
8+
(1 row)
9+
10+
QUERY: SELECT 'first line'
11+
' - next line' /* this comment is not allowed here */
12+
' - third line';
13+
WARN:parser: parse error at or near "'"
14+
QUERY: SELECT text(f1) FROM CHAR_TBL;
15+
WARN:func_get_detail: function text(bpchar) does not exist
16+
QUERY: SELECT text(f1) FROM VARCHAR_TBL;
17+
WARN:func_get_detail: function text(varchar) does not exist

src/test/regress/expected/varchar.out

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
QUERY: CREATE TABLE VARCHAR_TBL(f1 varchar(1));
2+
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('a');
3+
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('A');
4+
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('1');
5+
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES (2);
6+
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('3');
7+
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('');
8+
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('cd');
9+
QUERY: SELECT '' AS seven, VARCHAR_TBL.*;
10+
seven|f1
11+
-----+--
12+
|a
13+
|A
14+
|1
15+
|2
16+
|3
17+
|
18+
|c
19+
(7 rows)
20+
21+
QUERY: SELECT '' AS six, c.*
22+
FROM VARCHAR_TBL c
23+
WHERE c.f1 <> 'a';
24+
six|f1
25+
---+--
26+
|A
27+
|1
28+
|2
29+
|3
30+
|
31+
|c
32+
(6 rows)
33+
34+
QUERY: SELECT '' AS one, c.*
35+
FROM VARCHAR_TBL c
36+
WHERE c.f1 = 'a';
37+
one|f1
38+
---+--
39+
|a
40+
(1 row)
41+
42+
QUERY: SELECT '' AS five, c.*
43+
FROM VARCHAR_TBL c
44+
WHERE c.f1 < 'a';
45+
five|f1
46+
----+--
47+
|A
48+
|1
49+
|2
50+
|3
51+
|
52+
(5 rows)
53+
54+
QUERY: SELECT '' AS six, c.*
55+
FROM VARCHAR_TBL c
56+
WHERE c.f1 <= 'a';
57+
six|f1
58+
---+--
59+
|a
60+
|A
61+
|1
62+
|2
63+
|3
64+
|
65+
(6 rows)
66+
67+
QUERY: SELECT '' AS one, c.*
68+
FROM VARCHAR_TBL c
69+
WHERE c.f1 > 'a';
70+
one|f1
71+
---+--
72+
|c
73+
(1 row)
74+
75+
QUERY: SELECT '' AS two, c.*
76+
FROM VARCHAR_TBL c
77+
WHERE c.f1 >= 'a';
78+
two|f1
79+
---+--
80+
|a
81+
|c
82+
(2 rows)
83+
84+
QUERY: DROP TABLE VARCHAR_TBL;
85+
QUERY: CREATE TABLE VARCHAR_TBL(f1 varchar(4));
86+
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('a');
87+
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('ab');
88+
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd');
89+
QUERY: INSERT INTO VARCHAR_TBL (f1) VALUES ('abcde');
90+
QUERY: SELECT '' AS four, VARCHAR_TBL.*;
91+
four|f1
92+
----+----
93+
|a
94+
|ab
95+
|abcd
96+
|abcd
97+
(4 rows)
98+

src/test/regress/sql/strings.sql

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
--
2+
-- Test various data entry syntaxes.
3+
--
4+
5+
-- SQL92 string continuation syntax
6+
SELECT 'first line'
7+
' - next line'
8+
' - third line'
9+
AS "Three lines to one";
10+
11+
-- illegal string continuation syntax
12+
SELECT 'first line'
13+
' - next line' /* this comment is not allowed here */
14+
' - third line';
15+
16+
--
17+
-- test conversions between various string types
18+
--
19+
20+
SELECT text(f1) FROM CHAR_TBL;
21+
22+
SELECT text(f1) FROM VARCHAR_TBL;
23+

src/test/regress/sql/varchar.sql

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
-- ****************** test built-in type varchar **************
2+
--
3+
4+
CREATE TABLE VARCHAR_TBL(f1 varchar(1));
5+
6+
INSERT INTO VARCHAR_TBL (f1) VALUES ('a');
7+
8+
INSERT INTO VARCHAR_TBL (f1) VALUES ('A');
9+
10+
-- any of the following three input formats are acceptable
11+
INSERT INTO VARCHAR_TBL (f1) VALUES ('1');
12+
13+
INSERT INTO VARCHAR_TBL (f1) VALUES (2);
14+
15+
INSERT INTO VARCHAR_TBL (f1) VALUES ('3');
16+
17+
-- zero-length char
18+
INSERT INTO VARCHAR_TBL (f1) VALUES ('');
19+
20+
-- try varchar's of greater than 1 length
21+
INSERT INTO VARCHAR_TBL (f1) VALUES ('cd');
22+
23+
24+
SELECT '' AS seven, VARCHAR_TBL.*;
25+
26+
SELECT '' AS six, c.*
27+
FROM VARCHAR_TBL c
28+
WHERE c.f1 <> 'a';
29+
30+
SELECT '' AS one, c.*
31+
FROM VARCHAR_TBL c
32+
WHERE c.f1 = 'a';
33+
34+
SELECT '' AS five, c.*
35+
FROM VARCHAR_TBL c
36+
WHERE c.f1 < 'a';
37+
38+
SELECT '' AS six, c.*
39+
FROM VARCHAR_TBL c
40+
WHERE c.f1 <= 'a';
41+
42+
SELECT '' AS one, c.*
43+
FROM VARCHAR_TBL c
44+
WHERE c.f1 > 'a';
45+
46+
SELECT '' AS two, c.*
47+
FROM VARCHAR_TBL c
48+
WHERE c.f1 >= 'a';
49+
50+
DROP TABLE VARCHAR_TBL;
51+
52+
--
53+
-- Now test longer arrays of char
54+
--
55+
56+
CREATE TABLE VARCHAR_TBL(f1 varchar(4));
57+
58+
INSERT INTO VARCHAR_TBL (f1) VALUES ('a');
59+
INSERT INTO VARCHAR_TBL (f1) VALUES ('ab');
60+
INSERT INTO VARCHAR_TBL (f1) VALUES ('abcd');
61+
INSERT INTO VARCHAR_TBL (f1) VALUES ('abcde');
62+
63+
SELECT '' AS four, VARCHAR_TBL.*;
64+

0 commit comments

Comments
 (0)