Re: Planner issue - Mailing list pgsql-hackers

From Soroosh Sardari
Subject Re: Planner issue
Date
Msg-id CAFUsPDb8fFS_TXcFJTwkqNnAK7_N22AtgFLQhQo8dbFtQowcHg@mail.gmail.com
Whole thread Raw
In response to Re: Planner issue  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers



On Mon, Oct 14, 2013 at 10:55 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Soroosh Sardari <soroosh.sardari@gmail.com> writes:
> I developed a new character string type, named myvarchar.
> Also an operator class for btree is added.
> PROBLEM:
> When I executed a query with where clause on 'mine' column, PG does not use
> index.

Most likely you got the opclass definition wrong.  Since you've shown us
no details of what you did, it's hard to speculate about just how.  But
note that varchar itself is a pretty bad model for a user-added datatype,
because it has a special symbiotic relationship with type "text" (to wit,
it has no operators of its own but uses text's operators via implicit
casts).  To get to a working independent datatype like this, you'd need
to pick the right aspects of each of text and varchar to clone.  So my
unfounded speculation is you didn't do that just right.

                        regards, tom lane


As Tom said, I did something wrong when I was creating new operators.
The RESTRICT parameter is forgotten. Since all varchar operations
redirected to text operators, hence my operators must be like
operators of type text.

I used following command to find text operator:

select * from pg_operator  where oprleft = 25 
and oprright = 25

P.S : 25 is oid of text type.

Cheers,
Soroosh Sardari

pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Long paths for tablespace leads to uninterruptible hang in Windows
Next
From: Robert Haas
Date:
Subject: Re: dynamic shared memory