Re: BUG #2895: Private Use Unicode character crashes server when using ILIKE

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема Re: BUG #2895: Private Use Unicode character crashes server when using ILIKE
Дата
Msg-id 20070117034742.GA53257@winnie.fuhr.org
обсуждение исходный текст
Ответ на BUG #2895: Private Use Unicode character crashes server when using ILIKE  ("James Russell" <internationalhobo@gmail.com>)
Список pgsql-bugs
On Tue, Jan 16, 2007 at 06:16:22AM +0000, James Russell wrote:
> Description: Private Use Unicode character crashes server when using ILIKE

The archives show that ILIKE is known to be broken with multibyte
characters in 8.1 and earlier, although I don't recall seeing reports
of a crash resulting.  I got a crash in 8.1.6 built from the latest
source in CVS; here's a partial stack trace:

(gdb) bt
#0  MBMatchTextIC (t=0x2a98613d1c "�\200\202\206", tlen=4, p=0x0, plen=4) at like_match.c:195
#1  0x00000000005ae558 in texticlike (fcinfo=Variable "fcinfo" is not available.
) at like.c:355

I wonder if this is a problem only with code points outside of Plane 0,
viz., those with UTF-8 sequences longer than three bytes.  I don't get
a crash with U+FFFD (E'\357\277\275') but I do with U+10000
(E'\360\220\200\200') and other four-byte sequences.

> - I have not yet tried to reproduce the bug on the latest Postgres 8.2.x

It appears to work in 8.2.1; at least it didn't crash.  The 8.2
Release Notes contain the following item:

* Allow ILIKE to work for multi-byte encodings (Tom)

  Internally, ILIKE now calls lower() and then uses LIKE.  Locale-specific
  regular expression patterns still do not work in these encodings.

--
Michael Fuhr

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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: BUG #2898: dynamic load support
Следующее
От: "Ted Petrosky"
Дата:
Сообщение: BUG #2903: can not find bonjour instance