Thread: Indexing new type ........

Indexing new type ........

From
Date:
Hi,

Well i create a new type. I want indexing my new type but i
can't , postgresql erro : my type has no default operator class
So i use the following query in order to have default operator:
INSERT INTO pg_opclass(opcname,opcdeftype) select 'ean13_ops',oidfrom pg_type where typname = 'ean13' ;
So the new error with postgresql when i try to create an index
on my new type is : opclass "ean13" not supported by
access method btree
So I think i forget some definition function in my
c program in order to use index .
I 've got operators for my type ( > , < , == and so on )
Can you help me ???
Thanks in advance,
Best regards,
PEJAC pascal



Re: Indexing new type ........

From
Tom Lane
Date:
<pejac@altern.org> writes:
> So i use the following query in order to have default operator:
> INSERT INTO pg_opclass(opcname,opcdeftype) select 'ean13_ops',oid
>  from pg_type where typname = 'ean13' ;
> So the new error with postgresql when i try to create an index
> on my new type is : opclass "ean13" not supported by
> access method btree

You need some entries in pg_amop and pg_amproc as well.  See the section
on "interfacing extensions to indices" in the Programmer's Guide.
        regards, tom lane