
We include "hash.h" in "reftable/system.h" such that we can use hash format IDs as well as the raw size of SHA1 and SHA256. As we are in the process of converting the reftable library to become standalone we of course cannot rely on those constants anymore. Introduce a new `enum reftable_hash` to replace internal uses of the hash format IDs and new constants that replace internal uses of the hash size. Adapt the reftable backend to set up the correct hash function. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
35 lines
727 B
C
35 lines
727 B
C
/*
|
|
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 "system.h"
|
|
#include "reftable-basics.h"
|
|
|
|
struct reftable_merged_table {
|
|
struct reftable_reader **readers;
|
|
size_t readers_len;
|
|
enum reftable_hash 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 reftable_iterator;
|
|
|
|
int merged_table_init_iter(struct reftable_merged_table *mt,
|
|
struct reftable_iterator *it,
|
|
uint8_t typ);
|
|
|
|
#endif
|