[PATCH] Fix incorrect parser comment

Started by David Christensen3 months ago3 messageshackers
Jump to latest
#1David Christensen
david@pgguru.net

Noted when doing some other unrelated changes; these are RoleSpec
nodes, not String. This comment has been wrong for ~ 10 years. :D

Attachments:

0001-Fix-incorrect-parser-comment.patchapplication/octet-stream; name=0001-Fix-incorrect-parser-comment.patchDownload+1-2
#2Chao Li
li.evan.chao@gmail.com
In reply to: David Christensen (#1)
Re: [PATCH] Fix incorrect parser comment

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/

#3Michael Paquier
michael@paquier.xyz
In reply to: David Christensen (#1)
Re: [PATCH] Fix incorrect parser comment

On Wed, Jan 14, 2026 at 01:26:03PM -0600, David Christensen wrote:

Noted when doing some other unrelated changes; these are RoleSpec
nodes, not String. This comment has been wrong for ~ 10 years. :D

Indeed, thanks. Adding that to my stack for later.
--
Michael