alamb commented on PR #8891:
URL: 
https://github.com/apache/arrow-datafusion/pull/8891#issuecomment-1901060904

   I see -- thank you @peter-toth. Your explanation makes sense.
   
   As a historical note, the current TreeNode API came out of unifying 
different in inconsistent APIs across the Exprs, LogicalPlan , ExectionPlan and 
PhysicalExprs. It was a large step forward at the time, but also just getting a 
single API was a major step forward.
   
   
   > Here are a few things I found weird with the current APIs. These can cause 
a newcommer (like me) some confusion:
   
   I think this is a good insight -- basically that the rationale for this 
change is to make it easier for new contributors to contribute to DataFusion as 
they APIs are more uniform. 
   
   
   > Now, as you mentioned some of these proposed changes have conflicting 
semantics to current APIs. Honestly I can't decide how much turbulance they 
would cause and so I'm seeking feedback from you and the community. But please 
note that I don't insist on any of the above functionaly or namings. These are 
just ideas and I can imagine implementations where:
   
   > we don't touch any existing API (maybe deprecate old ones)
   > or modify existing APIs to make them consistent, but also keep old API 
alternatives to ease the transition.
   
   
   I think implementing the "one true API" as you have proposed above and then 
migrating the rest of the codebase to use it (possibly deprecating the old APIs 
or changing them one at at time) would be the least disruptive.
   
   To that end, what I will do is to create a new ticket describing this work 
so it is not lost in this ticket, and then we can use that ticket to make the 
overall plan visible


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to