Re: Yet another LIKE-indexing scheme

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Erich Stamberger <eberger(at)gewi(dot)kfunigraz(dot)ac(dot)at>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: Yet another LIKE-indexing scheme
Date: 2000-09-03 22:48:17
Message-ID: 8611.968021297@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Erich Stamberger <eberger(at)gewi(dot)kfunigraz(dot)ac(dot)at> writes:
>> Our existing code fails because it generates WHERE name >= 'Czec' AND
>> name < 'Czed'; it will therefore not find names beginning 'Czech'
>> because those are in another part of the index, between 'Czeh' and
>> 'Czei'. But WHERE name >= 'Cze' AND name < 'Czf' would work.

> The Problem is: What tells us, that it is 'f' which sorts
> after 'e' in that locale?

We keep trying until we find a character that *does* sort after 'e'.
I did say I was assuming that people had read the previous discussion
and knew what the existing approach was ;-)

However I've since thought of a different counterexample: if the LIKE
pattern is 'Czech%' and we strip off the 'h', we lose since we'll be
looking between 'Czec' and 'Czed' but the desired strings are in the
index between 'Czeh' and 'Czei'. Back to the drawing board...

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2000-09-04 00:37:23 Viability of VARLENA_FIXED_SIZE()
Previous Message Tom Lane 2000-09-03 22:16:33 Re: psql can crash the backend on login