PostgreSQL 6.4.2 locale regexp and like problem
| От | Petr Hubeny |
|---|---|
| Тема | PostgreSQL 6.4.2 locale regexp and like problem |
| Дата | |
| Msg-id | 19990204104303.C1555@capitol.cz обсуждение исходный текст |
| Ответы |
Re: [BUGS] PostgreSQL 6.4.2 locale regexp and like problem
|
| Список | pgsql-general |
Hi, I've recently found an interesting problem with using czech locale and the regular expressions matching beginning of the line. I traced the problem and found it is caused by the optimalization within function makeIndexable, especially in the way the string match_most is constructed. What happens? The expression text ~ '^regexp' is rewritten into ( text ~ '^regexp' ) AND ( text >= 'regexp' ) AND ( text >= 'regexp\377' ) ( N.B.: The same applies for expression "text LIKE 'match%'". ) HOWEVER, in czech locale is 'regexp\377' < 'regexp' ! So the expression is doomed to be false. So I'd like to ask you: Is there any general (read: locale independent) way to create a 'match_most' string that would allow for such optimalization? Thanks for your patience, Psh -- Mgr. Petr Hubený ICQ UIN: 12472987
В списке pgsql-general по дате отправления: