Re: Unworkable column delimiter characters for COPY

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Unworkable column delimiter characters for COPY
Date: 2007-12-27 18:32:01
Message-ID: 18844.1198780321@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> Tom Lane wrote:
>> I think at minimum we need to forbid b, f, n, r, t, v, which are the
>> control character representations currently recognized by COPY.
>> But I'm tempted to make it reject all 26 lower-case ASCII letters,
>> as a form of future-proofing. Thoughts?

> Assuming this is only for non-CSV mode, it seems OK.

On looking closer, 'x', octal digits, and '.' would also be trouble.
So I made it reject a-z, 0-9, and dot.

It appears that the CSV mode is a few bricks shy of a load here as
well: it will let you do CSV DELIMITER '"' resulting in entirely
broken output. It seems we ought to forbid delimiter from matching CSV
quote or escape characters. I'll let you clean up that case though...

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2007-12-27 19:23:12 Re: Unworkable column delimiter characters for COPY
Previous Message Andrew Sullivan 2007-12-27 18:20:33 Re: Spoofing as the postmaster

Browse pgsql-patches by date

  From Date Subject
Next Message Andrew Dunstan 2007-12-27 19:23:12 Re: Unworkable column delimiter characters for COPY
Previous Message Andrew Dunstan 2007-12-27 16:58:50 Re: Unworkable column delimiter characters for COPY