SET CONSTRAINTS todo

From: Dan Colish <dcolish(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: SET CONSTRAINTS todo
Date: 2010-06-03 19:02:01
Message-ID: 55C31350-E559-4DEB-9814-994FB7302D9C@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I wanted to work on this todo item and I have a few questions about the semantics of it. Essentially, it is not possible to have more than one relname for a constraint, even though the comment in trigger.c says otherwise. I have used this code to test this:

<<<
CREATE TABLE products (
product_no integer CONSTRAINT must_be_different UNIQUE DEFERRABLE,
name text,
price numeric
);

CREATE TABLE products2 (
product_no integer CONSTRAINT must_be_different UNIQUE DEFERRABLE,
name text,
price numeric
);
>>>

which results in the following error:

<<<
ERROR: relation "must_be_different" already exists
>>>

Therefore prefixing them with a table name does not seem to make sense. Additionally, there is already the feature of prefixing the constraint relname with a schema to limit the search space.

Is the intention of the todo to allow the user to specify a tablename which limits the search path to that table's schema or is the feature to extend constraints to allow per table naming. In other words, would the feature allow multiple constraints of the same name in a schema since they would be table specific?

--Dan

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2010-06-03 19:16:08 Re: Allow wal_keep_segments to keep all segments
Previous Message Florian Pflug 2010-06-03 18:06:54 Re: Did we really want to force an initdb in beta2?