mirror of
https://github.com/git/git.git
synced 2026-01-09 01:34:00 +00:00
reftable/table: add reftable_table to the public interface
The `reftable_table` interface is an internal implementation detail that callers have no access to. Having direct access to this structure is important though for a subsequent patch series that will implement consistency checks for the reftable backend. Move the structure into "reftable-table.h" so that it part of the public interface. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
50d8459477
commit
c8cbe85a23
@@ -20,8 +20,38 @@
|
|||||||
* reftable_merged_table and struct reftable_stack.
|
* reftable_merged_table and struct reftable_stack.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Metadata for a block type. */
|
||||||
|
struct reftable_table_offsets {
|
||||||
|
int is_present;
|
||||||
|
uint64_t offset;
|
||||||
|
uint64_t index_offset;
|
||||||
|
};
|
||||||
|
|
||||||
/* The table struct is a handle to an open reftable file. */
|
/* The table struct is a handle to an open reftable file. */
|
||||||
struct reftable_table;
|
struct reftable_table {
|
||||||
|
/* for convenience, associate a name with the instance. */
|
||||||
|
char *name;
|
||||||
|
struct reftable_block_source source;
|
||||||
|
|
||||||
|
/* Size of the file, excluding the footer. */
|
||||||
|
uint64_t size;
|
||||||
|
|
||||||
|
/* The hash function used for ref records. */
|
||||||
|
enum reftable_hash hash_id;
|
||||||
|
|
||||||
|
uint32_t block_size;
|
||||||
|
uint64_t min_update_index;
|
||||||
|
uint64_t max_update_index;
|
||||||
|
/* Length of the OID keys in the 'o' section */
|
||||||
|
int object_id_len;
|
||||||
|
int version;
|
||||||
|
|
||||||
|
struct reftable_table_offsets ref_offsets;
|
||||||
|
struct reftable_table_offsets obj_offsets;
|
||||||
|
struct reftable_table_offsets log_offsets;
|
||||||
|
|
||||||
|
uint64_t refcount;
|
||||||
|
};
|
||||||
|
|
||||||
/* reftable_table_new opens a reftable for reading. If successful,
|
/* reftable_table_new opens a reftable for reading. If successful,
|
||||||
* returns 0 code and sets pp. The name is used for creating a
|
* returns 0 code and sets pp. The name is used for creating a
|
||||||
|
|||||||
@@ -14,39 +14,6 @@
|
|||||||
#include "reftable-iterator.h"
|
#include "reftable-iterator.h"
|
||||||
#include "reftable-table.h"
|
#include "reftable-table.h"
|
||||||
|
|
||||||
/* metadata for a block type */
|
|
||||||
struct reftable_table_offsets {
|
|
||||||
int is_present;
|
|
||||||
uint64_t offset;
|
|
||||||
uint64_t index_offset;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* The state for reading a reftable file. */
|
|
||||||
struct reftable_table {
|
|
||||||
/* for convenience, associate a name with the instance. */
|
|
||||||
char *name;
|
|
||||||
struct reftable_block_source source;
|
|
||||||
|
|
||||||
/* Size of the file, excluding the footer. */
|
|
||||||
uint64_t size;
|
|
||||||
|
|
||||||
/* The hash function used for ref records. */
|
|
||||||
enum reftable_hash hash_id;
|
|
||||||
|
|
||||||
uint32_t block_size;
|
|
||||||
uint64_t min_update_index;
|
|
||||||
uint64_t max_update_index;
|
|
||||||
/* Length of the OID keys in the 'o' section */
|
|
||||||
int object_id_len;
|
|
||||||
int version;
|
|
||||||
|
|
||||||
struct reftable_table_offsets ref_offsets;
|
|
||||||
struct reftable_table_offsets obj_offsets;
|
|
||||||
struct reftable_table_offsets log_offsets;
|
|
||||||
|
|
||||||
uint64_t refcount;
|
|
||||||
};
|
|
||||||
|
|
||||||
const char *reftable_table_name(struct reftable_table *t);
|
const char *reftable_table_name(struct reftable_table *t);
|
||||||
|
|
||||||
int table_init_iter(struct reftable_table *t,
|
int table_init_iter(struct reftable_table *t,
|
||||||
|
|||||||
Reference in New Issue
Block a user