Minor refactor of the code in ExecScanExtended()
Hackorum builds and tests every patch posted to the lists, not only commitfest submissions. This is Hackorum's own CI rather than the PostgreSQL project's, and it is still under testing - please report anything that looks wrong.
You can run a PostgreSQL built from this patch straight from Docker, with no checkout and no build:
docker run --rm -p 5432:5432 ghcr.io/hackorum-dev/postgres-patch:t52612psql -h localhost -U postgresBuilt from patchset v1 (message #1), September 20, 2026 at 02:31 AM.
Every patchset is also pushed to a branch of our PostgreSQL fork, so you can check out the same tree CI built. Without a PostgreSQL checkout:
git clone --branch t52612_1 https://github.com/hackorum-dev/postgres.gitIn a checkout you already have, add the fork once:
git remote add hackorum https://github.com/hackorum-dev/postgres.gitthen, for this patchset and every later one:
git fetch hackorum t52612_1 && git checkout t52612_1Patchset v1 (message #1) is on t52612_1
Hi,
The current code:
if (!qual && !projInfo)
{
ResetExprContext(econtext);
return ExecScanFetch(node, epqstate, accessMtd, recheckMtd);
}
ResetExprContext(econtext);
The following format might be simpler:
ResetExprContext(econtext);
if (!qual && !projInfo)
return ExecScanFetch(node, epqstate, accessMtd, recheckMtd);
Attach a patch to do this.
--
Regards,
ChangAo Chen
On Sun, Jan 18, 2026 at 7:31 PM cca5507 <cca5507@qq.com> wrote:
Hi,
The current code:
if (!qual && !projInfo)
{
ResetExprContext(econtext);
return ExecScanFetch(node, epqstate, accessMtd, recheckMtd);
}ResetExprContext(econtext);
The following format might be simpler:
ResetExprContext(econtext);
if (!qual && !projInfo)
return ExecScanFetch(node, epqstate, accessMtd, recheckMtd);Attach a patch to do this.
--
Regards,
ChangAo ChenHi,
+1, seems like a simple refactor.
Tests are passing locally for me!
- Adi Gollamudi
Hi hackers,
2026년 1월 19일 (월) PM 1:51, Aditya Gollamudi <adigollamudi@gmail.com>님이 작성:
On Sun, Jan 18, 2026 at 7:31 PM cca5507 <cca5507@qq.com> wrote:
Hi,
The current code:
if (!qual && !projInfo)
{
ResetExprContext(econtext);
return ExecScanFetch(node, epqstate, accessMtd, recheckMtd);
}ResetExprContext(econtext);
The following format might be simpler:
ResetExprContext(econtext);
if (!qual && !projInfo)
return ExecScanFetch(node, epqstate, accessMtd, recheckMtd);Attach a patch to do this.
--
Regards,
ChangAo ChenHi,
+1, seems like a simple refactor.
Tests are passing locally for me!- Adi Gollamudi
+1, agreed.
The refactored version is cleaner and easier to read by moving
ResetExprContext() before the early return,
eliminating the duplicated logic.
Best regards,
Henson