| From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
|---|---|
| To: | Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com> |
| Cc: | SATYANARAYANA NARLAPURAM <satyanarlapuram(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: [Patch]Add Graph* node support to expression_tree_mutator |
| Date: | 2026-04-29 20:46:57 |
| Message-ID: | CA+TgmoZvC1XQe_QnTQnXyvrqP0WLn07NnNEmEPLzNQOjbnGXtw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Tue, Apr 28, 2026 at 11:05 AM Ashutosh Bapat
<ashutosh(dot)bapat(dot)oss(at)gmail(dot)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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Robert Haas | 2026-04-29 21:22:05 | deep copy with mutation? |
| Previous Message | Ayush Tiwari | 2026-04-29 19:13:12 | Re: Spurious warnings in crypto-des.c when building with gcc-16 -O3 |