avantgardnerio commented on issue #3349:
URL: 
https://github.com/apache/arrow-datafusion/issues/3349#issuecomment-1494360801

   > remove such DDL from `LogicalPlan` entirely
   
   FWIW, doing so would undo the motivation behind the PR that kicked off this 
discussion. I think if we have:
   
   LogicalPlan::DDL
   LogicalPlan::DML(Insert(DQL), Update(DQL), Delete(DQL))
   LogicalPlan::DQL(project, filter, etc)
   
   Then the planner can still do things like optimize DML, replace placeholder 
tokens in DML/DQL, etc.
   
   It also makes it so there is a consistent path in execution engines:
   
   AST -> LogicalPlan -> PhysicalPlan
   
   vs
   
   AST -> [LogicalPlan, Statement] -> [query plan executor, statement executor]
   
   however, if we merely group them as mentioned in this issue, then we can 
have the existing optimizer code focus on LogicalPlan::DQL and the rest of the 
code can keep functioning as it is.
   
   Just my $0.02, interested to hear how this affects others...


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