maryannxue opened a new pull request #27446: [SPARK-30717][SQL] AQE subquery 
map should cache `SubqueryExec` instead of `ExecSubqueryExpression`
URL: https://github.com/apache/spark/pull/27446
 
 
   ### What changes were proposed in this pull request?
   This PR is to fix a potential bug in AQE where an `ExecSubqueryExpression` 
could be mistakenly replaced with another `ExecSubqueryExpression` with the 
same `ListQuery` but a different `child` expression.
   This is because a ListQuery's id can only identify the ListQuery itself, not 
the parent expression `InSubquery`, but right now the `subqueryMap` in 
`InsertAdaptiveSparkPlan` uses the `ListQuery`'s id as key and the 
corresponding `InSubqueryExec` for the `ListQuery`'s parent expression as 
value. So the fix uses the corresponding `SubqueryExec` for the `ListQuery` 
itself as the map's value.
   
   ### Why are the changes needed?
   This logical bug could potentially cause a wrong query plan, which could 
throw an exception related to unresolved columns.
   
   ### Does this PR introduce any user-facing change?
   No.
   
   ### How was this patch tested?
   Passed existing UTs.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to