Re: texteq/byteaeq: avoid detoast [REVIEW]
От | Magnus Hagander |
---|---|
Тема | Re: texteq/byteaeq: avoid detoast [REVIEW] |
Дата | |
Msg-id | AANLkTik9dbiQRwBsysuJ_iOFim74s_bwOnqxgjNR_zka@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: texteq/byteaeq: avoid detoast [REVIEW] (Itagaki Takahiro <itagaki.takahiro@gmail.com>) |
Ответы |
Re: texteq/byteaeq: avoid detoast [REVIEW]
Re: texteq/byteaeq: avoid detoast [REVIEW] Re: texteq/byteaeq: avoid detoast [REVIEW] |
Список | 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 по дате отправления: