sunchao commented on PR #57437:
URL: https://github.com/apache/spark/pull/57437#issuecomment-5074007941

   Thanks, @cloud-fan. I replaced the `TreeNodeTag` side channel with an 
explicit `@transient` field in a second parameter list on both 
`DynamicPruningSubquery` and `SubqueryAdaptiveBroadcastExec`.
   
   Both nodes now use `otherCopyArgs`, so Catalyst's normal `makeCopy`/rewrite 
machinery preserves the projection metadata automatically. The existing 
extractor and product arities remain unchanged, the metadata does not affect 
equality, and canonicalization explicitly clears it. I also removed the old tag 
helper and added regression coverage for direct copies, reflective `makeCopy`, 
child/plan rewrites, AQE transport, transient fields, and canonicalization.
   
   Validation passed across the Catalyst, V1/V2 DPP with AQE on and off, 
regular subquery, runtime-filter, and Bloom-filter suites, as well as the 
relevant Scala style checks.
   
   Would you mind taking another look?
   


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