Re: [HACKERS] like/ilike improvements

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: [HACKERS] like/ilike improvements
Дата
Msg-id 4660D06C.9010104@dunslane.net
обсуждение исходный текст
Ответ на Re: [HACKERS] like/ilike improvements  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [HACKERS] like/ilike improvements  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-patches

Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
>
>> OK, here is a patch that I think incorporates all the ideas discussed
>> (including part of Mark Mielke's suggestion about optimising %_). There
>> is now no special treatment of UTF8 other than its use of a faster
>> NextChar macro.
>>
>
> Looks mostly pretty good.  I would suggest replacing tests "tlen == 0"
> and "plen == 0" with "<= 0", just so the code doesn't go completely
> insane if presented with invalidly-encoded data that causes it to step
> beyond the end of data.  Also, this comment is not really good enough:
>
>
>> !         /*
>> !          * It is safe to use NextByte instead of NextChar here, even for
>> !          * multi-byte character sets, because we are not following
>> !          * immediately after a wildcard character.
>> !          */
>> !         NextByte(t, tlen);
>> !         NextByte(p, plen);
>>       }
>>
>
> I'd suggest adding something like "If we are in the middle of a
> multibyte character, we must already have matched at least one byte of
> the character from both text and pattern; so we cannot get out-of-sync
> on character boundaries.  And we know that no backend-legal encoding
> allows ASCII characters such as '%' to appear as non-first bytes of
> characters, so we won't mistakenly detect a new wildcard."
>
>
>

Done, and committed.

cheers

andrew

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [HACKERS] like/ilike improvements
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: [HACKERS] like/ilike improvements