-
Notifications
You must be signed in to change notification settings - Fork 1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[#21266] YSQL: Make BNL hashtable have its own Expression Context
Summary: Before this change, the BNL hashtable used the per-tuple expression context in the execution state to compute its equality expressions. This would yield issues like in queries like the one in the added test case. In such queries where the hashtable's equality expression is a subplan that might also use the same execution state's expression context, the expression execution would overwrite any data that the hashtable code had written into its expression context. This problem would most obviously happen in cases where the underlying subplan expression also ended up using a BNL hashtable that used the same inherited expression context. This diff makes the hashtable BNL have its own expression context that's created using `CreateExprContext` just like `nodeHash.c` or `nodeMergejoin.c` might. Needs backports to 2024.1, 2.20, 2.18 Jira: DB-10184 Test Plan: ./yb_build.sh --java-test 'org.yb.pgsql.TestPgRegressJoin' Reviewers: mtakahara Reviewed By: mtakahara Subscribers: yql Differential Revision: https://phorge.dev.yugabyte.com/D34889
- Loading branch information
1 parent
cfab020
commit dae8cd5
Showing
3 changed files
with
102 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters