Re: How does PostgreSQL treat null values in unique composite - Mailing list pgsql-admin

From P G
Subject Re: How does PostgreSQL treat null values in unique composite
Date
Msg-id 20030408194858.77038.qmail@web13306.mail.yahoo.com
Whole thread Raw
In response to Re: How does PostgreSQL treat null values in unique composite  (P G <pg_dba@yahoo.com>)
Responses Re: How does PostgreSQL treat null values in unique composite  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Re: How does PostgreSQL treat null values in unique  (Robert Treat <xzilla@users.sourceforge.net>)
List pgsql-admin
Also, the "unique predicate" only explains what it
means to be unique, but it says nothing about how null
values are treated.  Will someone explain what the
value of null is?

TIA.

--- P G <pg_dba@yahoo.com> wrote:
> Where can I find the documentation cited for the
> "unique predicate" mentioned below?
>
> TIA.
>
> --- Stephan Szabo <sszabo@megazone23.bigpanda.com>
> wrote:
> >
> > On Tue, 8 Apr 2003, P G wrote:
> >
> > > I have the following table with a unique
> > constraint.
> > >
> > > create table testt (
> > > id int,
> > > aa int,
> > > bb int,
> > > constraint pk_testt primary key (id),
> > > constraint cons_testt unique (aa,bb));
> > >
> > > Let's say I insert the following:
> > >
> > > insert into testt values (1,2,null);
> > > insert into testt values (2,2,null);
> > >
> > > I thought this should fail because of the unique
> > > constraint, but it doesn't.  How does PostgreSQL
> > view
> > > the null values in this constraint?  Will
> someone
> > > explain why I am allowed to make this insertion?
> >
> > Two NULL values still satisfy a unique constraint.
>
> > A unique constraint is
> > defined in terms of the unique predicate.
> >
> > From the unique predicate:
> > "If there are no two rows T such that the value of
> > each column in one row
> > is non-null and is equal to the value of the
> > corresponding column in the
> > other row according to Subclause 8.2, "<comparison
> > predicate>", then the
> > result of the <unique predicate> is true;
> otherwise
> > the result of the
> > <unique predicate> is false".
> >
> >
> > ---------------------------(end of
> > broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the
> > unregister command
> >     (send "unregister YourEmailAddressHere" to
> majordomo@postgresql.org)
>
>
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Tax Center - File online, calculators, forms,
> and more
> http://tax.yahoo.com
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster


__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - File online, calculators, forms, and more
http://tax.yahoo.com


pgsql-admin by date:

Previous
From: P G
Date:
Subject: Re: How does PostgreSQL treat null values in unique composite
Next
From: Tim Ellis
Date:
Subject: Re: Help with setting Posgresql on Linux to work with ASP