aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2002-08-16 20:55:09 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2002-08-16 20:55:09 +0000
commitad7d3bddeabfc46c007e211f8ef4d45180b2d638 (patch)
tree10dfff2b803aacb3f44245c29a25ea4233918af0 /src
parent141539c31ea775d010b52494cb26cf9102ecc8fc (diff)
downloadpostgresql-ad7d3bddeabfc46c007e211f8ef4d45180b2d638.tar.gz
postgresql-ad7d3bddeabfc46c007e211f8ef4d45180b2d638.zip
Make domain types indexable. Rod Taylor & Tom Lane.
Diffstat (limited to 'src')
-rw-r--r--src/backend/commands/indexcmds.c5
-rw-r--r--src/backend/utils/adt/ruleutils.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c
index 3500303d824..6310cfc7e5a 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 302f9a75ce7..e9c197aa35a 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);