Re: [HACKERS] Serial and NULL values

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: [HACKERS] Serial and NULL values
Date: 1999-10-31 13:15:12
Message-ID: 199910311315.IAA29858@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> writes:
> >> Offhand I don't see any fundamental reason why serial columns should
> >> be restricted to be nonnull, but evidently someone did at some point.
>
> > The actual null is not the issue. The issue is that if we have a
> > SERIAL column, and we try to put a NULL in there, shouldn't it put the
> > default sequence number in there?
>
> No, I wouldn't expect that at all. A default is inserted when you
> don't supply anything at all for the column. Inserting an explicit
> NULL means you want a NULL, and barring a NOT NULL constraint on
> the column, that's what the system ought to insert. I can see no
> possible justification for creating a type-specific exception to
> that behavior.
>
> If the original asker really wants to substitute something else for
> an explicit null insertion, he could do it with a rule or a trigger.
> But I don't think SERIAL ought to act that way all by itself.

OK, I see now. In Informix, if you insert 0 into a serial column, you
get the nextval assigned.

However, I can see that is not logical. We have serial which defines a
default for nextval().

Thanks.

--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1999-10-31 13:17:32 Re: [HACKERS] Serial and NULL values
Previous Message Bruce Momjian 1999-10-31 12:50:09 pgaccess 0.98