-
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.
[#19341] docdb: GetTableKeyRanges API
Summary: For YSQL parallel scans we need a way to break table tablets keyspaces into ranges of approximately the same defined data size, so parallel scan of these ranges takes about the same time. This revision implements the following changes to support this: - Tablet::GetTabletKeyRanges function that breaks tablet keyspace into ranges - TabletServerService::GetTabletKeyRanges API that uses Tablet::GetTabletKeyRanges - PGGate YBCGetTableKeyRanges function that break table keyspace into ranges - Intermediate layers from PGGate YBCGetTableKeyRanges to Tablet::GetTabletKeyRanges including PgClientSession::GetTableKeyRanges that combines subsequent tablets' responses in case we cross tablet boundaries. This revision scope is limited to support for range-based sharded tables and forward scan. Added QLTabletRf1TestToggleEnablePackedRow.GetTabletKeyRanges tablet-level unit test for Tablet::GetTabletKeyRanges functionality and PggateTestSelect.GetTableKeyRanges, PggateTestSelect.GetColocatedTableKeyRanges for pggate-level functionality. Jira: DB-8143 Test Plan: QLTabletRf1TestToggleEnablePackedRow.GetTabletKeyRanges, PggateTestSelect.GetTableKeyRanges, PggateTestSelect.GetColocatedTableKeyRanges Reviewers: amartsinchyk, sergei Reviewed By: amartsinchyk, sergei Subscribers: yql, ybase, bogdan Differential Revision: https://phorge.dev.yugabyte.com/D26978
- Loading branch information
Showing
62 changed files
with
1,685 additions
and
126 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
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.