pgsql: Disallow digits and lower-case ASCII letters as the delimiter in - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Disallow digits and lower-case ASCII letters as the delimiter in
Date
Msg-id 20071227182858.A05E37540F0@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Disallow digits and lower-case ASCII letters as the delimiter in non-CSV
COPY.  We need a restriction here because when the delimiter occurs as a
data character, it is emitted with a backslash, and that will only work
as desired if CopyReadAttributesText() will interpret the backslash sequence
as representing the second character literally.  This is currently untrue
for 'b', 'f', 'n', 'r', 't', 'v', 'x', and octal digits.  For future-proofing
and simplicity of explanation, it seems best to disallow a-z and 0-9.
We must also disallow dot, since "\." by itself would look like copy EOF.
Note: "\N" is by default the null print string, so N would also cause a
problem, but that is already tested for.

Modified Files:
--------------
    pgsql/src/backend/commands:
        copy.c (r1.292 -> r1.293)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/copy.c?r1=1.292&r2=1.293)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Fix ill-advised usage of x?y:z expressions in errmsg() and
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Improve consistency of error reporting in GUC assign_hook