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
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 по дате отправления: