summaryrefslogtreecommitdiff
path: root/src/test/regress/input/copy.source
blob: 376329d250dbb2dbc536303496ff7ccfc5348167 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
--
-- COPY
--

-- CLASS POPULATION
--	(any resemblance to real life is purely coincidental)
--
COPY aggtest FROM '@abs_srcdir@/data/agg.data';

COPY onek FROM '@abs_srcdir@/data/onek.data';

COPY onek TO '@abs_builddir@/results/onek.data';

DELETE FROM onek;

COPY onek FROM '@abs_builddir@/results/onek.data';

COPY tenk1 FROM '@abs_srcdir@/data/tenk.data';

COPY slow_emp4000 FROM '@abs_srcdir@/data/rect.data';

COPY person FROM '@abs_srcdir@/data/person.data';

COPY emp FROM '@abs_srcdir@/data/emp.data';

COPY student FROM '@abs_srcdir@/data/student.data';

COPY stud_emp FROM '@abs_srcdir@/data/stud_emp.data';

COPY road FROM '@abs_srcdir@/data/streets.data';

COPY real_city FROM '@abs_srcdir@/data/real_city.data';

COPY hash_i4_heap FROM '@abs_srcdir@/data/hash.data';

COPY hash_name_heap FROM '@abs_srcdir@/data/hash.data';

COPY hash_txt_heap FROM '@abs_srcdir@/data/hash.data';

COPY hash_f8_heap FROM '@abs_srcdir@/data/hash.data';

COPY test_tsvector FROM '@abs_srcdir@/data/tsearch.data';

-- the data in this file has a lot of duplicates in the index key
-- fields, leading to long bucket chains and lots of table expansion.
-- this is therefore a stress test of the bucket overflow code (unlike
-- the data in hash.data, which has unique index keys).
--
-- COPY hash_ovfl_heap FROM '@abs_srcdir@/data/hashovfl.data';

COPY bt_i4_heap FROM '@abs_srcdir@/data/desc.data';

COPY bt_name_heap FROM '@abs_srcdir@/data/hash.data';

COPY bt_txt_heap FROM '@abs_srcdir@/data/desc.data';

COPY bt_f8_heap FROM '@abs_srcdir@/data/hash.data';

COPY array_op_test FROM '@abs_srcdir@/data/array.data';

COPY array_index_op_test FROM '@abs_srcdir@/data/array.data';

--- test copying in CSV mode with various styles
--- of embedded line ending characters

create temp table copytest (
	style	text,
	test 	text,
	filler	int);

insert into copytest values('DOS',E'abc\r\ndef',1);
insert into copytest values('Unix',E'abc\ndef',2);
insert into copytest values('Mac',E'abc\rdef',3);
insert into copytest values(E'esc\\ape',E'a\\r\\\r\\\n\\nb',4);

copy copytest to '@abs_builddir@/results/copytest.csv' csv;

create temp table copytest2 (like copytest);

copy copytest2 from '@abs_builddir@/results/copytest.csv' csv;

select * from copytest except select * from copytest2;

truncate copytest2;

--- same test but with an escape char different from quote char

copy copytest to '@abs_builddir@/results/copytest.csv' csv quote '''' escape E'\\';

copy copytest2 from '@abs_builddir@/results/copytest.csv' csv quote '''' escape E'\\';

select * from copytest except select * from copytest2;


-- test header line feature

create temp table copytest3 (
	c1 int, 
	"col with , comma" text, 
	"col with "" quote"  int);

copy copytest3 from stdin csv header;
this is just a line full of junk that would error out if parsed
1,a,1
2,b,2
\.

copy copytest3 to stdout csv header;