alamb commented on pull request #858:
URL: https://github.com/apache/arrow-datafusion/pull/858#issuecomment-897756517


   > I am about to ask when I saw the above code that has analyze as different 
function. I am worry about future inconsistency and headache of keeping them 
consistent, as well as redundant work when we change or improve something. I 
would prefer to keep them in the same LogicalPlan
   
   @NGA-TRAN  I also went back and forth on this point. The existing 
`LogicalPlan::Explain` is special cased several times during planning (so it 
can capture the results of intermediate passes as strings), and since those 
intermediate strings aren't used by Analyze we would then have to do an extra 
check in each special case
   
   And thus even though there is definitely some redundancy, I eventually 
concluded that a new `LogicalPlan` type made things most clear. 
   
   The physical plan (`ExecutionPlan`) for Analyze is also very different but 
it would be feasible to use the different physical plans for the same logical 
plan. 
   
   


-- 
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