]> git.mikk.net Git - mtbl-rs/commit
Massive refactor #N for borrowing iteration borrow-take-3
authorChris Mikkelson <chris@mikk.net>
Sat, 21 Jun 2025 20:33:18 +0000 (15:33 -0500)
committerChris Mikkelson <chris@mikk.net>
Sat, 21 Jun 2025 20:36:32 +0000 (15:36 -0500)
commit6a45e41342df39f1ccd367da8f7bd5c1097376b4
tree3932f940b4718bd78da20c1e15b5387f6bf943c2
parent2121678c0183e39de91d97db945a8e8a0713b908
Massive refactor #N for borrowing iteration

New "Cursor" abstraction returns a tuple of references to a byte slice
key and associated Value type. This tuple replaces Entry (removed), and
the cursor's immutable get() allows the merger heap to use the cursor
directly for ordering.

WIP, several bugs likely remain, but unit tests pass.
30 files changed:
src/bin/mtbl_dump.rs
src/compression.rs
src/cursor/filter.rs
src/cursor/filtermap.rs
src/cursor/map.rs
src/cursor/merge.rs
src/cursor/merger.rs
src/cursor/mod.rs
src/cursor/range.rs
src/entry.rs [deleted file]
src/fileset.rs
src/iter/dupmerge.rs [deleted file]
src/iter/dupsort.rs [deleted file]
src/iter/filter.rs [deleted file]
src/iter/map.rs [deleted file]
src/iter/merger.rs [deleted file]
src/iter/mod.rs [deleted file]
src/iter/prefix.rs [deleted file]
src/iter/range.rs [deleted file]
src/lib.rs
src/merger.rs [deleted file]
src/reader/block.rs
src/reader/mod.rs
src/sorter.rs
src/source/adapters.rs
src/source/merger.rs [new file with mode: 0644]
src/source/mod.rs
src/writer/block_builder.rs
src/writer/mod.rs
tests/rwtest.rs