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