aboutsummaryrefslogtreecommitdiffstats
path: root/reftable
AgeCommit message (Expand)AuthorFilesLines
6 daysMerge branch 'ps/reftable-block-iteration-optim'Junio C Hamano5-178/+229
13 daysMerge branch 'jt/reftable-geometric-compaction'Junio C Hamano4-124/+85
14 daysreftable/block: avoid copying block iterators on seekPatrick Steinhardt2-20/+14
14 daysreftable/block: reuse `zstream` state on inflationPatrick Steinhardt3-10/+19
14 daysreftable/block: open-code call to `uncompress2()`Patrick Steinhardt1-10/+28
14 daysreftable/block: reuse uncompressed blocksPatrick Steinhardt3-19/+26
14 daysreftable/reader: iterate to next block in placePatrick Steinhardt2-21/+28
14 daysreftable/block: move ownership of block reader into `struct table_iter`Patrick Steinhardt3-83/+100
14 daysreftable/block: introduce `block_reader_release()`Patrick Steinhardt3-1/+8
14 daysreftable/block: better grouping of functionsPatrick Steinhardt2-36/+36
14 daysreftable/block: merge `block_iter_seek()` and `block_reader_seek()`Patrick Steinhardt4-16/+8
14 daysreftable/block: rename `block_reader_start()`Patrick Steinhardt5-6/+6
2024-04-12Merge branch 'ps/reftable-binsearch-updates'Junio C Hamano7-97/+182
2024-04-09Merge branch 'ps/pack-refs-auto'Junio C Hamano4-18/+81
2024-04-08reftable/stack: use geometric table compactionJustin Tobler3-117/+75
2024-04-08reftable/stack: expose option to disable auto-compactionJustin Tobler4-7/+10
2024-04-05Merge branch 'ps/pack-refs-auto' into jt/reftable-geometric-compactionJunio C Hamano4-18/+81
2024-04-03reftable/block: avoid decoding keys when searching restart pointsPatrick Steinhardt1-10/+19
2024-04-03reftable/record: extract function to decode key lengthsPatrick Steinhardt2-9/+31
2024-04-03reftable/block: fix error handling when searching restart pointsPatrick Steinhardt3-8/+11
2024-04-03reftable/block: refactor binary search over restart pointsPatrick Steinhardt1-27/+73
2024-04-03reftable/refname: refactor binary search over refnamesPatrick Steinhardt1-22/+22
2024-04-03reftable/basics: improve `binsearch()` testPatrick Steinhardt1-24/+31
2024-04-03reftable/basics: fix return type of `binsearch()` to be `size_t`Patrick Steinhardt5-16/+14
2024-04-01Merge branch 'ps/reftable-unit-test-nfs-workaround'Junio C Hamano1-1/+11
2024-03-25reftable/stack: gracefully handle failed auto-compaction due to locksPatrick Steinhardt2-1/+56
2024-03-25reftable/stack: use error codes when locking fails during compactionPatrick Steinhardt1-5/+13
2024-03-25reftable/error: discern locked/outdated errorsPatrick Steinhardt4-6/+11
2024-03-25reftable/stack: fix error handling in `reftable_stack_init_addition()`Patrick Steinhardt1-6/+1
2024-03-21Merge branch 'ps/reftable-reflog-iteration-perf'Junio C Hamano9-175/+138
2024-03-21Merge branch 'ps/reftable-block-search-fix'Junio C Hamano2-1/+3
2024-03-21Merge branch 'ps/reftable-stack-tempfile'Junio C Hamano2-171/+161
2024-03-21reftable: fix tests being broken by NFS' delete-after-close semanticsPatrick Steinhardt1-1/+11
2024-03-18Merge branch 'ps/reftable-stack-tempfile' into ps/pack-refs-autoJunio C Hamano2-171/+161
2024-03-07reftable/block: fix binary search over restart counterPatrick Steinhardt1-1/+1
2024-03-07reftable/record: fix memory leak when decoding object recordsPatrick Steinhardt1-0/+2
2024-03-07reftable/stack: register compacted tables as tempfilesPatrick Steinhardt1-24/+30
2024-03-07reftable/stack: register lockfiles during compactionPatrick Steinhardt2-134/+123
2024-03-07reftable/stack: register new tables as tempfilesPatrick Steinhardt1-17/+12
2024-03-05reftable/record: use scratch buffer when decoding recordsPatrick Steinhardt5-52/+68
2024-03-05reftable/record: reuse message when decoding log recordsPatrick Steinhardt2-2/+4
2024-03-05reftable/record: reuse refnames when decoding log recordsPatrick Steinhardt2-1/+2
2024-03-05reftable/record: avoid copying author infoPatrick Steinhardt1-8/+21
2024-03-05reftable/record: convert old and new object IDs to arraysPatrick Steinhardt6-121/+52
2024-03-04reftable: allow inlining of a few functionsPatrick Steinhardt4-25/+20
2024-03-04reftable/record: decode keys in placePatrick Steinhardt5-30/+28
2024-03-04reftable/record: reuse refname when copyingPatrick Steinhardt1-3/+15
2024-03-04reftable/record: reuse refname when decodingPatrick Steinhardt2-4/+13
2024-03-04reftable/merged: avoid duplicate pqueue emptiness checkPatrick Steinhardt1-14/+6
2024-03-04reftable/merged: circumvent pqueue with single subiterPatrick Steinhardt1-2/+22
2024-03-04reftable/merged: handle subiter cleanup on close onlyPatrick Steinhardt1-10/+2
2024-03-04reftable/merged: remove unnecessary null check for subitersPatrick Steinhardt3-18/+1
2024-03-04reftable/merged: make subiters own their recordsPatrick Steinhardt4-56/+49
2024-03-04reftable/merged: advance subiter on subsequent iterationPatrick Steinhardt1-14/+12
2024-03-04reftable/merged: make `merged_iter` structure privatePatrick Steinhardt2-10/+10
2024-03-04reftable/pq: use `size_t` to track iterator indexPatrick Steinhardt1-1/+1
2024-02-26Merge branch 'ps/reftable-iteration-perf'Junio C Hamano7-37/+100
2024-02-13Merge branch 'jc/comment-style-fixes' into maint-2.43Junio C Hamano1-1/+1
2024-02-12Merge branch 'ps/reftable-styles'Junio C Hamano22-295/+236
2024-02-12Merge branch 'ps/reftable-multi-level-indices-fix'Junio C Hamano3-27/+122
2024-02-12reftable/reader: add comments to `table_iter_next()`Patrick Steinhardt1-9/+17
2024-02-12reftable/record: don't try to reallocate ref record namePatrick Steinhardt1-2/+3
2024-02-12reftable/block: swap buffers instead of copyingPatrick Steinhardt1-2/+1
2024-02-12reftable/pq: allocation-less comparison of entry keysPatrick Steinhardt1-12/+1
2024-02-12reftable/merged: skip comparison for records of the same subiterPatrick Steinhardt1-0/+8
2024-02-12reftable/merged: allocation-less dropping of shadowed recordsPatrick Steinhardt2-11/+2
2024-02-12reftable/record: introduce function to compare records by keyPatrick Steinhardt2-1/+68
2024-02-08Merge branch 'en/header-cleanup' into maint-2.43Junio C Hamano10-12/+0
2024-02-06Merge branch 'jc/comment-style-fixes'Junio C Hamano1-1/+1
2024-02-06Merge branch 'ps/reftable-compacted-tables-permission-fix'Junio C Hamano2-2/+29
2024-02-06Merge branch 'jc/reftable-core-fsync'Junio C Hamano9-19/+54
2024-02-06reftable/record: improve semantics when initializing recordsPatrick Steinhardt6-54/+33
2024-02-06reftable/merged: refactor initialization of iteratorsPatrick Steinhardt1-14/+13
2024-02-06reftable/merged: refactor seeking of recordsPatrick Steinhardt1-33/+21
2024-02-06reftable/stack: use `size_t` to track stack lengthPatrick Steinhardt6-31/+26
2024-02-06reftable/stack: use `size_t` to track stack slices during compactionPatrick Steinhardt1-16/+16
2024-02-06reftable/stack: index segments with `size_t`Patrick Steinhardt3-21/+17
2024-02-06reftable/stack: fix parameter validation when compacting rangePatrick Steinhardt1-11/+13
2024-02-06reftable: introduce macros to allocate arraysPatrick Steinhardt16-61/+68
2024-02-06reftable: introduce macros to grow arraysPatrick Steinhardt7-61/+36
2024-02-01reftable: document reading and writing indicesPatrick Steinhardt2-0/+50
2024-02-01reftable/writer: fix writing multi-level indicesPatrick Steinhardt2-4/+60
2024-02-01reftable/writer: simplify writing index recordsPatrick Steinhardt1-15/+3
2024-02-01reftable/writer: use correct type to iterate through index entriesPatrick Steinhardt1-9/+7
2024-02-01reftable/reader: be more careful about errors in indexed seeksPatrick Steinhardt1-0/+3
2024-01-30reftable/stack: fsync "tables.list" during compactionPatrick Steinhardt1-0/+8
2024-01-29Merge branch 'ps/reftable-optimize-io'Junio C Hamano3-70/+172
2024-01-29reftable/pq_test: comment style fixJunio C Hamano1-1/+1
2024-01-26reftable/stack: adjust permissions of compacted tablesPatrick Steinhardt2-2/+29
2024-01-23reftable: honor core.fsyncJohn Cai9-19/+46
2024-01-18reftable/stack: fix race in up-to-date checkPatrick Steinhardt3-9/+95
2024-01-18reftable/stack: unconditionally reload stack after commitPatrick Steinhardt1-1/+1
2024-01-16Merge branch 'ps/reftable-fixes-and-optims'Junio C Hamano10-75/+117
2024-01-11reftable/blocksource: use mmap to read tablesPatrick Steinhardt1-15/+7
2024-01-11reftable/blocksource: refactor code to match our coding stylePatrick Steinhardt1-9/+8
2024-01-11reftable/stack: use stat info to avoid re-reading stack listPatrick Steinhardt3-1/+13
2024-01-11reftable/stack: refactor reloading to use file descriptorPatrick Steinhardt1-3/+18
2024-01-11reftable/stack: refactor stack reloading to have common exit pathPatrick Steinhardt1-44/+42
2024-01-08Merge branch 'en/header-cleanup'Junio C Hamano10-12/+0
2024-01-03reftable/merged: transfer ownership of records when iteratingPatrick Steinhardt1-2/+4
2024-01-03reftable/merged: really reuse buffers to compute record keysPatrick Steinhardt1-2/+0
2024-01-03reftable/record: store "val2" hashes as static arraysPatrick Steinhardt4-20/+6
2024-01-03reftable/record: store "val1" hashes as static arraysPatrick Steinhardt7-30/+13
2024-01-03reftable/record: constify some parts of the interfacePatrick Steinhardt2-6/+6
2024-01-03reftable/writer: fix index corruption when writing multiple indicesPatrick Steinhardt2-2/+82
2024-01-03reftable/stack: do not auto-compact twice in `reftable_stack_add()`Patrick Steinhardt1-3/+0
2024-01-03reftable/stack: do not overwrite errors when compactingPatrick Steinhardt1-12/+8
2023-12-26treewide: remove unnecessary includes in source filesElijah Newren10-12/+0
2023-12-11reftable/block: reuse buffer to compute record keysPatrick Steinhardt2-11/+10
2023-12-11reftable/block: introduce macro to initialize `struct block_iter`Patrick Steinhardt5-13/+14
2023-12-11reftable/merged: reuse buffer to compute record keysPatrick Steinhardt2-15/+18
2023-12-11reftable/stack: fix use of unseeded randomnessPatrick Steinhardt2-4/+4
2023-12-11reftable/stack: fix stale lock when dyingPatrick Steinhardt1-32/+15
2023-12-11reftable/stack: reuse buffers when reloading stackPatrick Steinhardt1-8/+4
2023-12-11reftable/stack: perform auto-compaction with transactional interfacePatrick Steinhardt2-0/+62
2023-12-11reftable/stack: verify that `reftable_stack_add()` uses auto-compactionPatrick Steinhardt1-0/+49
2023-12-11reftable: handle interrupted writesPatrick Steinhardt2-4/+4
2023-12-11reftable: handle interrupted readsPatrick Steinhardt2-2/+2
2023-12-11reftable: wrap EXPECT macros in do/whilePatrick Steinhardt1-26/+32
2023-04-24reftable: ensure git-compat-util.h is the first (indirect) includeElijah Newren4-2/+4
2023-04-24hash-ll.h: split out of hash.h to remove dependency on repository.hElijah Newren2-2/+2
2022-09-15reftable: use a pointer for pq_entry paramElijah Conners4-6/+6
2022-08-20reftable: drop unused parameter from reader_seek_linear()Jeff King1-3/+3
2022-05-20Merge branch 'ep/maint-equals-null-cocci'Junio C Hamano3-9/+9
2022-05-04Merge branch 'cm/reftable-0-length-memset'Junio C Hamano1-3/+6
2022-05-02tree-wide: apply equals-null.cocciJunio C Hamano3-9/+9
2022-04-15reftable: avoid undefined behaviour breaking t0032Carlo Marcelo Arenas Belón1-3/+6
2022-03-28reftable: make assignments portable to AIX xlc v12.01Ævar Arnfjörð Bjarmason3-6/+18
2022-02-23reftable: rename writer_stats to reftable_writer_statsHan-Wen Nienhuys3-7/+7
2022-02-23reftable: add test for length of disambiguating prefixHan-Wen Nienhuys1-0/+38
2022-02-23reftable: ensure that obj_id_len is >= 2 on writingHan-Wen Nienhuys2-1/+40
2022-02-23reftable: avoid writing empty keys at the block layerHan-Wen Nienhuys3-12/+23
2022-02-23reftable: add a test that verifies that writing empty keys failsHan-Wen Nienhuys1-0/+24
2022-02-23reftable: reject 0 object_id_lenHan-Wen Nienhuys1-0/+5
2022-02-16Merge branch 'ab/auto-detect-zlib-compress2'Junio C Hamano1-11/+0
2022-02-16Merge branch 'hn/reftable-coverity-fixes'Junio C Hamano18-525/+615
2022-01-26compat: auto-detect if zlib has uncompress2()Ævar Arnfjörð Bjarmason1-11/+0
2022-01-20reftable: add print functions to the record typesHan-Wen Nienhuys3-15/+95
2022-01-20reftable: make reftable_record a tagged unionHan-Wen Nienhuys12-337/+334
2022-01-20reftable: remove outdated file reftable.cHan-Wen Nienhuys1-115/+0
2022-01-20reftable: implement record equality genericallyHan-Wen Nienhuys3-22/+63
2022-01-20reftable: make reftable-record.h function signatures const correctHan-Wen Nienhuys2-14/+14
2022-01-20reftable: handle null refnames in reftable_ref_record_equalHan-Wen Nienhuys1-3/+5
2022-01-20reftable: drop stray printf in readwrite_testHan-Wen Nienhuys1-1/+0
2022-01-20reftable: all xxx_free() functions accept NULL argumentsHan-Wen Nienhuys2-0/+4
2022-01-20reftable: fix resource warningHan-Wen Nienhuys1-5/+5
2022-01-20reftable: ignore remove() return value in stack_test.cHan-Wen Nienhuys1-1/+1
2022-01-20reftable: check reftable_stack_auto_compact() return valueHan-Wen Nienhuys1-0/+1
2022-01-20reftable: fix resource leak blocksource.cHan-Wen Nienhuys1-2/+4
2022-01-20reftable: fix resource leak in block.c error pathHan-Wen Nienhuys3-18/+97
2022-01-20reftable: fix OOB stack write in print functionsHan-Wen Nienhuys1-2/+2
2022-01-13reftable tests: avoid "int" overflow, use "uint64_t"Ævar Arnfjörð Bjarmason1-2/+2
2022-01-13reftable: avoid initializing structs from structsHan-Wen Nienhuys1-11/+11
2021-12-23reftable: support preset file mode for writingHan-Wen Nienhuys3-10/+56
2021-12-23reftable: signal overflowHan-Wen Nienhuys4-0/+44
2021-12-23reftable: fix typo in headerHan-Wen Nienhuys1-1/+1
2021-10-08reftable: add dump utilityHan-Wen Nienhuys1-0/+107
2021-10-08reftable: implement stack, a mutable database of reftable files.Han-Wen Nienhuys4-0/+2518
2021-10-08reftable: implement refname validationHan-Wen Nienhuys3-0/+340
2021-10-08reftable: add merged table viewHan-Wen Nienhuys4-0/+940
2021-10-08reftable: add a heap-based priority queue for reftable recordsHan-Wen Nienhuys4-0/+221
2021-10-08reftable: reftable file level testsHan-Wen Nienhuys2-1/+653
2021-10-08reftable: read reftable filesHan-Wen Nienhuys5-0/+1229
2021-10-08reftable: generic interface to tablesHan-Wen Nienhuys5-0/+402
2021-10-08reftable: write reftable filesHan-Wen Nienhuys3-0/+888
2021-10-08reftable: a generic binary tree implementationHan-Wen Nienhuys3-0/+158
2021-10-08reftable: reading/writing blocksHan-Wen Nienhuys3-0/+684
2021-10-08reftable: (de)serialization for the polymorphic record type.Han-Wen Nienhuys5-0/+1898
2021-10-08reftable: add blocksource, an abstraction for random access readsHan-Wen Nienhuys3-0/+219
2021-10-08reftable: utility functionsHan-Wen Nienhuys9-0/+499
2021-10-08reftable: add error related functionalityHan-Wen Nienhuys2-0/+103
2021-10-08reftable: add LICENSEHan-Wen Nienhuys1-0/+31