From: | Rod Taylor <rbt(at)zort(dot)ca> |
---|---|
To: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Domains and Indexes |
Date: | 2002-08-11 21:15:47 |
Message-ID: | 1029100548.239.7.camel@jester |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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).
However, I have to wonder why GetDefaultOpClass doesn't simply use the
first Binary Compatible opclass. When there is more than one usable it
doesn't do anything useful.
Attachment | Content-Type | Size |
---|---|---|
index.patch | text/x-patch | 699 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2002-08-11 21:17:35 | pgsql-server/ oc/src/sgml/release.sgml rc/back ... |
Previous Message | Joe Conway | 2002-08-11 20:09:43 | Re: [GENERAL] workaround for lack of REPLACE() function |