1
0
mirror of https://github.com/fumiama/fumidb.git synced 2026-06-11 21:50:41 +08:00

finish int32 int64

This commit is contained in:
源文雨
2022-10-09 16:23:12 +08:00
parent 2dd269b364
commit b410f26bf4
12 changed files with 782 additions and 48 deletions

View File

@@ -4,11 +4,13 @@
#include <stdint.h>
#include "../types.h"
#define INT32_BUCKET_SZ (256)
#define INT32_INDEX_SZ ((INT32_BUCKET_SZ+1)*(PAGESZ+8))
#define INT32_BUCKET_SZ (256ull)
#define INT32_BUCKET_MAX_ITEM_SZ (340ull)
#define INT32_INDEX_SZ ((INT32_BUCKET_SZ+2)*(PAGESZ+8))
#define INT32_DIGEST_FACTOR (11454191981ull)
// len(buf) >= INT32_INDEX_SZ = (PAGESZ+8)*(256+1) = 4104*257 = 1054728 (1M)
// 256个哈希桶, 多出来个是机动空间, 用于加载溢出桶
// len(buf) >= INT32_INDEX_SZ = (PAGESZ+8)*(256+2) = 4104*258
// 256个哈希桶, 多出来2个是机动空间, 用于加载溢出桶
void* create_int32_index(int fd, void* buf);
void* load_int32_index(int fd, uint64_t ptr, void* buf);