git/reftable
Patrick Steinhardt 59f302ca5a reftable/merged: refactor seeking of records
The code to seek reftable records in the merged table code is quite hard
to read and does not conform to our coding style in multiple ways:

  - We have multiple exit paths where we release resources even though
    that is not really necessary.

  - We use a scoped error variable `e` which is hard to reason about.
    This variable is not required at all.

  - We allocate memory in the variable declarations, which is easy to
    miss.

Refactor the function so that it becomes more maintainable in the
future.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-02-06 12:10:08 -08:00
..
basics.c reftable/stack: use size_t to track stack length 2024-02-06 12:10:08 -08:00
basics.h reftable/stack: use size_t to track stack length 2024-02-06 12:10:08 -08:00
basics_test.c reftable: utility functions 2021-10-08 10:45:48 -07:00
block.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
block.h reftable/block: reuse buffer to compute record keys 2023-12-11 07:23:17 -08:00
block_test.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
blocksource.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
blocksource.h reftable: add blocksource, an abstraction for random access reads 2021-10-08 10:45:48 -07:00
constants.h reftable: (de)serialization for the polymorphic record type. 2021-10-08 10:45:48 -07:00
dump.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
error.c reftable: ensure git-compat-util.h is the first (indirect) include 2023-04-24 12:47:33 -07:00
generic.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
generic.h reftable: generic interface to tables 2021-10-08 10:45:48 -07:00
iter.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
iter.h reftable/block: introduce macro to initialize struct block_iter 2023-12-11 07:23:17 -08:00
LICENSE
merged.c reftable/merged: refactor seeking of records 2024-02-06 12:10:08 -08:00
merged.h reftable/merged: reuse buffer to compute record keys 2023-12-11 07:23:16 -08:00
merged_test.c reftable/stack: use size_t to track stack length 2024-02-06 12:10:08 -08:00
pq.c reftable: introduce macros to grow arrays 2024-02-06 12:10:08 -08:00
pq.h reftable: use a pointer for pq_entry param 2022-09-15 11:32:37 -07:00
pq_test.c reftable: use a pointer for pq_entry param 2022-09-15 11:32:37 -07:00
publicbasics.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
reader.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
reader.h reftable: read reftable files 2021-10-08 10:45:48 -07:00
readwrite_test.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
record.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
record.h reftable: add print functions to the record types 2022-01-20 11:31:53 -08:00
record_test.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
refname.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
refname.h reftable: implement refname validation 2021-10-08 10:45:48 -07:00
refname_test.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
reftable-blocksource.h reftable: add blocksource, an abstraction for random access reads 2021-10-08 10:45:48 -07:00
reftable-error.h reftable: signal overflow 2021-12-23 12:28:34 -08:00
reftable-generic.h reftable: generic interface to tables 2021-10-08 10:45:48 -07:00
reftable-iterator.h reftable: generic interface to tables 2021-10-08 10:45:48 -07:00
reftable-malloc.h reftable: utility functions 2021-10-08 10:45:48 -07:00
reftable-merged.h reftable/stack: use size_t to track stack length 2024-02-06 12:10:08 -08:00
reftable-reader.h reftable: read reftable files 2021-10-08 10:45:48 -07:00
reftable-record.h reftable/record: store "val2" hashes as static arrays 2024-01-03 09:54:21 -08:00
reftable-stack.h reftable: implement stack, a mutable database of reftable files. 2021-10-08 10:45:48 -07:00
reftable-tests.h reftable: add a heap-based priority queue for reftable records 2021-10-08 10:45:48 -07:00
reftable-writer.h reftable: rename writer_stats to reftable_writer_stats 2022-02-23 13:36:26 -08:00
stack.c reftable/stack: use size_t to track stack length 2024-02-06 12:10:08 -08:00
stack.h reftable/stack: index segments with size_t 2024-02-06 12:10:08 -08:00
stack_test.c reftable/stack: index segments with size_t 2024-02-06 12:10:08 -08:00
system.h reftable/stack: fix race in up-to-date check 2024-01-18 12:02:09 -08:00
test_framework.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
test_framework.h reftable: wrap EXPECT macros in do/while 2023-12-11 07:23:15 -08:00
tree.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
tree.h reftable: a generic binary tree implementation 2021-10-08 10:45:48 -07:00
tree_test.c treewide: remove unnecessary includes in source files 2023-12-26 12:04:31 -08:00
writer.c reftable: introduce macros to allocate arrays 2024-02-06 12:10:08 -08:00
writer.h reftable: write reftable files 2021-10-08 10:45:48 -07:00