On Mon, Jan 17, 2011 at 07:35:52AM +0100, Magnus Hagander wrote: > On Mon, Jan 17, 2011 at 06:51, Itagaki Takahiro > <itagaki.takah...@gmail.com> wrote: > > On Mon, Jan 17, 2011 at 04:05, Andy Colson <a...@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...
Just to be clear, the code already has these length tests today. This patch just moves them before the detoast. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers