Re: Patch: FORCE_NULL option for copy COPY in CSV mode

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Ian Lawrence Barwick <barwick(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Patch: FORCE_NULL option for copy COPY in CSV mode
Date: 2013-10-11 04:49:38
Message-ID: CAA4eK1+t6H3LZ18ofuVMbFhsyApp_LynnGm18fFc4jNyxrSXjw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Oct 10, 2013 at 6:45 PM, Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:
>
> On 10/09/2013 11:47 PM, Amit Kapila wrote:
>>
>>
>> One of the advantage, I could see using "NULL For .." syntax is
>> that already we have one syntax with which user can specify what
>> strings can be replaced with NULL, now just to handle quoted empty
>> string why to add different syntax.
>>
>> "FORCE_NULL" has advantage that it can be used for some columns rather
>> than all columns, but I think for that existing syntax can also be
>> modified to support it.
>>
>>
>>
>
>
> I think it's badly designed on its face. We don't need and shouldn't
> provide a facility for different NULL markers. A general facility for that
> would be an ugly an quite pointless addition to code complexity. What we
> need is simply a way of altering one specific behaviour, namely the
> treatment of quoted NULL markers. We should not do that by allowing munging
> the NULL marker per column,

I was thinking it to similar in some sense with "insert into tbl"
statement. For example
Create table tbl (c1 int, c2 int, c3 int, c4 int)
insert into tbl (col2) values(1);

Here after table name, user can specify column names for which he
wants to provide specific values.

> but by a syntactical mechanism that directly
> addresses the change in behaviour. If you don't like "FORCE NULL" then let's
> pick something else, but not this ugly and unnecessary "NULL FOR" gadget.

If you don't like idea of one generic syntax for NULLs in COPY
command, then "FORCE_QUOTED_NULL" or "QUOTED_NULL" will make more
sense as compare to FORCE_NULL.

With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Mark Kirkwood 2013-10-11 05:02:43 Re: [PoC] pgstattuple2: block sampling to reduce physical read
Previous Message Mark Kirkwood 2013-10-11 04:49:33 Re: [PoC] pgstattuple2: block sampling to reduce physical read