Re: texteq/byteaeq: avoid detoast [REVIEW] - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: texteq/byteaeq: avoid detoast [REVIEW]
Date
Msg-id AANLkTik9dbiQRwBsysuJ_iOFim74s_bwOnqxgjNR_zka@mail.gmail.com
Whole thread Raw
In response to Re: texteq/byteaeq: avoid detoast [REVIEW]  (Itagaki Takahiro <itagaki.takahiro@gmail.com>)
Responses Re: texteq/byteaeq: avoid detoast [REVIEW]  (Pavel Stehule <pavel.stehule@gmail.com>)
Re: texteq/byteaeq: avoid detoast [REVIEW]  (Peter Eisentraut <peter_e@gmx.net>)
Re: texteq/byteaeq: avoid detoast [REVIEW]  (Noah Misch <noah@leadboat.com>)
List pgsql-hackers
On Mon, Jan 17, 2011 at 06:51, Itagaki Takahiro
<itagaki.takahiro@gmail.com> wrote:
> On Mon, Jan 17, 2011 at 04:05, Andy Colson <andy@squeakycode.net> wrote:
>> This is a review of:
>> https://commitfest.postgresql.org/action/patch_view?id=468
>>
>> Purpose:
>> ========
>> Equal and not-equal _may_ be quickly determined if their lengths are
>> different.   This _may_ be a huge speed up if we don't have to detoast.
>
> We can skip detoast to compare lengths of two text/bytea values
> with the patch, but we still need detoast to compare the contents
> of the values.
>
> 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.

In fact, aren't there cases where the *length test* also fails? I
don't know this for sure, but unless we know for certain that two
different length strings can never be the same *independent of
locale*, this whole patch has a big problem...

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/


pgsql-hackers by date:

Previous
From: KaiGai Kohei
Date:
Subject: Re: texteq/byteaeq: avoid detoast [REVIEW]
Next
From: Magnus Hagander
Date:
Subject: Re: psql: Add \dL to show languages