>On Tue, May 6, 2008 at 9:20 PM, Alex Hunsaker <badalex@gmail.com> wrote:
>
> >Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > Was there any particularly strong reason why you introduced the syscache
> > instead of working with the available indexes?
> >
> > regards, tom lane
>
> None other than the syscache stuff was way easier to work with than
> the 25-50 lines of boilerplate code that Ill need everywhere I use
> CONSTRNAME. (see the hunk to MergeAttributesIntoExistsing for an
> example of what i mean). Not a big deal though, NikhilS was not sure
> about those changes in the first place.
>
> Ill just rip it out for now. Patch forthcoming.
>
Find attached a diff from v4-v5, and a full patch.
src/backend/commands/tablecmds.c | 242 +++++++++++++++++++++++-------------
src/backend/utils/cache/syscache.c | 12 --
src/include/catalog/indexing.h | 2 -
src/include/utils/syscache.h | 1 -
4 files changed, 153 insertions(+), 104 deletions(-)
Currently this loops through all the constraints for a relation (old
behavior of MergeAttributesIntoExisting)... Do you think its worth
adding a non-unique index to speed this up? If so I can whip up a
patch real quick if you think its worth it... else