summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian2005-03-16 06:05:53 +0000
committerBruce Momjian2005-03-16 06:05:53 +0000
commitfb7d212fbe137419b288de086a8191651f093879 (patch)
tree6d29f5660efbb757115da609b97550e30cf71f88
parent888271ed1526c26786ed6290ddfb996167699849 (diff)
Add CVS \r\n regression tests.
Andrew Dunstan
-rw-r--r--src/test/regress/input/copy.source33
-rw-r--r--src/test/regress/output/copy.source27
2 files changed, 60 insertions, 0 deletions
diff --git a/src/test/regress/input/copy.source b/src/test/regress/input/copy.source
index 47f06a7ae8..184a0ec1bc 100644
--- a/src/test/regress/input/copy.source
+++ b/src/test/regress/input/copy.source
@@ -54,3 +54,36 @@ COPY bt_txt_heap FROM '@abs_srcdir@/data/desc.data';
COPY bt_f8_heap FROM '@abs_srcdir@/data/hash.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','abc\r\ndef',1);
+insert into copytest values('Unix','abc\ndef',2);
+insert into copytest values('Mac','abc\rdef',3);
+insert into copytest values('esc\\ape','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 '\\';
+
+copy copytest2 from '@abs_builddir@/results/copytest.csv' csv quote '\'' escape '\\';
+
+select * from copytest except select * from copytest2;
+
+
+
diff --git a/src/test/regress/output/copy.source b/src/test/regress/output/copy.source
index a44eae8a7e..35ef9dce7e 100644
--- a/src/test/regress/output/copy.source
+++ b/src/test/regress/output/copy.source
@@ -31,3 +31,30 @@ 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';
+--- 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','abc\r\ndef',1);
+insert into copytest values('Unix','abc\ndef',2);
+insert into copytest values('Mac','abc\rdef',3);
+insert into copytest values('esc\\ape','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;
+ style | test | filler
+-------+------+--------
+(0 rows)
+
+truncate copytest2;
+--- same test but with an escape char different from quote char
+copy copytest to '@abs_builddir@/results/copytest.csv' csv quote '\'' escape '\\';
+copy copytest2 from '@abs_builddir@/results/copytest.csv' csv quote '\'' escape '\\';
+select * from copytest except select * from copytest2;
+ style | test | filler
+-------+------+--------
+(0 rows)
+