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]
