Re: pgsql: Add regression tests for CSV and \., and add automatic quoting of - Mailing list pgsql-committers

From Andrew Dunstan
Subject Re: pgsql: Add regression tests for CSV and \., and add automatic quoting of
Date
Msg-id 3900.24.211.165.134.1135777157.squirrel@www.dunslane.net
Whole thread Raw
In response to pgsql: Add regression tests for CSV and \., and add automatic quoting of  (momjian@postgresql.org (Bruce Momjian))
Responses Re: pgsql: Add regression tests for CSV and \., and add
List pgsql-committers
Andrew Dunstan said:
> Bruce Momjian said:
>> Log Message:
>> -----------
>> Add regression tests for CSV and \., and add automatic quoting of a
single column dump that has a \. value, so the load works properly.  I also
added documentation describing this issue.
>>
>
> This seems unnecessarily elaborate, in code that is already byzantine. I
think we can safely quote *any* field that has \. regardless of whether or
not it is a singleton. There's no need to make a single column a special
case - if it's valid for a singleton it's valid for any, and vice versa.
>


Now that I've woken up properly I realise that it's also just wrong - it
will miss the case we need to catch of the first column of a multi-column
line beginning with \. - just treat them all the same and all will be well.

Also, this test is suspicious:

    strcmp(string, "\\.") == 0

Don't we also want to quote it if the field reads \.x ?
    strncmp(string, "\\.",2) == 0
seems like it would be a better test.


cheers

andrew




pgsql-committers by date:

Previous
From: "Andrew Dunstan"
Date:
Subject: Re: pgsql: Add regression tests for CSV and \., and add automatic quoting of
Next
From: momjian@postgresql.org (Bruce Momjian)
Date:
Subject: pgsql: Update COPY CSV \.