aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/indexcmds.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2002-08-15 02:53:35 +0000
committerBruce Momjian <bruce@momjian.us>2002-08-15 02:53:35 +0000
commit46aaa5dda3a876ad958d4ea8fe3e8836d2043750 (patch)
treeb1ec83eb856247f6fce4fa0fb3d666a9d8893d9f /src/backend/commands/indexcmds.c
parent45e25445846e98fe4aac23d1073566c08cd62f0b (diff)
downloadpostgresql-46aaa5dda3a876ad958d4ea8fe3e8836d2043750.tar.gz
postgresql-46aaa5dda3a876ad958d4ea8fe3e8836d2043750.zip
Appears there is a problem finding the opclass when indexing a domain.
CREATE DOMAIN newint as int4; CREATE TABLE tab (col newint unique); ERROR: data type newint has no default operator class for access method "btree" You must specify an operator class for the index or define a default operator class for the data type Specifically, GetDefaultOpClass() finds 0 exact matches and 3 binary compatible matches. Fetching getBaseType() of the attribute fixes the problem for domains (see attachment). Rod Taylor
Diffstat (limited to 'src/backend/commands/indexcmds.c')
-rw-r--r--src/backend/commands/indexcmds.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c
index 584df00d78d..be0326e4fef 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.81 2002/08/07 21:45:01 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/indexcmds.c,v 1.82 2002/08/15 02:53:35 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -482,6 +482,9 @@ GetDefaultOpClass(Oid attrType, Oid accessMethodId)
Oid exactOid = InvalidOid;
Oid compatibleOid = InvalidOid;
+ /* It could be a domain */
+ 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