Re: [PATCH 01/10] reftable/merged: expose functions to initialize iterators
- From
karthik nayak <karthik.188@gmail.com>
- Date
- Aug 13, 2024, 09:36 UTC
- Message-ID
- <CAOLa=ZSY8EWuXAK_tF4sSYGHs2Mv6nE-YtVtVkau4k5h=hOEdA@mail.gmail.com>
- In-Reply-To
- <404d64effde3bee424e338d858ed507ff83dff20.1723528765.git.ps@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
Show 34 quoted lines
> We do not expose any functions via our public headers that would allow a
> caller to initialize a reftable iterator from a merged table. Instead,
> they are expected to go via the generic `reftable_table` interface,
> which is somewhat roundabout.
>
> Implement two new functions to initialize iterators for ref and log
> records to plug this gap.
>
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
> reftable/merged.c | 12 ++++++++++++
> reftable/reftable-merged.h | 8 ++++++++
> 2 files changed, 20 insertions(+)
>
> diff --git a/reftable/merged.c b/reftable/merged.c
> index 6adce44f4b..8d78b3da71 100644
> --- a/reftable/merged.c
> +++ b/reftable/merged.c
> @@ -254,6 +254,18 @@ void merged_table_init_iter(struct reftable_merged_table *mt,
> iterator_from_merged_iter(it, mi);
> }
>
> +void reftable_merged_table_init_ref_iterator(struct reftable_merged_table *mt,
> + struct reftable_iterator *it)
> +{
> + merged_table_init_iter(mt, it, BLOCK_TYPE_REF);
> +}
> +
> +void reftable_merged_table_init_log_iterator(struct reftable_merged_table *mt,
> + struct reftable_iterator *it)
> +{
> + merged_table_init_iter(mt, it, BLOCK_TYPE_LOG);
> +}
> +These too look similar to `static void reftable_merged_table_init_iter_void` defined a little below, I wonder if we could have simply exposed that? Perhaps we remove it in the upcoming patches.
[snip]