Re: BUG #5053: domain constraints still leak - Mailing list pgsql-bugs

From Bruce Momjian
Subject Re: BUG #5053: domain constraints still leak
Date
Msg-id 200909211631.n8LGVVq27772@momjian.us
Whole thread Raw
In response to Re: BUG #5053: domain constraints still leak  (Sam Mason <sam@samason.me.uk>)
Responses Re: BUG #5053: domain constraints still leak
List pgsql-bugs
Sam Mason wrote:
> On Mon, Sep 14, 2009 at 10:54:07AM -0500, Kevin Grittner wrote:
> > Sam Mason <sam@samason.me.uk> wrote:
> > > the deeper problem seems to be that the table was created as:
> > >
> > >   create table test (a tstdom);
> > >
> > > and not as:
> > >
> > >   create table test (a tstdom not null);
> >
> > Given that tstdom is declared as NOT NULL, is this difference
> > considered a *feature* or is it an implementation quirk?
>
> That's why I pointed it out!
>
> Based on my reading of the SQL spec (and reading about Codd's
> descriptions of domains) I'd say it was a bug/implementation quirk.

Do we need a TODO for this item?  Also, I see this odd behavior even
without domains:

    test=> CREATE TYPE xx AS (x INT);
    CREATE TYPE
    test=> CREATE TABLE test4(col1 xx NOT NULL);
    CREATE TABLE
    test=> INSERT INTO test4 VALUES (ROW(NULL));
    INSERT 0 1
    test=> SELECT * FROM test4 WHERE col1 IS NULL;
     col1
    ------
     ()
    (1 row)

Here I am illustrating that NOT NULL and IS NULL have different ideas of
what a NULL is?  That seems odd too.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

pgsql-bugs by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: BUG #5066: plperl issues with perl_destruct() and END blocks
Next
From: Alvaro Herrera
Date:
Subject: Re: Drop schema cascade fails since postgresql 8.4