Skip site navigation (1) Skip section navigation (2)

Re: Ticket 118: Exclusion constraints

From: guillaume <guillaume(at)lelarge(dot)info>
To: Magnus Hagander <magnus(at)hagander(dot)net>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: Ticket 118: Exclusion constraints
Date: 2010-07-20 12:02:52
Message-ID: 88479f86033d85fa7257d598ad2b8670@localhost (view raw, whole thread or download thread mbox)
Lists: pgadmin-hackers
On Mon, 12 Jul 2010 12:13:03 +0200, Magnus Hagander <magnus(at)hagander(dot)net>
> On Sat, Jul 10, 2010 at 22:49, Guillaume Lelarge
> wrote:
>> Hi,
>> At least, I finally did it :)
>> This patch adds support for exclusion constraint (9.0 new feature). All
>> examples from Magnus's talk (Beyond Unique) work with this patch.
>> Anyway, this patch needs more work:
>> 1. Displayed in both Constraints and Indexes
>> I don't know why but each exclusion constraint is displayed two times.
>> In the indexes node (where it doesn't belong), and in the constraints
>> node (where it belongs). Any idea why? should not be too hard to find
>> out, but I'm unable to find it right now.
> How do we do it with Primary Keys? It's the same thing - both an index
> and a constraint. There should be some code to hide it, thus similar
> code should be needed here.


>> 2. Need an icon
>> I copied the unique constraint icon, but we really need another one for
>> this specific constraint.
>> 3. Probably some misunderstanding of the feature
>> Should we propose all operators for the columns? or just the ones
>> related to 1. the operator class 2. the column's type 3. something
>> actually, I propose all of them. But I don't think this is what we
>> should do.
> You need to show only commutative operators.
> That may be we need to filter on oid=oprcom in pg_operator - I'm not
> sure of that though, I didn't really investigate, but it looks like a
> reasonable thing.
> And yes, it should definitely be filtered on the column types.

Done. The filter is a simple "(oprleft=<column's type OID> OR
oprright=<column's type OID>) AND oprcom > 0". The list is much lighter now

>> In Magnus's talk, I see that only GiST is supported right now as an
>> index method. In PostgreSQL fine manual, it says that, to be usable, an
>> index should provide the amgettuple method. And I see three of them
>> support this method. Who's wrong? :)
> Trust The Fine Manual.
> Always remember that some of those things may also have changed since
> my talk :-)


So here is version 2 of this patch. Still lacks the icon. I would draw one
if I had any idea on what to draw :)


Attachment: ticket118_v2.patch.bz2
Description: application/x-bzip2 (9.2 KB)

In response to


pgadmin-hackers by date

Next:From: Dave PageDate: 2010-07-20 12:05:30
Subject: Re: Ticket 118: Exclusion constraints
Previous:From: guillaumeDate: 2010-07-20 09:05:36
Subject: Re: role support

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group