Sam Mason wrote:
> On Mon, Sep 14, 2009 at 10:54:07AM -0500, Kevin Grittner wrote:
> > Sam Mason <s...@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  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

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

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to