Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix row addressing in spatial index's filter
PagesRTreeIndex#isJoinPositionEligible threw 'integer overflow' from toIntExact(joinAddress) conversion performed before invoking JoinFilterFunction. joinAddress is a SynteticAddress that encodes pageIndex and position within the page. toIntExact(joinAddress) succeeds only if pageIndex == 0 and throws 'integer overflow' if pageIndex > 0. This issue affects spatial joins with additional filters applied to columns from both sides of the join. Spatial joins without additional filters are not affected. The fix is to pass joinPosition (an index within the addresses array) to JoinFilterFunction instead of the synthetics address. This commit renames joinAddress to joinPosition where applicable to avoid future confusion.
- Loading branch information
1 parent
5671e71
commit 8318235
Showing
5 changed files
with
44 additions
and
40 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