Thread: Text Selectivity Operators in String Types
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
"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
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