Обсуждение: [BUGS] Re: BUG #14623: pg_trgm doesn't correctly process some regexp withnegative lookahead

Поиск
Список
Период
Сортировка

[BUGS] Re: BUG #14623: pg_trgm doesn't correctly process some regexp withnegative lookahead

От
Corey Csuhta
Дата:
I don’t know if this is related or a separate bug, but I am also having this problem with the `+` operator and
characterclasses. Very similar test case: 

CREATE TABLE foobar (x text);
INSERT INTO foobar VALUES ('Trying +1/+1'),('Also doing +20/+20');
CREATE EXTENSION pg_trgm;
CREATE INDEX ON foobar USING gin (x gin_trgm_ops);
SET enable_seqscan TO on;
SELECT * FROM foobar WHERE x  ~ '\+\d+\/\+\d+'; -- Returns both rows
SET enable_seqscan TO off;
SELECT * FROM foobar WHERE x  ~ '\+\d+\/\+\d+'; -- Returns 0 rows

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Corey Csuhta <its+postgres@csuhta.com> writes:
> I don’t know if this is related or a separate bug, but I am also having this problem with the `+` operator and
characterclasses. Very similar test case: 
> CREATE TABLE foobar (x text);
> INSERT INTO foobar VALUES ('Trying +1/+1'),('Also doing +20/+20');
> CREATE EXTENSION pg_trgm;
> CREATE INDEX ON foobar USING gin (x gin_trgm_ops);
> SET enable_seqscan TO on;
> SELECT * FROM foobar WHERE x  ~ '\+\d+\/\+\d+'; -- Returns both rows
> SET enable_seqscan TO off;
> SELECT * FROM foobar WHERE x  ~ '\+\d+\/\+\d+'; -- Returns 0 rows

Hmm ... seems unrelated, since there's no lookahead constraint in this
example.  Also, the patch I committed earlier today doesn't fix it.
        regards, tom lane


--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

[BUGS] Re: BUG #14623: pg_trgm doesn't correctly process some regexp withnegative lookahead

От
Corey Csuhta
Дата:
Does this still seem like a problem? Is it helpful if I submit a new bug # for tracking purposes?

> On Apr 14, 2017, at 12:54 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> Corey Csuhta <its+postgres@csuhta.com> writes:
>> I don’t know if this is related or a separate bug, but I am also having this problem with the `+` operator and
characterclasses. Very similar test case: 
>> CREATE TABLE foobar (x text);
>> INSERT INTO foobar VALUES ('Trying +1/+1'),('Also doing +20/+20');
>> CREATE EXTENSION pg_trgm;
>> CREATE INDEX ON foobar USING gin (x gin_trgm_ops);
>> SET enable_seqscan TO on;
>> SELECT * FROM foobar WHERE x  ~ '\+\d+\/\+\d+'; -- Returns both rows
>> SET enable_seqscan TO off;
>> SELECT * FROM foobar WHERE x  ~ '\+\d+\/\+\d+'; -- Returns 0 rows
>
> Hmm ... seems unrelated, since there's no lookahead constraint in this
> example.  Also, the patch I committed earlier today doesn't fix it.
>
>             regards, tom lane



--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Re: [BUGS] BUG #14623: pg_trgm doesn't correctly process some regexp with negative lookahead

От
Tom Lane
Дата:
Corey Csuhta <its+postgres@csuhta.com> writes:
> Does this still seem like a problem? Is it helpful if I submit a new bug # for tracking purposes?

Yes, and not really.  These days we track stuff by mail message ID.
But thanks for reporting the problem!
        regards, tom lane


--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Corey Csuhta <its+postgres@csuhta.com> writes:
> I don’t know if this is related or a separate bug, but I am also having this problem with the `+` operator and
characterclasses. Very similar test case: 
> CREATE TABLE foobar (x text);
> INSERT INTO foobar VALUES ('Trying +1/+1'),('Also doing +20/+20');
> CREATE EXTENSION pg_trgm;
> CREATE INDEX ON foobar USING gin (x gin_trgm_ops);
> SET enable_seqscan TO on;
> SELECT * FROM foobar WHERE x  ~ '\+\d+\/\+\d+'; -- Returns both rows
> SET enable_seqscan TO off;
> SELECT * FROM foobar WHERE x  ~ '\+\d+\/\+\d+'; -- Returns 0 rows

I've pushed a fix for this.  Thanks for the report!
        regards, tom lane


--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs