Re: Fix an unnecessary cast calling elog in ExecHashJoinImpl

From: Richard Guo <guofenglinux(at)gmail(dot)com>
To: Xuneng Zhou <xunengzhou(at)gmail(dot)com>
Cc: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, tndrwang(at)gmail(dot)com, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Fix an unnecessary cast calling elog in ExecHashJoinImpl
Date: 2025-10-16 09:53:07
Message-ID: CAMbWs4_R1YYzSQJ_cLv4Bnf601fay139W7Un6EK=8SN+VFGKVw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Oct 16, 2025 at 4:07 PM Xuneng Zhou <xunengzhou(at)gmail(dot)com> wrote:
> On Mon, Sep 1, 2025 at 9:26 AM Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> wrote:
> > On Aug 30, 2025, at 14:09, Tender Wang <tndrwang(at)gmail(dot)com> wrote:
> > While debugging the HashJoin codes, I noticed below codes in ExecHashJoinImpl():
> >
> > elog(ERROR, "unrecognized hashjoin state: %d",
> > (int) node->hj_JoinState);
> >
> > The type of hj_JoinState is already int, so the cast seems unnecessary.
> > So I remove it in the attached patch.

> > Yes, hj_JoinState is of type int, so the type cast to int is not needed. The change looks good to me.

> LGTM.

I think we can remove this cast, although it's so trivial that it
doesn't seem to have any real impact. A similar cast also exists for
mj_JoinState in ExecMergeJoin().

(These values represent the state of the Join state machine for
HashJoin and MergeJoin respectively, so I kind of wonder if it might
be better to define them as enum rather than using int.)

- Richard

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2025-10-16 09:59:20 Re: Logical Replication of sequences
Previous Message Xuneng Zhou 2025-10-16 09:39:20 Re: pgstattuple: Use streaming read API in pgstatindex functions