OSDN Git Service

Disallow digits and lower-case ASCII letters as the delimiter in non-CSV
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 27 Dec 2007 18:28:58 +0000 (18:28 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 27 Dec 2007 18:28:58 +0000 (18:28 +0000)
commit2e4cb7082ca547d017759996b09cea754ab97bcc
tree0c5b5ddc9193a2f9b4c686f60a23f3c1f7878068
parentf1d1ca9a2663b04c956dcb1b617d18d10d1f9890
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.
src/backend/commands/copy.c