Re: Case insensitive selects?

Поиск
Список
Период
Сортировка
От David Wheeler
Тема Re: Case insensitive selects?
Дата
Msg-id Pine.LNX.4.21.0102161149560.24414-100000@theory
обсуждение исходный текст
Ответ на Re: Case insensitive selects?  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: Case insensitive selects?  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-general
On Fri, 16 Feb 2001, Bruce Momjian wrote:

> I was wondering if we could do case-insensitive index waking by doing
> looking for CAR as:
>
>     CAR
>     CAr
>     CaR
>     Car
>     cAR
>     cAr
>     caR
>     car
>
> Basically you look for CAR, then back up in the btree, to CA and look
> for r instead of R.  I relized the number of tests would exponentially
> explode, but isn't it just like btree walking where we back up to test
> the lowercase of the letter.

Wouldn't it be more efficient to just have a single, case-insensitive
index, and then have the query engine automagically compare to the index
in a case-insensitive way? I'm assuming that this is the sort of approach
MS takes, which is why one has to choose the sort order at installation
time. If I choose case-insensitive Unicode, then I would expect the server
to do these things for me behind the scenes:

* When I create an index, automatically convert all char/varchar/text
  fields with lower().
* When I do a query, automatically use lower() on all fields and values
  queried against.

The result would be the same as Mitch describes, only I don't have to do
the work in my queries. The database would assume I want case-insensitive
matching based on some configuration I set, and do all the lower()s for
me. Perhaps the configuration could be set on a per-database basis (like
character set now is with multibyte).

Does that make sense?

Best

David



В списке pgsql-general по дате отправления:

Предыдущее
От: David Wheeler
Дата:
Сообщение: Re: Case insensitive selects?
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Case insensitive selects?