Minor performance improvement for SQL-language functions.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 17 Apr 2025 16:55:58 +0000 (12:55 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 17 Apr 2025 16:55:58 +0000 (12:55 -0400)
commit09b07c29532fe7db87cbfe1c54355cfc80291b6c
treefbfb8f9c3b876df0cde8e4056459f50781884d5e
parentf4ece891fc2f3f96f0571720a1ae30db8030681b
Minor performance improvement for SQL-language functions.

Late in the development of commit 0dca5d68d, I added a step to copy
the result tlist we extract from the cached final query, because
I was afraid that that might not last as long as the JunkFilter that
we're passing it off to.  However, that turns out to cost a noticeable
number of cycles, and it's really quite unnecessary because the
JunkFilter will not examine that tlist after it's been created.
(ExecFindJunkAttribute would use it, but we don't use that function
on this JunkFilter.)  Hence, remove the copy step.  For safety,
reset the might-become-dangling jf_targetList pointer to NIL.

In passing, remove DR_sqlfunction.cxt, which we don't use anymore;
it's confusing because it's not entirely clear which context it
ought to point at.
src/backend/executor/functions.c