Re: Support LIKE with nondeterministic collations

Поиск
Список
Период
Сортировка
От Daniel Verite
Тема Re: Support LIKE with nondeterministic collations
Дата
Msg-id a827cf68-608e-45cf-9b94-e46f5e9d4171@manitou-mail.org
обсуждение исходный текст
Ответ на Support LIKE with nondeterministic collations  (Peter Eisentraut <peter@eisentraut.org>)
Ответы Re: Support LIKE with nondeterministic collations
Список pgsql-hackers
    Peter Eisentraut wrote:

> This patch adds support for using LIKE with nondeterministic
>  collations.  So you can do things such as
>
>     col LIKE 'foo%' COLLATE case_insensitive

Nice!

> The pattern is partitioned into substrings at wildcard characters
> (so 'foo%bar' is partitioned into 'foo', '%', 'bar') and then then
> whole predicate matches if a match can be found for each partition
> under the applicable collation

Trying with a collation that ignores punctuation:

  postgres=# CREATE COLLATION "ign_punct" (
    provider = 'icu',
    locale='und-u-ka-shifted',
    deterministic = false
  );

  postgres=# SELECT '.foo.' like 'foo' COLLATE ign_punct;
   ?column?
  ----------
   t
  (1 row)

  postgres=# SELECT '.foo.' like 'f_o' COLLATE ign_punct;
   ?column?
  ----------
   t
  (1 row)

  postgres=# SELECT '.foo.' like '_oo' COLLATE ign_punct;
   ?column?
  ----------
   f
  (1 row)

The first two results look fine, but the next one is inconsistent.


Best regards,
--
Daniel Vérité
https://postgresql.verite.pro/
Twitter: @DanielVerite



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

Предыдущее
От: Daniel Gustafsson
Дата:
Сообщение: Re: BitmapHeapScan streaming read user and prelim refactoring
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pg_trgm comparison bug on cross-architecture replication due to different char implementation