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