Thread: BUG #18636: I am seeing a difference in behavior between 13.12 and 15.6 for full text searching
BUG #18636: I am seeing a difference in behavior between 13.12 and 15.6 for full text searching
From
PG Bug reporting form
Date:
The following bug has been logged on the website: Bug reference: 18636 Logged by: Glenn Cipolla Email address: glenncipolla@gmail.com PostgreSQL version: 13.12 Operating system: Ubuntu 11.4 Description: The following query select to_tsvector('simple','RG147SW RG14 Greenham Road Newbury West Berkshire') @@ to_tsquery('simple', 'gree,west:*'); Returns false in PG 15.6, but returns true in pg 13.12. In 15.6 the code returns 'gree:* <-> 'west':*. In 13.12 it returns 'gree:* & 'west':* This article says the 13.12 behavior was a bug that was fixed in 14.x (https://akorotkov.github.io/blog/2021/05/22/pg-14-query-parsing/). I have a dev team about to change their code to handle the new <->. Before they do that, I would like a confirmation that this functionality is 1. A bug 2. The new functionality will not change back in newer versions. Do you intent to stick with the <-> return value? Thanks, Glenn
Re: BUG #18636: I am seeing a difference in behavior between 13.12 and 15.6 for full text searching
From
Laurenz Albe
Date:
On Fri, 2024-09-27 at 13:28 +0000, PG Bug reporting form wrote: > The following bug has been logged on the website: > > Bug reference: 18636 > Logged by: Glenn Cipolla > Email address: glenncipolla@gmail.com > PostgreSQL version: 13.12 > Operating system: Ubuntu 11.4 > Description: > > The following query > > select to_tsvector('simple','RG147SW RG14 Greenham Road Newbury West > Berkshire') > @@ to_tsquery('simple', 'gree,west:*'); > > Returns false in PG 15.6, but returns true in pg 13.12. In 15.6 the code > returns 'gree:* <-> 'west':*. > In 13.12 it returns 'gree:* & 'west':* > > This article says the 13.12 behavior was a bug that was fixed in 14.x > (https://akorotkov.github.io/blog/2021/05/22/pg-14-query-parsing/). > > I have a dev team about to change their code to handle the new <->. Before > they do that, I would like a confirmation that this functionality is > 1. A bug > 2. The new functionality will not change back in newer versions. Do you > intent to stick with the <-> return value? We intend to stick with the way it works now... unless somebody comes up with a very good reason why that behavior is buggy and worth the compatibility pain the fix incurs. From the commit message, the reason for 0c4f355c6a was that to_tsquery('simple', 'pg_class catalog') used to return '( pg & class ) <-> catalog' That is nonsensical, because both "pg" and "class" would have to occur right before "catalog", which cannot be. That seemed buggy enough to warrant a compatibility break. We cannot promise that no more bugs will be found whose fixes will break compatibility, but we have every intention not to introduce incompatibilities wantonly. Yours, Laurenz Albe