adriangb commented on PR #15566: URL: https://github.com/apache/datafusion/pull/15566#issuecomment-2796949025
> I've also thought on Dynamic filter case. Actually they are more flexible than normal filters. Normal filters are pulled off from the operator's itself, and pushed down as far as possible, and when it's not possible, a FilterExec is put accordingly. For the dynamic filters, as they are derived from normal filters, the actual filter's itself is not pulled off. So, like normal filters, dynamic filters also are pushed down along the plan, and when it's not possible to do further, again a normal FilterExec can be inserted for the Dynamic filters as well I don't think dynamic vs. static is the right distinction to make here. IMO what really needs to happen is that each node gets to decide what to do with the remaining filters, and be able to distinguish between the filters it offered up and the ones that came down from parents. So for example a `SortExec` will "handle" the filter it injected by doing nothing with it and will transmit up the chain that it could not handle any of the filters that were passed down. -- 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...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org