Search Postgresql Archives

CONSTRAINT does not show when applying a EXCLUDE constraint -- and what about Enterprise Architect?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear list,

To rule out any double combination of two identifiers, in any order, I applied the following constraint to a table:

CREATE TABLE test(
  object_id INTEGER,
  subject_id INTEGER,
  CONSTRAINT "EXCL_double_combi" EXCLUDE USING btree (imm_LEAST(subject_id, object_id) WITH =, imm_GREATEST(subject_id, object_id) WITH =)
);

The imm_xxxxx functions are IMMUTABLE wrappers around LEAST() and GREATEST() respectively, in order to get the index to work...

pgsql Command "\d test" produces the following:
       Table "public.test"
   Column   |  Type   | Modifiers
------------+---------+-----------
 object_id  | integer |
 subject_id | integer |
Indexes:
    "EXCL_double_combi" EXCLUDE USING btree (imm_least(subject_id, object_id) WITH =, imm_greatest(subject_id, object_id) WITH =)

As I read it, an indexed in indeed being maintained, however it is not regarded a CONSTRAINT... Yet, the set-up works as like a charm :)) This online example shows a different summary:
http://www.depesz.com/index.php/2010/01/03/waiting-for-8-5-exclusion-constraints/
Would this be an earlier / older version of PostgreSQL? I'm running 9.0.2, on Windows 7

By the way: has any one experience using EXCLUDE constraint inside Enterprise Architect? Since this is a pretty new database feature, it seems not yet supported by EA?

Looking forward to any of you sharing your experiences,
kind regards,

Rob

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux