Re: BUG #15084: Invalid LIKE pattern not always reported - Mailing list pgsql-bugs

From David G. Johnston
Subject Re: BUG #15084: Invalid LIKE pattern not always reported
Date
Msg-id CAKFQuwbBwjn5KeDOYm-6_uOn_WWyj0ptsGLO-kqVtiei2h6AAw@mail.gmail.com
Whole thread Raw
In response to BUG #15084: Invalid LIKE pattern not always reported  (PG Bug reporting form <noreply@postgresql.org>)
List pgsql-bugs
On Fri, Feb 23, 2018 at 1:29 PM, PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:

Bug reference:      15084
Logged by:          Tudor Bosman
Email address:      tudorb@gmail.com
PostgreSQL version: 9.5.11
Operating system:   Ubuntu 16.04
Description:

PostgreSQL will not always detect an invalid LIKE pattern (one that ends
with a backslash).

Example:

tudor=# select 'foo' like 'foo\';
 ?column?
----------
 f
(1 row)

tudor=# select 'foobar' like 'foo\';
ERROR:  LIKE pattern must not end with escape character

This probably happens because the pattern is only parsed lazily (as needed);
if PostgreSQL detects that a match is impossible, it doesn't even look at
the rest of the pattern.

Still, it would be nice for error reporting to be consistent.

​Last March (Bug# 14512) Tom Lane thought a performant solution was possible though it was never committed.


I'm still +1 if it can be done without hurting performance on patterns that do match - a compile-time failure here is desirable.

Full thread here:


David J.

pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #15084: Invalid LIKE pattern not always reported
Next
From: Tom Lane
Date:
Subject: Re: BUG #15084: Invalid LIKE pattern not always reported