From 751999a82b8854ef5231e0ded5fe022b1ea5d8ff Mon Sep 17 00:00:00 2001 From: tanaka takashi Date: Sat, 4 Jul 2026 18:44:17 +0900 Subject: Harden backup import and restore coverage --- src/domain/search.c | 20 +++++++++++++++++++- src/domain/search.h | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) (limited to 'src/domain') diff --git a/src/domain/search.c b/src/domain/search.c index faf16ff..e34cc72 100644 --- a/src/domain/search.c +++ b/src/domain/search.c @@ -356,6 +356,24 @@ tiny_search_index_create(void) return calloc(1, sizeof(tiny_search_index_t)); } +uint64_t +tiny_search_index_memory_estimate(const tiny_search_index_t *index) +{ + uint64_t total; + size_t position; + if (!index) + { + return 0; + } + total = sizeof(*index) + index->bucket_capacity * sizeof(*index->buckets) + + index->slot_capacity * sizeof(*index->slots); + for (position = 0; position < index->bucket_count; ++position) + { + total += index->buckets[position].capacity * sizeof(*index->buckets[position].messages); + } + return total; +} + void tiny_search_index_free(tiny_search_index_t *index) { @@ -710,4 +728,4 @@ tiny_search_score(const char *query, const tiny_message_t *message) return 0.0; } return breakdown.total; -} \ No newline at end of file +} diff --git a/src/domain/search.h b/src/domain/search.h index a891a27..821102e 100644 --- a/src/domain/search.h +++ b/src/domain/search.h @@ -17,6 +17,7 @@ bool tiny_search_index_candidates(const tiny_search_index_t *index, const char *query, size_t **output, size_t *count); +uint64_t tiny_search_index_memory_estimate(const tiny_search_index_t *index); typedef struct tiny_search_breakdown { -- cgit v1.2.3