-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
…ath param requirement computation Summary: Original commit: 8ac82f4 / D30216 PG computes the required parameters of a path via the macro PATH_REQ_OUTER to read the param_info->ppi_req_outer field of a path. This change refactors reads to param_info->yb_ppi_req_outer_batched to be computed by the macro YB_PATH_REQ_OUTER_BATCHED. This change also gets rid of the field yb_ppi_req_outer_unbatched in ParamPathInfo and computes unbatched relids via the difference between the total required params of a path and its batched params. Doing so simplifies logic and fixes the following bug: Consider a Nested Loop join between B and C where B is parameterized by A but A is not a batched parameter. If the access path on B was not generated by yb_get_batched_index_paths, the yb_ppi_req_outer_unbatched field of B's param_info would not record A as one might expect. As a result, the param_info of the NestedLoop join would fail to register in its yb_ppi_req_outer_unbatched field that A needs to not be a batched parameter. With this change, we release the need to explicitly keep track of what relations cannot be batched parameters. As long as the set of batchable parameters is accurately maintained, we can easily determine its complement. NOTE: Original commit had tests that involved the usage of YbBatchedNL/NoYbBatchedNL hints that are unavailable in 2.18.5. Those tests have been replaced in this backport. Jira: DB-8424, DB-8910 Test Plan: Jenkins: Urgent ./yb_build.sh --java-test 'org.yb.pgsql.TestPgRegressJoin' Reviewers: mtakahara Reviewed By: mtakahara Subscribers: yql Tags: #jenkins-ready Differential Revision: https://phorge.dev.yugabyte.com/D31396
- Loading branch information
1 parent
b24a9f5
commit f0bc7c5
Showing
10 changed files
with
161 additions
and
144 deletions.
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
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
Oops, something went wrong.