Re: [Patch]Add Graph* node support to expression_tree_mutator - Mailing list pgsql-hackers

From Robert Haas
Subject Re: [Patch]Add Graph* node support to expression_tree_mutator
Date
Msg-id CA+TgmoZvC1XQe_QnTQnXyvrqP0WLn07NnNEmEPLzNQOjbnGXtw@mail.gmail.com
Whole thread
In response to Re: [Patch]Add Graph* node support to expression_tree_mutator  (Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>)
Responses Re: [Patch]Add Graph* node support to expression_tree_mutator
List pgsql-hackers
On Tue, Apr 28, 2026 at 11:05 AM Ashutosh Bapat
<ashutosh.bapat.oss@gmail.com> wrote:
> The walker didn't WALK labelexpr and quantifier either. Given that
> labelexpr is a boolean expression it needs to be WALKed. quantifier is
> IntList which is ignored by other nodes as well when WALKing. But we
> need to copy quantifier in mutator otherwise the mutated expression
> will point to the same IntList as the original node. Other nodes also
> copy the OidLists and IntLists when mutating them. I have modified the
> test query to cover the label expression mutator.
>
> raw_expression_walker didn't cover labelexpr either. Added it there.
> The label expression at that stage contains ColumnRef and BoolExpr
> which are already covered by raw expression tree walker.

Hi,

Thanks for working on this. I ran into it independently today, and
then discovered this thread. In expression_tree_mutator_impl,
T_GraphLabelRef can be added to the "Primitive node types with no
expression subnodes" section just as was done in
expression_tree_walker_impl.

Other than that, this looks good to me.

--
Robert Haas
EDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Ayush Tiwari
Date:
Subject: Re: Spurious warnings in crypto-des.c when building with gcc-16 -O3
Next
From: Robert Haas
Date:
Subject: deep copy with mutation?