Re: Deferred partial/expression unique constraints

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Jeff Davis <pgsql(at)j-davis(dot)com>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers(at)postgresql(dot)org, Josh Berkus <josh(at)agliodbs(dot)com>
Subject: Re: Deferred partial/expression unique constraints
Date: 2011-07-26 14:00:53
Message-ID: CA+TgmoYx5qsOvmdo+r1L5itDcv_7BpgRsHZ8BHKnVFXWG8Nmbw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Jul 25, 2011 at 2:29 PM, Jeff Davis <pgsql(at)j-davis(dot)com> wrote:
> On Fri, 2011-07-22 at 23:35 +0300, Peter Eisentraut wrote:
>> On ons, 2011-07-13 at 11:26 -0400, Tom Lane wrote:
>> > Our standard reason for not implementing UNIQUE constraints on
>> > expressions has been that then you would have a thing that claims to be
>> > a UNIQUE constraint but isn't representable in the information_schema
>> > views that are supposed to show UNIQUE constraints.  We avoid this
>> > objection in the current design by shoving all that functionality into
>> > EXCLUDE constraints, which are clearly outside the scope of the spec.
>>
>> I have never heard that reason before, and I think it's a pretty poor
>> one.  There are a lot of other things that are not representable in the
>> information schema.

+1.

> I think what Tom is saying is that the information_schema might appear
> inconsistent to someone following the spec.
>
> Can you give another example where we do something like that?

http://archives.postgresql.org/pgsql-bugs/2010-08/msg00374.php

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Florian Pflug 2011-07-26 14:15:42 Re: Another issue with invalid XML values
Previous Message Robert Haas 2011-07-26 13:55:20 Re: Another issue with invalid XML values