Re: [HACKERS] Serial and NULL values - Mailing list pgsql-hackers

From wieck@debis.com (Jan Wieck)
Subject Re: [HACKERS] Serial and NULL values
Date
Msg-id m11hYgh-0003kLC@orion.SAPserv.Hamburg.dsh.de
Whole thread Raw
In response to Re: [HACKERS] Serial and NULL values  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [HACKERS] Serial and NULL values  (Bruce Momjian <maillist@candle.pha.pa.us>)
List pgsql-hackers
>
> Bruce Momjian <maillist@candle.pha.pa.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.
>
>              regards, tom lane

    I agree with tom.

    If you don't want the user to be able to insert NULL, specify
    NOT NULL explicitly. And if  you  want  to  force  a  default
    behaviour, use a trigger (a rule can't do - sorry).


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#========================================= wieck@debis.com (Jan Wieck) #

pgsql-hackers by date:

Previous
From: Theo Kramer
Date:
Subject: Re: [HACKERS] postgres inode q's
Next
From: wieck@debis.com (Jan Wieck)
Date:
Subject: missing mugshots