Andrew Dunstan wrote:
> Bruce and I tossed this around quite a bit.
>
> The problem is that using QUOTE or NULL in these phrases might look
> confusing, e.g.
> COPY mytable TO 'mytable.csv' CSV QUOTE '"' FORCE QUOTE field1,field2;
> COPY mytable FROM 'mytable.csv' NULL '' CSV NO NULL CHECK field1,field2;
>
> I also don't think NO NULL CHECK actually matches the use case for this
> very well (and I'm dubious about LITERAL too). They both describe the
> actual behaviour, but not what you are trying to achieve. Essentially,
> this would be used when you have a field with a NOT NULL constraint, but
> the input CSV data stream has what would otherwise be considered nulls.
> (COPY itself will never produce such a CSV, as non-null values that
> resemble null are always quoted, but third party programs well might.)
> So an alternative might be FORCE NOT NULL, but for the previous
> consideration. Perhaps use of an optional preposition might make things
> slightly clearer, e.g.:
>
> COPY mytable TO 'mytable.csv' CSV QUOTE '"' FORCE QUOTE IN
> field1,field2;
> COPY mytable FROM 'mytable.csv' NULL '' CSV FORCE NOT NULL IN
> field1,field2;
>
> But it does start to look a little too much like COBOL :-).
Yea, and as I remember, that COBOL word scared us off. :-)
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073