Thread: Text Selectivity Operators in String Types

Text Selectivity Operators in String Types

From
"David E. Wheeler"
Date:
Howdy,

A while back, thanks to feedback from RhodiumToad on #postgresql, I  
added selectivity functions to the citext operators:

CREATE OPERATOR = (    LEFTARG    = CITEXT,    RIGHTARG   = CITEXT,    COMMUTATOR = =,    NEGATOR    = <>,    PROCEDURE
= citext_eq,    RESTRICT   = eqsel,    JOIN       = eqjoinsel,    HASHES,    MERGES
 
);

However, it looks like these might be less than ideal:
  http://www.depesz.com/index.php/2008/08/10/waiting-for-84-case-insensitive-text-citext/
From what depesz sees, the eqsel and eqjoinsel functions might be a  
bit too aggressive in recommending the use of indexes.

So I was wondering, since in CVS HEAD citext is able to identify its  
type category as string, might there also be some way to use the same  
estimator functions in the citext operators as are used for text?

Thanks,

David


Re: Text Selectivity Operators in String Types

From
Tom Lane
Date:
"David E. Wheeler" <david@kineticode.com> writes:
>  From what depesz sees, the eqsel and eqjoinsel functions might be a  
> bit too aggressive in recommending the use of indexes.

He presented absolutely 0 evidence to back up that opinion.

> So I was wondering, since in CVS HEAD citext is able to identify its  
> type category as string, might there also be some way to use the same  
> estimator functions in the citext operators as are used for text?

Those are the same estimator functions.
        regards, tom lane


Re: Text Selectivity Operators in String Types

From
"David E. Wheeler"
Date:
On Aug 18, 2008, at 12:18, Tom Lane wrote:

> "David E. Wheeler" <david@kineticode.com> writes:
>> From what depesz sees, the eqsel and eqjoinsel functions might be a
>> bit too aggressive in recommending the use of indexes.
>
> He presented absolutely 0 evidence to back up that opinion.
>
>> So I was wondering, since in CVS HEAD citext is able to identify its
>> type category as string, might there also be some way to use the same
>> estimator functions in the citext operators as are used for text?
>
> Those are the same estimator functions.

Oh. Okay then. That was easy. Thanks!

Best,

David