Re: BUG #18901: Bug in Perl-Script "src/backend/nodes/gen_node_support.pl" - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #18901: Bug in Perl-Script "src/backend/nodes/gen_node_support.pl"
Date
Msg-id 1006504.1745342742@sss.pgh.pa.us
Whole thread Raw
In response to BUG #18901: Bug in Perl-Script "src/backend/nodes/gen_node_support.pl"  (PG Bug reporting form <noreply@postgresql.org>)
List pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> While implementing some things in my own branch of the Postgres 17.4 branch
> (REL_17_STABLE), I encountered a possible bug in the perl script
> "src/backend/nodes/gen_node_support.pl". I have a struct declared in
> primnodes.h, which had some fields annotated with the pg_node_attr()
> modifiers. After that, i had some in-line comments("//") as reminders for my
> self, why i put the fields in the struct. The perl-script starts freaking
> out if you do that, as the "read input"-loop does not know how to handle
> "//"-comments after a struct-field. (Example: "Expr xpr; //Node supertype",
> the script never finds the ";" semicolon at the end, because "//"-comments
> are never stripped.)

// comments are against our project style, so it's not terribly
surprising that gen_node_support.pl doesn't cope with them.
While I wouldn't stand in the way of someone making it do so,
we're not likely to consider this a bug.

> Also, if i may, the error reporting in that script is horrible. What does
> "runaway <struct_name> in file "nodes/primnodes.h"." even mean?

Yeah, that could be improved.  It means it didn't find the closing
brace for that struct, but at the very least it could give you
a line number.

            regards, tom lane



pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #18901: Bug in Perl-Script "src/backend/nodes/gen_node_support.pl"
Next
From: Masahiko Sawada
Date:
Subject: Re: Disabled logical replication origin session causes primary key errors