Re: JIT: The nullness of casetest.value can be determined at the JIT compile time.
Andreas Karlsson <andreas@proxel.se>
From: Andreas Karlsson <andreas@proxel.se>
To: Xing Guo <higuoxing@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2024-09-03T12:09:04Z
Lists: pgsql-hackers
Attachments
- v1-0001-Specialize-EEOP_-_TESTVAL-steps.patch (text/x-patch) patch v1-0001
On 8/31/24 10:04 AM, Xing Guo wrote: > The nullness of casetest.value can be determined at the JIT compile > time. We can emit fewer codes by utilizing this property. The attached > patch is trying to fix it. I have not reviewed the code yet but the idea seems good. But I wonder if we shouldn't instead simplify the code a bit by specializing these steps when generating them instead of doing the work runtime/while generating machine code. Yes, I doubt the performance benefits matter but I personally think the code is cleaner before my patch than after it. Long term it would be nice to get rid off caseValue_datum/domainValue_datum as mentioned by Andres[1] but that is a bigger job so think that either your patch or my patch would make sense to apply before that. 1. https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=a7f107df2b700c859e4d9ad2ca66b07a465d6223 Andreas
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