Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
>
>> We should only be able to get out of step from the "%_" case, I believe,
>> so we should only need to do the first-byte test in that case (which is
>> in a different code path from the normal "_" case. Does that seem right?
>>
>
> At least put Assert(IsFirstByte()) in the main path.
>
> I'm a bit suspicious of the separate-path business anyway. Will it do
> the right thing with say "%%%_" ?
>
>
>
Yes:
/* %% is the same as % according to the SQL standard */ /* Advance past all %'s */ while
((plen> 0) && (*p == '%')) NextByte(p, plen);
cheers
andrew