Re: JIT: The nullness of casetest.value can be determined at the JIT compile time.
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Xing Guo <higuoxing@gmail.com>, Andreas Karlsson <andreas@proxel.se>,
pgsql-hackers@lists.postgresql.org
Date: 2025-01-30T18:27:32Z
Lists: pgsql-hackers
I wrote: > Agreed. I spent some time trying to do it better, with results > shown at [1]. If we adopt that idea, then the executor's support > for CaseTestExpr will go away, so there's little point in pursuing > that half of the patch given here. However, I concluded that there's > insufficient reason to redesign CoerceToDomainValue, so we could > still push forward with that half of this patch. On further consideration, we might as well do this whole patch. The patch I'm proposing over there is large and might well not land in v18 (or ever), so let's get this low-hanging fruit. I pushed Andreas's patch with some cosmetic tidying, mainly that I felt it better not to try to combine duplicate-ish code for the EEOP_CASE_TESTVAL and EEOP_DOMAIN_TESTVAL cases. We're after understandability here after all, and it's still a net code savings even with that duplication. regards, tom lane
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Simplify executor's handling of CaseTestExpr & CoerceToDomainValue.
- 115a365519bf 18.0 landed
-
Evaluate arguments of correlated SubPlans in the referencing ExprState
- a7f107df2b70 18.0 cited