On Mon, Oct 14, 2024 at 7:03 PM Dean Rasheed <dean.a.rasheed@gmail.com> wrote:
>
> > > typedef struct ReturningOption
> > > {
> > > NodeTag type;
> > > bool isNew;
> > > char *name;
> > > int location;
> > > } ReturningOption;
>
> Thinking about that struct some more, I think "isNew" is better done
> as an enum, since this is meant to be a generic option. So even though
> it might never have more than 2 possible values, I think it's neater
> done that way.
>
typedef struct ReturningOption
{
NodeTag type;
ReturningOptionKind option; /* specified option */
char *value; /* option's value */
ParseLoc location; /* token location, or -1 if unknown */
} ReturningOption;
@@ -4304,6 +4332,16 @@ raw_expression_tree_walker_impl(Node *no
return true;
}
break;
+ case T_ReturningClause:
+ {
+ ReturningClause *returning = (ReturningClause *) node;
+
+ if (WALK(returning->options))
+ return true;
+ if (WALK(returning->exprs))
+ return true;
+ }
+ break;
+ if (WALK(returning->options))
+ return true;
T_ReturningOption is primitive, so we only need to
"if (WALK(returning->exprs))"?