raghavyadav01 commented on issue #27130: URL: https://github.com/apache/datafusion/issues/27130#issuecomment-6664452447
take I can reproduce this with the test above on main (b6b2e0e5d): the first copy returns `1`, the second returns no rows. Question before I write the fix: #26670 keeps the same `DynamicFilterPhysicalExpr` across `reset_state` on purpose, so the scan that holds it keeps seeing updates. Two copies made by `reset_state` therefore share one filter. I see two options: 1. Give each copy a fresh filter in `reset_plan_states` and point the scan's predicate at it, so the recursive CTE case from #26670 still prunes. 2. For 56, go back to creating a new filter in `reset_state` (as before #26670), and handle the recursive CTE case separately. `HashJoinExec::reset_state` reuses its filter the same way, so I'd check it too. Which would you prefer? -- 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]
