Re: BUG #19059: PostgreSQL fails to evaluate the cheaper expression first, leading to 45X performance degradation

Vik Fearing <vik@postgresfriends.org>

From: Vik Fearing <vik@postgresfriends.org>
To: Christophe Pettus <xof@thebuild.com>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: jinhui.lai@qq.com, pgsql-bugs@lists.postgresql.org
Date: 2025-09-21T09:09:02Z
Lists: pgsql-bugs
On 21/09/2025 00:54, Christophe Pettus wrote:
>> On Sep 20, 2025, at 14:19, Tom Lane<tgl@sss.pgh.pa.us> wrote:
>> While we've not gotten a huge amount of push-back about the top-level
>> re-ordering, there's been some complaints.  So I'm not eager to
>> propagate the idea further down.
> And tangentially, doesn't the SQL standard make it implementation-defined if OR short-circuits or not?
>

Not that I can see.  The only implementation-defined mention in <boolean 
value expression> is:


"If the SQL-implementation supports Feature T101, “Enhanced nullability 
determination”, and if BVE conforms to an implementation-defined (IE011) 
rule that enables the SQL-implementation to correctly infer that, when 
BVE is True, then X cannot be null, then BVE is a known-not-null 
condition for X. "

-- 

Vik Fearing