pjmore opened a new pull request #1128:
URL: https://github.com/apache/arrow-datafusion/pull/1128


   # Which issue does this PR close?
   Closes #1070.
   
   # What changes are included in this PR?
   Added an evaluate function which evaluates literal scalar expressions using 
the existing physical expression implementation. Reworked ConstantFolding 
optimizer using the evaluate function to perform more generalized constant 
folding. The optimizer now traverses the expression tree depth first returning 
whether the expression is made up of literal expressions. When an expression 
that has multiple children is encountered all children expressions are checked 
to see if they are literals, if so then it simply returns that the expression 
is literal. If one of the child expressions is not literal then all literal 
child expressions are evaluated and then non literal is returned. For 
expressions that can never be evaluated in a scalar manner, such as aggregate 
or window expressions, the children are traversed but the expression itself 
will never be evaluated.
   
   # Are there any user-facing changes?
   The added evaluate function is currently public to allow usage of the 
function from other crates in the workspace.
   


-- 
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: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to