/* Copyright 2020 Google LLC Use of this source code is governed by a BSD-style license that can be found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd */ #ifndef MERGED_H #define MERGED_H #include "pq.h" struct reftable_merged_table { struct reftable_table *stack; size_t stack_len; uint32_t hash_id; /* If unset, produce deletions. This is useful for compaction. For the * full stack, deletions should be produced. */ int suppress_deletions; uint64_t min; uint64_t max; }; struct merged_iter { struct reftable_iterator *stack; uint32_t hash_id; size_t stack_len; uint8_t typ; int suppress_deletions; struct merged_iter_pqueue pq; }; void merged_table_release(struct reftable_merged_table *mt); #endif