Re: [PATCH] Fix incorrect parser comment - Mailing list pgsql-hackers

From Chao Li
Subject Re: [PATCH] Fix incorrect parser comment
Date
Msg-id 9C96781E-BD27-4186-914F-8397CB96D8E8@gmail.com
Whole thread Raw
In response to [PATCH] Fix incorrect parser comment  (David Christensen <david@pgguru.net>)
List pgsql-hackers

> On Jan 15, 2026, at 03:26, David Christensen <david@pgguru.net> wrote:
>
> Noted when doing some other unrelated changes; these are RoleSpec
> nodes, not String.  This comment has been wrong for ~ 10 years. :D
> <0001-Fix-incorrect-parser-comment.patch>

I think this is a good catch. The error isn't immediately obvious at a glance.

To provide the fix:

```
typedef struct GrantRoleStmt
{
NodeTag type;
List *granted_roles; /* list of roles to be granted/revoked */
List *grantee_roles; /* list of member roles to add/delete */
```

grantee_roles is defined as a List in GrantRoleStmt, and it is passed to roleSpecsToIds():

```
grantee_ids = roleSpecsToIds(stmt->grantee_roles);
```

Then roleSpecsToIds() iterates the list with type RoleSpec:

```
List *
roleSpecsToIds(List *memberNames)
{
  List *result = NIL;
  ListCell *l;

  foreach(l, memberNames)
  {
    RoleSpec *rolespec = lfirst_node(RoleSpec, l);
    Oid roleid;

    roleid = get_rolespec_oid(rolespec, false);
    result = lappend_oid(result, roleid);
  }
  return result;
}
```

So, the fix LGTM.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/







pgsql-hackers by date:

Previous
From: Movead
Date:
Subject: Re: Can we change pg_rewind used without wal_log_hints and data_checksums
Next
From: Chao Li
Date:
Subject: Re: Refactor replication origin state reset helpers