Re: [PATCH 03/10] reftable/merged: stop using generic tables in the merged table
From: karthik nayak <hidden>
Date: 2024-08-13 09:58:30
Patrick Steinhardt [off-list ref] writes: [snip]
quoted hunk ↗ jump to hunk
diff --git a/reftable/stack.c b/reftable/stack.c index 64c7fdf8c4..7f4e267ea9 100644 --- a/reftable/stack.c +++ b/reftable/stack.c@@ -225,13 +225,11 @@ static int reftable_stack_reload_once(struct reftable_stack *st, const char **names, int reuse_open) { - size_t cur_len = !st->merged ? 0 : st->merged->stack_len; + size_t cur_len = !st->merged ? 0 : st->merged->readers_len; struct reftable_reader **cur = stack_copy_readers(st, cur_len); size_t names_len = names_length(names); struct reftable_reader **new_readers = reftable_calloc(names_len, sizeof(*new_readers)); - struct reftable_table *new_tables = - reftable_calloc(names_len, sizeof(*new_tables));
Before we had both `reftable_reader` and `reftable_table` here and we used to set `reftable_table` from the reader and use it to create a merged table. Now we will simply use the readers directly.
quoted hunk ↗ jump to hunk
size_t new_readers_len = 0; struct reftable_merged_table *new_merged = NULL; struct strbuf table_path = STRBUF_INIT;@@ -267,17 +265,15 @@ static int reftable_stack_reload_once(struct reftable_stack *st, } new_readers[new_readers_len] = rd; - reftable_table_from_reader(&new_tables[new_readers_len], rd);
This being the part where we convert `reftable_reader` array to `reftable_table` array.
new_readers_len++; } /* success! */ - err = reftable_merged_table_new(&new_merged, new_tables, + err = reftable_merged_table_new(&new_merged, new_readers, new_readers_len, st->opts.hash_id);
And this being the part where we create the merged table.
quoted hunk ↗ jump to hunk
if (err < 0) goto done; - new_tables = NULL; st->readers_len = new_readers_len; if (st->merged) reftable_merged_table_free(st->merged);@@ -309,7 +305,6 @@ static int reftable_stack_reload_once(struct reftable_stack *st,
[snip] The entire patch is along the lines of what I explained above, so looks good!
Attachments
- signature.asc [application/pgp-signature] 690 bytes