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]
