Domains and Indexes - Mailing list pgsql-hackers

From Rod Taylor
Subject Domains and Indexes
Date
Msg-id 1029100548.239.7.camel@jester
Whole thread Raw
Responses Re: Domains and Indexes  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Domains and Indexes  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: Domains and Indexes  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: Domains and Indexes  (Bruce Momjian <pgman@candle.pha.pa.us>)
List 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

pgsql-hackers by date:

Previous
From: Joe Conway
Date:
Subject: Re: [GENERAL] workaround for lack of REPLACE() function
Next
From: Tom Lane
Date:
Subject: Re: Domains and Indexes