Text Selectivity Operators in String Types

From: "David E(dot) Wheeler" <david(at)kineticode(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Text Selectivity Operators in String Types
Date: 2008-08-18 18:26:04
Message-ID: E9527D89-30DD-4569-AFD5-C78D4BFC1071@kineticode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2008-08-18 18:29:49 Re: Compatibility types, type aliases, and distinct types
Previous Message Tom Lane 2008-08-18 18:25:14 Re: pgbench duration option