Re: texteq/byteaeq: avoid detoast [REVIEW]

Itagaki Takahiro <itagaki.takahiro@gmail.com>

From: Itagaki Takahiro <itagaki.takahiro@gmail.com>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Magnus Hagander <magnus@hagander.net>, Andy Colson <andy@squeakycode.net>, Noah Misch <noah@leadboat.com>, pgsql-hackers@postgresql.org
Date: 2011-01-17T07:51:56Z
Lists: pgsql-hackers
On Mon, Jan 17, 2011 at 16:13, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>>> If we always generate same toasted byte sequences from the same raw
>>> values, we don't need to detoast at all to compare the contents.
>>> Is it possible or not?
>>
>> For bytea, it seems it would be possible.
>>
>> For text, I think locales may make that impossible. Aren't there
>> locale rules where two different characters can "behave the same" when
>> comparing them? I know in Swedish at least w and v behave the same
>> when sorting (but not when comparing) in some variants of the locale.
>>
> Some string's comparation operations are binary now too. But it is
> question what will be new with collate support.

Right. We are using memcmp() in texteq and textne now. We consider
collations only in <, <=, =>, > and compare support functions.
So, I think there is no regression here as long as raw values and
toasted byte sequences have one-to-one correspondence.

-- 
Itagaki Takahiro