Thread: BUG #18901: Bug in Perl-Script "src/backend/nodes/gen_node_support.pl"
BUG #18901: Bug in Perl-Script "src/backend/nodes/gen_node_support.pl"
From
PG Bug reporting form
Date:
The following bug has been logged on the website: Bug reference: 18901 Logged by: Clemens Ruck Email address: clemens.ruck@t-online.de PostgreSQL version: 17.4 Operating system: Ubuntu 22.04 Description: 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.) I have no experience in Perl, just wanted to let you know, i encountered this bug, maybe someone more skilled than me can fix that. Also, if i may, the error reporting in that script is horrible. What does "runaway <struct_name> in file "nodes/primnodes.h"." even mean? Best regards, C
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