-
Notifications
You must be signed in to change notification settings - Fork 1.2k
ZSET B+ Tree PR 2: ordered index interface and full conversion #3840
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
Open
rainsupreme
wants to merge
45
commits into
valkey-io:zset-btree
Choose a base branch
from
rainsupreme:oi/pr2-interface-and-conversion
base: zset-btree
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
45 commits
Select commit
Hold shift + click to select a range
0e3493e
zset: fix NULL deref in zslIsInLexRange on empty skiplist
rainsupreme 3d2a789
ordered-index: add interface, skiplist backend, and unit tests
rainsupreme bd0c609
ordered-index: address interface review feedback
rainsupreme 62db345
skiplist: fix zslDetachNode search and deleteRange callback ownership
rainsupreme 268687c
ordered-index: address PR 2 self-review feedback
rainsupreme 02b9f6c
tests: fix CI failures (clang-format, macOS warnings, ASAN leaks)
rainsupreme 517895b
ci: fix clang-format and macOS -Wfloat-equal warnings
rainsupreme 4016e00
zset: convert t_zset.c to OrderedIndex interface
rainsupreme d6c1746
zset: convert ZUNION/ZINTER/ZDIFF to OrderedIndex detached-item API
rainsupreme 578c6a1
zset: convert all remaining files to OrderedIndex interface
rainsupreme 7b4edd0
tests: add integration tests for skiplist-encoded zset paths
rainsupreme bb7d41d
tests: add cluster:skip tag to skiplist integration tests
rainsupreme 8b9797c
zset: fix sds assumptions on opaque OrderedIndex elements
rainsupreme 7494ab0
defrag: use orderedIndexScanDefrag instead of raw skiplist access
rainsupreme add9eea
server.h: remove dead zskiplist forward declaration
rainsupreme f14e3db
skiplist: change zslNext/zslPrev to return pointer directly
rainsupreme a8fd1c5
debug: use skiplistGetHeight instead of reaching into opaque struct
rainsupreme 2802d20
skiplist.h: remove unused stdbool.h include
rainsupreme 5a4fbbd
geo: simplify score range iteration to plain while loop
rainsupreme e4b5522
server.c: fix stale skiplist comment in zsetHashtableType
rainsupreme 9da4089
t_zset.c: update stale skiplist references in comments
rainsupreme f8aeac5
zset: relocate range comparison utils from skiplist to t_zset
rainsupreme 8ac098e
skiplist_ordered_index: use OrderedIndexDefragCallback typedef
rainsupreme 15a2bfe
t_zset: change zzlInsertAt to accept ptr+len instead of sds
rainsupreme 81e69f7
t_zset: eliminate temp sds in listpack to ordered index conversion
rainsupreme 083712c
t_zset: move misplaced ZREMRANGE comment to correct function
rainsupreme 77a02e4
zset: refactor lex comparison to accept ptr+len
rainsupreme 9ef73da
ci: fix unused variable, uninitialized warning, and clang-format
rainsupreme d80a7f3
tests: add fixture helpers and reduce boilerplate in ordered index tests
rainsupreme 1e28aa1
tests: DRY refactoring and clean coding improvements for ordered inde…
rainsupreme ae4d0ab
unit tests: reduce C++ idioms in ordered index tests
rainsupreme 140665a
fix: assert defrag hashtable remap + guard errmsg buffer
rainsupreme 6738494
tests: add with_config helper for failure-safe config restoration
rainsupreme 97fa9fc
fix: use borrowed bytes path in zuiNext for ordered index elements
rainsupreme f43f63f
fix: clarify orderedIndexUpdateScore return contract
rainsupreme 0f6c18a
unit tests: use --seed flag for fuzz test reproducibility
rainsupreme 11370f7
ordered-index: fix OnDelete callback contract to notification-before-…
rainsupreme e3fdcbd
tests: add LexRangeSentinels test for shared.minstring/maxstring
rainsupreme b695c0c
Fix ASAN memory leaks in LexRangeSentinels unit test
rainsupreme 64fd590
Address review comments: underflow guard and const fix
rainsupreme 4192dbe
Add O(1) orderedIndexGetFirst/GetLast, use in ZPOP
rainsupreme 7a7c206
Eliminate C++ STL from ordered index unit tests
rainsupreme a6ec45f
Add unit test for orderedIndexGetFirst/GetLast
rainsupreme ec350f3
Use explicit (ptr,len) hash/compare for zset hashtable
rainsupreme de108c0
Parameterize OnDelete and RangeDelete tests over OrderedIndexTestApi
rainsupreme File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.