BUG #17542: tsquery returns incorrect results with nested, conjuncted followed-by operators - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #17542: tsquery returns incorrect results with nested, conjuncted followed-by operators
Date
Msg-id 17542-69860f66186a43e4@postgresql.org
Whole thread Raw
Responses Re: BUG #17542: tsquery returns incorrect results with nested, conjuncted followed-by operators
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      17542
Logged by:          Jordan Lewis
Email address:      jordanthelewis@gmail.com
PostgreSQL version: 14.3
Operating system:   Linux
Description:

Consider the following query:

jordan=> select '((a <2> c) & (b <-> c)) <-> d'::tsquery @@ 'a:1 b:2 c:3
d:4';
 ?column?
----------
 f
(1 row)

I think this should return "true", because both of the expressions on the
left-hand-side of the outer <-> operator of the tsquery do in fact precede
the "d" term in the tsvector.

Here is output that shows this:

jordan=> select '((a <2> c)) <-> d'::tsquery @@ 'a:1 b:2 c:3 d:4';
 ?column?
----------
 t
(1 row)

jordan=> select '((b <-> c)) <-> d'::tsquery @@ 'a:1 b:2 c:3 d:4';
 ?column?
----------
 t
(1 row)

I think things go wrong in the query executor because the two LHS clauses
have different widths.

Do you agree that this is incorrect output?


pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #17540: Prepared statement: PG switches to a generic query plan which is consistently much slower
Next
From: PG Bug reporting form
Date:
Subject: BUG #17543: CSVLOG malformed from disk space error