From: | Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com> |
---|---|
To: | expect <expect(at)ihubbell(dot)com> |
Cc: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: importing db as text files |
Date: | 2003-08-15 15:03:04 |
Message-ID: | 20030815075948.I19338-100000@megazone.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Fri, 15 Aug 2003, expect wrote:
> On Fri, 15 Aug 2003 00:32:01 -0700 (PDT)
> Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com> wrote:
>
> >
> > On Thu, 14 Aug 2003, expect wrote:
> >
> > > On Thu, 14 Aug 2003 12:46:07 -0500
> > > Bruno Wolff III <bruno(at)wolff(dot)to> wrote:
> > > > Note that it isn't obvious what empty strings should map to for numbers.
> > > > NULL and 0 make about as much sense as using the default value.
> > >
> > > Well I'm new here but it seems to me they should map to the default value
> > > for that column. Why wouldn't they?
> >
> > One problem with doing that is that it's inconsistent.
>
> Please elaborate. How is it inconsistent, exactly?
See my comments below.
> >
> > Given
> > create table test(
> > a text default 'abc',
> > b int default 5
> > );
> >
> > copy test from stdin with delimiter ',';
> > ,
> > \.
> >
> > What would you expect the values of the row in test
> > to be?
>
>
> Oh a test....
>
> Does the \. end the STDIN input?
>
> Where's the null option? Don't you mean:
>
> copy test from stdin with delimiter ',' null '';
No, I'm saying without a null specifier.
> In this case I would expect the row to have:
>
> a | b
> ----------
> |
> abc | 5
>
>
> Is this too much to expect?
Without a null specifier of '', empty string is a valid value for a.
Why would it get the default, and how would you insert an empty string?
Should it treat b differently because '' isn't valid for that type, that'd
be inconsistent.
With a null specifier of '', empty string is valid for both and means
NULL. Otherwise, how would you specify a null when you have that
null specifier?
What you probably really want is another specifier that inserts the
default for a column, so you could say something like:
copy test from stdin with delimiter ',' default '';
From | Date | Subject | |
---|---|---|---|
Next Message | expect | 2003-08-15 15:21:28 | Re: Why the duplicate messages to pgsql-general? |
Previous Message | Stephan Szabo | 2003-08-15 14:59:09 | Re: ADD FOREIGN KEY (was Re: [GENERAL] 7.4Beta) |