diff options
author | Junio C Hamano <gitster@pobox.com> | 2024-01-16 21:11:56 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-01-16 21:11:57 +0300 |
commit | 481d69dd63328fb10422c8bf9e714b5b5c7d1820 (patch) | |
tree | 13eb7caf64e3bfa7bbf6df3bbdd69c718379c0fc /reftable/merged.c | |
parent | d4dbce1db5cd227a57074bcfc7ec9f0655961bba (diff) | |
parent | 19b9496c1f0630a4ba252abcdfd313bf9c46347a (diff) |
Merge branch 'ps/reftable-fixes-and-optims'
More fixes and optimizations to the reftable backend.
* ps/reftable-fixes-and-optims:
reftable/merged: transfer ownership of records when iterating
reftable/merged: really reuse buffers to compute record keys
reftable/record: store "val2" hashes as static arrays
reftable/record: store "val1" hashes as static arrays
reftable/record: constify some parts of the interface
reftable/writer: fix index corruption when writing multiple indices
reftable/stack: do not auto-compact twice in `reftable_stack_add()`
reftable/stack: do not overwrite errors when compacting
Diffstat (limited to 'reftable/merged.c')
-rw-r--r-- | reftable/merged.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/reftable/merged.c b/reftable/merged.c index 574394092d..c258ce953e 100644 --- a/reftable/merged.c +++ b/reftable/merged.c @@ -123,12 +123,12 @@ static int merged_iter_next_entry(struct merged_iter *mi, reftable_record_release(&top.rec); } - reftable_record_copy_from(rec, &entry.rec, hash_size(mi->hash_id)); + reftable_record_release(rec); + *rec = entry.rec; done: - reftable_record_release(&entry.rec); - strbuf_release(&mi->entry_key); - strbuf_release(&mi->key); + if (err) + reftable_record_release(&entry.rec); return err; } |