Re: gin index postgres 9.2 - Mailing list pgsql-general

From David G. Johnston
Subject Re: gin index postgres 9.2
Date
Msg-id CAKFQuwZa+t99UREs8XOyVs3KCDTLJHQAcxxe6QRnGUNnR1gQBA@mail.gmail.com
Whole thread Raw
In response to Re: gin index postgres 9.2  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On Wed, May 25, 2016 at 8:09 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> On Wed, May 25, 2016 at 7:42 PM, David G. Johnston <
> david.g.johnston@gmail.com> wrote:
>> ​What's the query with the revised parentheses?

> ​Never mind...your right I doubt that it should matter.

The parentheses in the original *definitely* matter, because by default
AND binds more tightly than OR.  The larger number of rows in the second
query are perfectly plausible given the parenthesis-omission.

​That's what I get for second-guessing myself...

To be more precise the behavior shown is exhibited in the following three queries.

SELECT true OR false OR false AND false AND false  --> true
SELECT true OR false OR (false AND false AND false) -->true
or, more precisely:
SELECT (true OR false) OR ((false AND false) AND false) -->true

what is thus needed is:
SELECT (true OR false OR false) AND false AND false --> false
which is treated like
SELECT (((true OR false) OR false) AND false) AND false --> false

penance served...

David J.

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: gin index postgres 9.2
Next
From: Patrick Baker
Date:
Subject: full text search index