Thread: pgsql: Disallow digits and lower-case ASCII letters as the delimiter in

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

From
tgl@postgresql.org (Tom Lane)
Date:
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)