Make domain types indexable. Rod Taylor & Tom Lane.

This commit is contained in:
Tom Lane 2002-08-16 20:55:09 +00:00
parent 141539c31e
commit ad7d3bddea
2 changed files with 9 additions and 2 deletions

View File

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * 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 exactOid = InvalidOid;
Oid compatibleOid = 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, * We scan through all the opclasses available for the access method,
* looking for one that is marked default and matches the target type * looking for one that is marked default and matches the target type

View File

@ -3,7 +3,7 @@
* back to source text * back to source text
* *
* IDENTIFICATION * 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. * This software is copyrighted by Jan Wieck - Hamburg.
* *
@ -2660,6 +2660,10 @@ get_opclass_name(Oid opclass, Oid actual_datatype,
char *opcname; char *opcname;
char *nspname; char *nspname;
/* Domains use their base type's default opclass */
if (OidIsValid(actual_datatype))
actual_datatype = getBaseType(actual_datatype);
ht_opc = SearchSysCache(CLAOID, ht_opc = SearchSysCache(CLAOID,
ObjectIdGetDatum(opclass), ObjectIdGetDatum(opclass),
0, 0, 0); 0, 0, 0);