Обсуждение: [BUGS] Re: BUG #14623: pg_trgm doesn't correctly process some regexp withnegative lookahead
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
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
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