Results 118 comments of Peter Toth

> > This is correct. This is because the proposed new `transform()` does only one traversal. It is exactly the same order how the old and new `TreeNode::rewrite` / `TreeNodeRewriter`...

> Since we set out to simplify and provide easy to use TreeNode API and its related implementations as much as possible, IMO we need to reach a simple state...

Thanks for the question @alamb! I'm new to DataFusion so this discussion could help me a lot to understand what ways are viable in terms of improving the existing code....

> I filed #8913 -- let me know what you think. What do you think about creating a PR with `transform_with_payload` and then a PR showing how to use it...

> > So basically I trust you two to come up with something good. I would be happy to merge this PR, or wait for #8817 and evaluate first. >...

@alamb, @ozankabak, @berkaysynnada I rebased this PR after https://github.com/apache/arrow-datafusion/pull/8817 got merged. Please share your thoughts.

> One thing that raises my "why is it like that?" instinct is the distinction between return types of down and up functions. Is there a specific reason we'd have...

> I see. Since we are doing a major refactor of the API, it may make sense to do certain things now instead of having yet another API change at...

Anyways, let me know if symmetry is a must have for this PR and I can add it next week.

Actually, one more thing came into my mind. There is this issue with `Transformed` enum: https://github.com/apache/arrow-datafusion/pull/8835 and if we want to keep and fix it (see conversation on the ticket)...