Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit962987a

Browse files
committed
Add NULL regression tests.
Manfred Koizar
1 parentd7c971a commit962987a

File tree

2 files changed

+90
-17
lines changed

2 files changed

+90
-17
lines changed

‎src/test/regress/expected/copy2.out

Lines changed: 70 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ CREATE TABLE x (
22
a serial,
33
b int,
44
c text not null default 'stuff',
5-
d text not null,
5+
d text,
66
e text
77
);
88
NOTICE: CREATE TABLE will create implicit sequence "x_a_seq" for "serial" column "x.a"
@@ -48,23 +48,38 @@ ERROR: extra data after last expected column
4848
CONTEXT: COPY x, line 1: "20022324050607080"
4949
-- various COPY options: delimiters, oids, NULL string
5050
COPY x (b, c, d, e) from stdin with oids delimiter ',' null 'x';
51+
COPY x from stdin WITH DELIMITER AS ';' NULL AS '';
52+
COPY x from stdin WITH DELIMITER AS ':' NULL AS '\\X';
5153
-- check results of copy in
5254
SELECT * FROM x;
53-
a | b | c | d | e
54-
-------+----+-------+--------+----------------------
55-
10000 | 21 | 31 | 41 | before trigger fired
56-
10001 | 22 | 32 | 42 | before trigger fired
57-
10002 | 23 | 33 | 43 | before trigger fired
58-
10003 | 24 | 34 | 44 | before trigger fired
59-
10004 | 25 | 35 | 45 | before trigger fired
60-
10005 | 26 | 36 | 46 | before trigger fired
61-
6 | | 45 | 80 | before trigger fired
62-
1 | 1 | stuff | test_1 | after trigger fired
63-
2 | 2 | stuff | test_2 | after trigger fired
64-
3 | 3 | stuff | test_3 | after trigger fired
65-
4 | 4 | stuff | test_4 | after trigger fired
66-
5 | 5 | stuff | test_5 | after trigger fired
67-
(12 rows)
55+
a | b | c | d | e
56+
-------+----+------------+--------+----------------------
57+
9999 | | \N | NN | before trigger fired
58+
10000 | 21 | 31 | 41 | before trigger fired
59+
10001 | 22 | 32 | 42 | before trigger fired
60+
10002 | 23 | 33 | 43 | before trigger fired
61+
10003 | 24 | 34 | 44 | before trigger fired
62+
10004 | 25 | 35 | 45 | before trigger fired
63+
10005 | 26 | 36 | 46 | before trigger fired
64+
6 | | 45 | 80 | before trigger fired
65+
7 | | x | \x | before trigger fired
66+
8 | | , | \, | before trigger fired
67+
3000 | | c | | before trigger fired
68+
4000 | | C | | before trigger fired
69+
4001 | 1 | empty | | before trigger fired
70+
4002 | 2 | null | | before trigger fired
71+
4003 | 3 | Backslash | \ | before trigger fired
72+
4004 | 4 | BackslashX | \X | before trigger fired
73+
4005 | 5 | N | N | before trigger fired
74+
4006 | 6 | BackslashN | \N | before trigger fired
75+
4007 | 7 | XX | XX | before trigger fired
76+
4008 | 8 | Delimiter | : | before trigger fired
77+
1 | 1 | stuff | test_1 | after trigger fired
78+
2 | 2 | stuff | test_2 | after trigger fired
79+
3 | 3 | stuff | test_3 | after trigger fired
80+
4 | 4 | stuff | test_4 | after trigger fired
81+
5 | 5 | stuff | test_5 | after trigger fired
82+
(25 rows)
6883

6984
-- COPY w/ oids on a table w/o oids should fail
7085
CREATE TABLE no_oids (
@@ -80,39 +95,78 @@ COPY no_oids TO stdout WITH OIDS;
8095
ERROR: table "no_oids" does not have OIDs
8196
-- check copy out
8297
COPY x TO stdout;
98+
9999\N\\NNNbefore trigger fired
8399
10000213141before trigger fired
84100
10001223242before trigger fired
85101
10002233343before trigger fired
86102
10003243444before trigger fired
87103
10004253545before trigger fired
88104
10005263646before trigger fired
89105
6\N4580before trigger fired
106+
7\Nx\\xbefore trigger fired
107+
8\N,\\,before trigger fired
108+
3000\Nc\Nbefore trigger fired
109+
4000\NC\Nbefore trigger fired
110+
40011emptybefore trigger fired
111+
40022null\Nbefore trigger fired
112+
40033Backslash\\before trigger fired
113+
40044BackslashX\\Xbefore trigger fired
114+
40055NNbefore trigger fired
115+
40066BackslashN\\Nbefore trigger fired
116+
40077XXXXbefore trigger fired
117+
40088Delimiter:before trigger fired
90118
11stufftest_1after trigger fired
91119
22stufftest_2after trigger fired
92120
33stufftest_3after trigger fired
93121
44stufftest_4after trigger fired
94122
55stufftest_5after trigger fired
95123
COPY x (c, e) TO stdout;
124+
\\Nbefore trigger fired
96125
31before trigger fired
97126
32before trigger fired
98127
33before trigger fired
99128
34before trigger fired
100129
35before trigger fired
101130
36before trigger fired
102131
45before trigger fired
132+
xbefore trigger fired
133+
,before trigger fired
134+
cbefore trigger fired
135+
Cbefore trigger fired
136+
emptybefore trigger fired
137+
nullbefore trigger fired
138+
Backslashbefore trigger fired
139+
BackslashXbefore trigger fired
140+
Nbefore trigger fired
141+
BackslashNbefore trigger fired
142+
XXbefore trigger fired
143+
Delimiterbefore trigger fired
103144
stuffafter trigger fired
104145
stuffafter trigger fired
105146
stuffafter trigger fired
106147
stuffafter trigger fired
107148
stuffafter trigger fired
108149
COPY x (b, e) TO stdout WITH NULL 'I''m null';
150+
I'm nullbefore trigger fired
109151
21before trigger fired
110152
22before trigger fired
111153
23before trigger fired
112154
24before trigger fired
113155
25before trigger fired
114156
26before trigger fired
115157
I'm nullbefore trigger fired
158+
I'm nullbefore trigger fired
159+
I'm nullbefore trigger fired
160+
I'm nullbefore trigger fired
161+
I'm nullbefore trigger fired
162+
1before trigger fired
163+
2before trigger fired
164+
3before trigger fired
165+
4before trigger fired
166+
5before trigger fired
167+
6before trigger fired
168+
7before trigger fired
169+
8before trigger fired
116170
1after trigger fired
117171
2after trigger fired
118172
3after trigger fired

‎src/test/regress/sql/copy2.sql

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ CREATE TABLE x (
22
aserial,
33
bint,
44
ctextnot null default'stuff',
5-
dtextnot null,
5+
dtext,
66
etext
77
);
88

@@ -27,6 +27,7 @@ CREATE TRIGGER trg_x_before BEFORE INSERT ON x
2727
FOR EACH ROW EXECUTE PROCEDURE fn_x_before();
2828

2929
COPY x (a, b, c, d, e)from stdin;
30+
9999\N\\N\NN\N
3031
1000021314151
3132
\.
3233

@@ -74,6 +75,24 @@ COPY x from stdin;
7475
-- various COPY options: delimiters, oids, NULL string
7576
COPY x (b, c, d, e)from stdin with oids delimiter','null'x';
7677
500000,x,45,80,90
78+
500001,x,\x,\\x,\\\x
79+
500002,x,\,,\\\,,\\
80+
\.
81+
82+
COPY xfrom stdin WITH DELIMITERAS';'NULLAS'';
83+
3000;;c;;
84+
\.
85+
86+
COPY xfrom stdin WITH DELIMITERAS':'NULLAS'\\X';
87+
4000:\X:C:\X:\X
88+
4001:1:empty::
89+
4002:2:null:\X:\X
90+
4003:3:Backslash:\\:\\
91+
4004:4:BackslashX:\\X:\\X
92+
4005:5:N:\N:\N
93+
4006:6:BackslashN:\\N:\\N
94+
4007:7:XX:\XX:\XX
95+
4008:8:Delimiter:\::\:
7796
\.
7897

7998
-- check results of copy in

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp