Re: BUG #5356: citext not acting like case insensitive search - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #5356: citext not acting like case insensitive search
Date
Msg-id 20854.1267467928@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #5356: citext not acting like case insensitive search  ("David E. Wheeler" <david@kineticode.com>)
Responses Re: BUG #5356: citext not acting like case insensitive search  ("David E. Wheeler" <david@kineticode.com>)
List pgsql-bugs
"David E. Wheeler" <david@kineticode.com> writes:
> Michael managed to fix this issue by moving citext to the "public"
> schema. The question is, why would citext operators work in the public
> schema but not when they're in some other schema? Is `=` resolving to
> `TEXT = TEXT` if the "iss" schema isn't in the search path?

Now that I think a bit, not having the operators in the search path
would cause exactly that.  The parser will be faced with
    citext = unknown_literal
and the only operator that it can find that is relevant at all is
text = text, which can be applied by using the implicit cast from
citext to text.  So that's what it will do.

Not sure if there is anything we can do to make this much nicer.
Removing the implicit cast seems like a cure worse than the disease,
particularly because it would result in throwing a "no such operator"
error rather than actually doing what Michael would like.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #5356: citext not acting like case insensitive search
Next
From: Heikki Linnakangas
Date:
Subject: Re: BUG #5355: locale incorrectly comma-separates "(null)"