Lordworms commented on issue #8838:
URL: 
https://github.com/apache/arrow-datafusion/issues/8838#issuecomment-1920171074

   No, the reason the second one works and the first one fails is that when two 
projections come, the first one would build a wrong dependency graph 
   <img width="987" alt="image" 
src="https://github.com/apache/arrow-datafusion/assets/48054792/06384eaa-eff9-4ef7-94fa-1406b61ba5b6";>
   then leads to a wrong projection_ordering. and now I have two ways to fix it
   <img width="762" alt="image" 
src="https://github.com/apache/arrow-datafusion/assets/48054792/6ec76e14-964d-4297-aa6b-9ef6d47fd9a5";>
   1.  changing the generation of the dependency graph
   2. change the generation of project ordering
   but the two ways all need to specify the Expr, in this case, it generated a 
CAST expr, I know in buildinscalarFunction has an is_monotonic function which 
could show whether it is a monotonic function or not, but I think there are 
some other functions not covered and we need a way to figure out whether the 
func(multi-expression) is monotonic or not. But I don't know the correct way to 
do it. Still struggling with it


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