Re: [HACKERS] default values - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] default values
Date
Msg-id 199809021536.LAA02726@candle.pha.pa.us
Whole thread Raw
In response to default values  ("Thomas G. Lockhart" <lockhart@alumni.caltech.edu>)
List pgsql-hackers
> In transcribing Jose's reference page docs, I've come across examples
> where Jose has exposed deficiencies in Postgres' support of SQL92. I've
> fixed several (easier than transcribing more words :) and I've run into
> a bit of trouble on the latest one with the
>
>   CREATE TABLE tablename DEFAULT VALUES
>
> statement. I changed the parser to allow this syntax and just use a nil
> pointer for the column list. Everything works OK except that the first
> column's default value is not assigned correctly.
>
> Any ideas on where to look? I'll probably commit the changes to gram.y
> anyway, since it almost works. Examples below...
>

I thought you did the default values additions?  Isn't it all done in
parser/analyze.c?  My guess is that is is looking at the number of
attributes specified in the target list, while in your case you really
want it look at the number of entries NOT in the target list.


>                         - Tom
>
> postgres=> create table t (x text default 'default',
> postgres->  i int default 1);
> CREATE
> postgres=> insert into t default values;
> INSERT 143693 1
> postgres=> select * from t;
> x|i
> -+-
>  |1
> (1 row)
>
> postgres=> insert into t (i) values (2);
> INSERT 143694 1
> postgres=> select * from t;
> x      |i
> -------+-
>        |1
> default|2
> (2 rows)
>
> postgres=> create table t3 (x text default 'default',
> postgres->  i int default 1, j int default 2);
> CREATE
> postgres=> insert into t3 default values;
> INSERT 143709 1
> postgres=> select * from t3;
> x|i|j
> -+-+-
>  |1|2
> (1 row)
>
>


--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

pgsql-hackers by date:

Previous
From: "Thomas G. Lockhart"
Date:
Subject: Re: [HACKERS] Core dump in regression tests.
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Core dump in regression tests.u