Re: Plan for CSV handling of quotes, NULL - Mailing list pgsql-patches

From Andrew Dunstan
Subject Re: Plan for CSV handling of quotes, NULL
Date
Msg-id 407EA581.6010804@dunslane.net
Whole thread Raw
In response to Re: Plan for CSV handling of quotes, NULL  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-patches
Bruce Momjian wrote:
Andrew Dunstan wrote: 
Bruce Momjian wrote:
   
What about NULL input?  Is my warning and promotion to zero-length
string for NOT NULL columns OK?

     
I know I originally floated this idea or one very like it, but I have 
become convinced it is not a good idea after all. The user might not 
know or expect that the data file has nulls, in which case promoting the 
value might not be what s/he expects at all. I think there's a world of 
difference between the user saying "I know there might be nulls in this 
CSV column - ignore them" and us doing it automagically and issuing a 
warning, which might elicit the response "Doh! I wish you'd told me 
beforehand." If we provide an option to override handling of nulls on 
input per column, then we can safely fail on encountering an unexpected 
null, and all the user will have to do would be to rerun the command 
with the override. Recovering from an unexpected promotion to non-null 
would be a lot harder.   
OK, so we need a list of columns for output with quotes, and a list of
columns where NULL should be changed to zero-length strings.

How about if we use FORCE to force quotes on output, and CONVERT to
convert null to zero-length strings on input?
 

Works for me. I think I would be inclined just to use whatever null_print happens to be, rather than make empty string magical. In the usual case they would be the same.

cheers

andrew

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Plan for CSV handling of quotes, NULL
Next
From: Richard Huxton
Date:
Subject: Re: Plan for CSV handling of quotes, NULL