Re: WIP: generalized index constraints - Mailing list pgsql-hackers

From Jeff Davis
Subject Re: WIP: generalized index constraints
Date
Msg-id 1247584431.8560.89.camel@jdavis
Whole thread Raw
In response to WIP: generalized index constraints  (Jeff Davis <pgsql@j-davis.com>)
Responses Re: WIP: generalized index constraints
List pgsql-hackers
Updated patch attached.

Changes:
 * Added syntax support:
     CREATE INDEX foo_idx ON foo ... (a CONSTRAINT =, b CONSTRAINT &&);
 * More aggressively clear the shared memory entries to avoid
   unnecessary checks
 * Code cleanup

TODO:
 * When adding constraint to table with data already in it, verify that
   existing data satisfies constraint.
 * Clean up error messages a little
 * Docs

The following are possible TODO items, but I'd like to get some feedback
first:
 * It seems like an alternative language would be better:
     ALTER TABLE foo ADD INDEX CONSTRAINT optional_name (a =, b &&)
       USING foo_idx;
   This language would be more like a table constraint that happens to
   use an index. I think it's better because it allows multiple
   constraints to be enforced by the same index.
 * Right now it only supports index AMs that offer amgettuple, which
   excludes GIN. Consider adding a crude implementation of gingettuple
   that just calls gingetbitmap internally (obviously providing no
   performance advantage over gingetbitmap).

Regards,
    Jeff Davis

Attachment

pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Comments on automatic DML routing and explicit partitioning subcommands
Next
From: Alvaro Herrera
Date:
Subject: Re: [PATCH 1/2 v3] [libpq] rework sigpipe-handling macros