Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Collection Aggregations #688

Draft
wants to merge 22 commits into
base: main
Choose a base branch
from
Draft

Conversation

gwaramadze
Copy link
Contributor

WIP

@gwaramadze gwaramadze force-pushed the feature/collections branch 2 times, most recently from c2d0410 to f49ac74 Compare December 18, 2024 09:19
@gwaramadze gwaramadze force-pushed the feature/collections branch from b6c8404 to 0be11dd Compare January 6, 2025 13:26
This is dictated by the legacy structure of the code.
Method `delete` requires prefix and remainder of a key to be passed
separately and refactoring this is a larger effort.
The helper method `_get_items` is more in line with
a native rocksdict behavior where the lower band is
inclusive and the upper exclusive.

The inverted characteristics known from an upper
scope's `get_windows` method are guaranteed by key
deserialization and condition:
`start_from_ms < start <= start_to_ms`.

In the future, we should refactor the code to remove
this condition and rely on `_get_items`
inclusivity/exclusivity characteristics.
It is a shortcut to empty results if the given
start timestamp is higher than the end timestamp.

There are currently use cases in the code that may
lead to this and there is no easy way to avoid it.

The shortcut is required to avoid unexpected behaviors
with negative integers converted to int64 encoded bytes.
@gwaramadze gwaramadze force-pushed the feature/collections branch from ef1f5f8 to 5da6b33 Compare January 6, 2025 15:37
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