| From: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com> |
|---|---|
| To: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
| Cc: | Kirill Reshke <reshkekirill(at)gmail(dot)com>, Shinya Kato <shinya11(dot)kato(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Use IsA() macro instead of nodeTag comparison |
| Date: | 2026-01-09 00:32:07 |
| Message-ID: | CAHGQGwGjWGS89_sTx=sbPm0FQemyQQrfTKm=taUhAJFV5k-9cw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Fri, Jan 9, 2026 at 2:11 AM Heikki Linnakangas <hlinnaka(at)iki(dot)fi> wrote:
>
> On 08/01/2026 15:10, Kirill Reshke wrote:
> > On Thu, 8 Jan 2026 at 17:31, Shinya Kato <shinya11(dot)kato(at)gmail(dot)com> wrote:
> >> In copy.c, nodeTag was being compared directly, so I replaced it with
> >> the IsA() predicate macro for consistency.
> >
> > Oops. Looks like oversight in 6c8f670. This is indeed case where we
> > should use IsA()
> >
> >> I verified that there are no other direct comparisons left by running
> >> the following command:
> >> $ git grep "nodeTag(.*) =="
> >
> > Yep, look like this is the only case in copy.c
I found a similar issue in define.c. Should we fix it there as well?
diff --git a/src/backend/commands/define.c b/src/backend/commands/define.c
index 63601a2c0b4..8313431397f 100644
--- a/src/backend/commands/define.c
+++ b/src/backend/commands/define.c
@@ -349,7 +349,7 @@ defGetStringList(DefElem *def)
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("%s requires a parameter",
def->defname)));
- if (nodeTag(def->arg) != T_List)
+ if (!IsA(def->arg, List))
elog(ERROR, "unrecognized node type: %d", (int)
nodeTag(def->arg));
foreach(cell, (List *) def->arg)
Regards,
--
Fujii Masao
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Chao Li | 2026-01-09 00:45:36 | Re: Fix how some lists are displayed by psql \d+ |
| Previous Message | Andres Freund | 2026-01-09 00:29:35 | Re: Buffer locking is special (hints, checksums, AIO writes) |