From ad7d3bddeabfc46c007e211f8ef4d45180b2d638 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 16 Aug 2002 20:55:09 +0000 Subject: [PATCH] Make domain types indexable. Rod Taylor & Tom Lane. --- src/backend/commands/indexcmds.c | 5 ++++- src/backend/utils/adt/ruleutils.c | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c index 3500303d82..6310cfc7e5 100644 --- a/src/backend/commands/indexcmds.c +++ b/src/backend/commands/indexcmds.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/indexcmds.c,v 1.83 2002/08/15 03:04:07 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/indexcmds.c,v 1.84 2002/08/16 20:55:09 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -482,6 +482,9 @@ GetDefaultOpClass(Oid attrType, Oid accessMethodId) Oid exactOid = InvalidOid; Oid compatibleOid = InvalidOid; + /* If it's a domain, look at the base type instead */ + attrType = getBaseType(attrType); + /* * We scan through all the opclasses available for the access method, * looking for one that is marked default and matches the target type diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 302f9a75ce..e9c197aa35 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -3,7 +3,7 @@ * back to source text * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.114 2002/08/08 17:00:19 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.115 2002/08/16 20:55:09 tgl Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -2660,6 +2660,10 @@ get_opclass_name(Oid opclass, Oid actual_datatype, char *opcname; char *nspname; + /* Domains use their base type's default opclass */ + if (OidIsValid(actual_datatype)) + actual_datatype = getBaseType(actual_datatype); + ht_opc = SearchSysCache(CLAOID, ObjectIdGetDatum(opclass), 0, 0, 0); -- 2.11.0