Re: BUG #5478: ILIKE operator returns wrong result - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #5478: ILIKE operator returns wrong result
Date
Msg-id 26362.1275061868@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #5478: ILIKE operator returns wrong result  (Bruce Momjian <bruce@momjian.us>)
Responses Re: BUG #5478: ILIKE operator returns wrong result  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Bruce Momjian <bruce@momjian.us> writes:
> Tom Lane wrote:
>> If tlen == 0 when we reach this loop, we'll fall through and fail.
>> But that is wrong since we need to consider the possibility that
>> the remaining pattern can match a zero-length substring.  So the
>> loop needs to be changed to attempt a recursive MatchText for
>> tlen equal to zero as well as greater than zero.

> I took a different approach.  I think the problem is that we check for
> end of pattern without consuming '%' patterns.  I copied that consume
> loop from code above that where we also test for end of pattern.

> With the attached patch (which includes a regression test addition), it
> works fine:

No, that patch is just plain wrong.  It eats %'s that would affect
the later recursive MatchText calls.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: BUG #5478: ILIKE operator returns wrong result
Next
From: Tom Lane
Date:
Subject: Re: BUG #5478: ILIKE operator returns wrong result