Domains and Indexes

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

Responses

Browse pgsql-hackers by date

  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