Minor refactor of the code in ExecScanExtended()

Started by cca550711 months ago4 messageshackers
Beta feature

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.

appliessuccessCI history

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:t52612
psql -h localhost -U postgres

Built 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.git

In a checkout you already have, add the fork once:

git remote add hackorum https://github.com/hackorum-dev/postgres.git

then, for this patchset and every later one:

git fetch hackorum t52612_1 && git checkout t52612_1

Patchset v1 (message #1) is on t52612_1

Jump to latest
#1cca5507
cca5507@qq.com

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

Attachments:

t52612_1
v1-0001-Minor-refactor-of-the-code-in-ExecScanExtended.patchapplication/octet-stream; charset=utf-8; name=v1-0001-Minor-refactor-of-the-code-in-ExecScanExtended.patchDownload+6-10
#2Aditya Gollamudi
adigollamudi@gmail.com
In reply to: cca5507 (#1)
Re: Minor refactor of the code in ExecScanExtended()

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 Chen

Hi,

+1, seems like a simple refactor.
Tests are passing locally for me!

- Adi Gollamudi

#3Henson Choi
assam258@gmail.com
In reply to: Aditya Gollamudi (#2)
Re: Minor refactor of the code in ExecScanExtended()

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 Chen

Hi,

+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

#4Michael Paquier
michael@paquier.xyz
In reply to: cca5507 (#1)
Re: Minor refactor of the code in ExecScanExtended()

On Fri, Nov 07, 2025 at 10:00:15PM +0800, cca5507 wrote:

Attach a patch to do this.

There is no benefit in this change: the current code is fine.
--
Michael