From fb7d212fbe137419b288de086a8191651f093879 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 16 Mar 2005 06:05:53 +0000 Subject: [PATCH] Add CVS \r\n regression tests. Andrew Dunstan --- src/test/regress/input/copy.source | 33 +++++++++++++++++++++++++++++ src/test/regress/output/copy.source | 27 +++++++++++++++++++++++ 2 files changed, 60 insertions(+) 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) + -- 2.40.0