Vitaliy Filippov
172b106d99
Add entry_type to heap_object_t too
...
This is required to:
1) later inline the last "big_write" entry into the object to slightly reduce memory usage
2) eliminate an ugly hack where entry type is determined by its size
3) make the storage scheme extensible i.e. when adding new entry types
2025-11-23 19:08:24 +03:00
Vitaliy Filippov
59a51363d0
Rename flags to entry_type
2025-11-23 19:08:24 +03:00
Vitaliy Filippov
7a894efcb7
WIP dump/load heap
2025-11-23 19:08:24 +03:00
Vitaliy Filippov
3bad0f6fa8
Add missing list_stable_limit support
2025-11-23 19:08:24 +03:00
Vitaliy Filippov
ed3332ea83
B-tree is slower...
2025-11-23 19:08:24 +03:00
Vitaliy Filippov
3040bcfbfa
Fix skipping of corrupted objects, fix use_buffer_area with zero size
2025-11-23 19:08:24 +03:00
Vitaliy Filippov
9afa3f9a13
Return all unstable versions in listing
2025-11-23 19:08:24 +03:00
Vitaliy Filippov
0c2e0b8a49
Use multilist_index_t instead of multiple bitmap allocators
2025-11-23 19:08:24 +03:00
Vitaliy Filippov
a49c176423
Support moving objects between blocks
2025-11-23 19:08:24 +03:00
Vitaliy Filippov
4dfb80e6a1
Collapse intent_writes on other write types too
2025-11-23 19:08:23 +03:00
Vitaliy Filippov
1aff129f99
Fix buffer overflow in test_heap
2025-11-23 19:08:23 +03:00
Vitaliy Filippov
ad6354a537
Add a test for "perfect_csum_update" mode
2025-11-23 19:08:23 +03:00
Vitaliy Filippov
c5c332cb9a
Test calc_checksums
2025-11-23 19:08:23 +03:00
Vitaliy Filippov
cedbedc1e5
Check 2/3 blocks in test_recheck
2025-11-23 19:08:23 +03:00
Vitaliy Filippov
5fe474573e
Fix collapsing intent-over-intent checksums
2025-11-23 19:08:23 +03:00
Vitaliy Filippov
fb83ebbfff
Allow multiple writes with the same version
2025-11-23 19:08:23 +03:00
Vitaliy Filippov
abf741048a
Add tests for intent writes
2025-11-23 19:08:23 +03:00
Vitaliy Filippov
43c4510a29
More tests for incorrect data cases
2025-11-23 19:08:23 +03:00
Vitaliy Filippov
18a2858c62
Return new_lsn from erase and rollback
2025-11-23 19:08:23 +03:00
Vitaliy Filippov
b8245f86eb
Fix multilist_alloc_t bug, move verify and print to lib
2025-11-23 19:08:23 +03:00
Vitaliy Filippov
98da2cb6e0
Use the same "inflight" queue to track compaction
2025-11-23 19:08:22 +03:00
Vitaliy Filippov
a52dd0dfb5
Assign new LSN on stabilize
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
66847653aa
WIP Only save MVCC copy when overwriting an object
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
9a87452d23
Prevent compaction of incomplete object writes
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
385973f777
Experimental INTENT_WRITE write mode with WA=2 instead of 3
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
b958f7f119
Add test_compact_block
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
5222c2724f
Implement a really crazy "multi-linked-list" allocator for buffered data
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
e2fa675ad0
Use linked lists in heap to avoid excessive memory copying
2025-11-23 19:07:43 +03:00
Vitaliy Filippov
9264ca96a4
"Heap" metadata storage scheme
2025-11-23 15:18:01 +03:00