grundprinzip commented on PR #38806:
URL: https://github.com/apache/spark/pull/38806#issuecomment-1329807587

   > > From API evolving perspective, I'm fine with wrapping the expressions in 
the Column. In an ideal case, I think it might make most sense if the logical 
plan only deals with Expressions and not Columns because the Column is the 
public facing
   > > interface.
   > 
   > We can do it. I am not sure if this can be bring you much convenience 
though. For example we can pass the wrapped expression (`column._expr`) into 
LogicalPlan, but that is a base class. In this case, use `Column` and use 
`Expression` are not making big difference. We can pass `Expression` for 
simplification.
   
   The benefit of passing `Expression` is that you avoid circular dependencies.
   
   > 
   > I guess you are thinking we pass the right sub-class of Expression to a 
LogicalPlan? Hmmm we might still be able to do. It sounds like we need to some 
isinstance for mypy. If you want to go to this approach I would prefer to check 
it as follow ups.
   
   I dont think that you need to pass the "right sub-class" of Expression to 
the logical plan. For all intends and purposes the logical plan doesn't really 
care about the exact sub-type of the expression.


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to