From: Richard Huxton <dev@archonet.com>
To: Robert Treat <xzilla@users.sourceforge.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-sql@postgresql.org
Subject: Re: partial unique constraint
Date: Tue, 6 Apr 2004 20:54:07 +0100
Message-ID: <200404062054.07498.dev@archonet.com> (raw)
In-Reply-To: <1081269521.31791.73.camel@camel>
References: <1081261772.31785.48.camel@camel>
<24888.1081264623@sss.pgh.pa.us>
<1081269521.31791.73.camel@camel>
On Tuesday 06 April 2004 17:38, Robert Treat wrote:
> On Tue, 2004-04-06 at 11:17, Tom Lane wrote:
> > Robert Treat <xzilla@users.sourceforge.net> writes:
> > > Trying to come up with the proper syntax to meet the following
> > > criteria: create table foo (bar integer, baz boolean UNIQUE (bar, baz =
> > > true));
> >
> > The correct way to do it is with a separate CREATE INDEX command:
>
> I think I had initially abandoned looking at that type of solution after
> having run across this paragraph in the docs while looking for the
> proper constraint syntax:
>
> "Note: The preferred way to add a unique constraint to a table is ALTER
> TABLE ... ADD CONSTRAINT. The use of indexes to enforce unique
> constraints could be considered an implementation detail that should not
> be accessed directly."
>
> The subliminal mind is a powerful force eh? Perhaps that paragraph
> should be modified... but I'm not sure if it should expanded to include
> thoughts along the lines of Stephan's response or maybe just drop the
> "should not be accessed directly" bit...
Anyone know if there is any way to do this in one of the later SQL standards?
The CREATE INDEX thing is a bit of a hack, and I certainly wouldn't have
thought of it either.
--
Richard Huxton
Archonet Ltd
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: dev@archonet.com, xzilla@users.sourceforge.net, tgl@sss.pgh.pa.us
Subject: Re: partial unique constraint
In-Reply-To: <200404062054.07498.dev@archonet.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox