Results 118 comments of Peter Toth

> After playing around with this, I have become convinced what is really needed is a "TreeMutator" type API on TreeNode that lets us rewrite `LogicalNode`s in place -- if...

Before https://github.com/apache/arrow-datafusion/pull/8891 I ran some experiments in https://github.com/apache/arrow-datafusion/pull/7942 with different APIs to test if transform/rewrite could in place mutate the nodes. In place mutation indeed seemed very effective, especially on...

Thanks for the comments @singhpk234! Unfortunately this PR got closed due to lack of reviews and can't be reopened. I'm happy to open a new one and take your suggestions...

@ulysses-you, @cloud-fan, I've rebased this PR on top of `master`, that now includes `multiTransform()`: - The 1st commit of this PR is a cherry-pick of the first commit from https://github.com/apache/spark/pull/39556....

I've rebased the PR on https://github.com/apache/spark/pull/39652, that is not yet merged, so there is an extra commit (https://github.com/apache/spark/pull/37525/commits/59646bbc26476ec957fd7bff8cbae317791dc228) in this PR that doesn't belong to here, but it will disappear...

> I've rebased the PR on #39652, that is not yet merged, so there is an extra commit ([59646bb](https://github.com/apache/spark/commit/59646bbc26476ec957fd7bff8cbae317791dc228)) in this PR that doesn't belong to here, but it will...

cc @alamb, @andygrove, @yahoNanJing, @berkaysynnada this PR is another step to cleaner `TreeNode` APIs.

Thanks for the feedback @berkaysynnada. > `transform()` is a simple method for traversing the graph with given self-concerned rules, being not interested in the type of traversal. This new version...

> > I'm not sure I get this part. > > The docstring you have updated for `transform()` states that the order is: > > ``` > 1) f_down(ParentNode) >...