Skip to content

Conversation

arseny114
Copy link
Contributor

With order_by_attach=TRUE, the RUM index arranges the entries in the posting lists (for keys that have additional information) in order of sorting by additional information. For the remaining keys, the records are sorted by tid. The scanGetItemRegular() function assumes that all posting lists have the same sorting, so it was not suitable for sorting in this case.

In order to fix this, the appropriate TIDs for keys that are ordered by tid are assembled in advance into a bitmap. For keys ordered in an alternative order, a routine scan is performed, after which the appropriate tid is checked in the bitmap.

Tags: rum

Arseny Kositsyn added 3 commits October 2, 2025 15:01
Static functions from TIDBitmap were added to RUM as RumTIDBitmap.
A function has been added to search for tid inside RumTIDBitmap.

Tags: rum
With order_by_attach=TRUE, the RUM index arranges the entries in the posting
lists (for keys that have additional information) in order of sorting by
additional information. For the remaining keys, the records are sorted by tid.
The scanGetItemRegular() function assumes that all posting lists have the same
sorting, so it was not suitable for sorting in this case.

In order to fix this, the appropriate TIDs for keys that are ordered by tid are
assembled in advance into a bitmap. For keys ordered in an alternative order, a
routine scan is performed, after which the appropriate tid is checked in the
bitmap.

Tags: rum
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant