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]

Reply via email to