Re: [HACKERS] Serial and NULL values

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: [HACKERS] Serial and NULL values
Date: 1999-10-29 23:44:44
Message-ID: 3695.941240684@sss.pgh.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:
> test=> create table test (x int, y serial);
> CREATE
> test=> insert into test values (100, null);
> ERROR: ExecAppend: Fail to add null value in not null attribute y

gram.y thinks SERIAL is defined to mean NOT NULL:

| ColId SERIAL ColPrimaryKey
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = $1;
n->typename = makeNode(TypeName);
n->typename->name = xlateSqlType("integer");
n->raw_default = NULL;
n->cooked_default = NULL;
=================> n->is_not_null = TRUE;
n->is_sequence = TRUE;
n->constraints = $3;

$$ = (Node *)n;
}

Offhand I don't see any fundamental reason why serial columns should
be restricted to be nonnull, but evidently someone did at some point.

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1999-10-30 00:20:30 Re: [HACKERS] Serial and NULL values
Previous Message Bruce Momjian 1999-10-29 22:18:43 Re: [HACKERS] MATLAB PostgreSQL interface