From 4c96020cb204ea6fea681c07cf3f7466586f2ee6 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Tue, 1 Mar 2022 09:02:22 +0000 Subject: [PATCH] more TDB --- source/libs/tdb/src/inc/tdbInt.h | 3 +++ source/libs/tdb/src/inc/tdbPage.h | 41 +++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 source/libs/tdb/src/inc/tdbPage.h diff --git a/source/libs/tdb/src/inc/tdbInt.h b/source/libs/tdb/src/inc/tdbInt.h index 93c43ff80c..e94479366f 100644 --- a/source/libs/tdb/src/inc/tdbInt.h +++ b/source/libs/tdb/src/inc/tdbInt.h @@ -131,8 +131,11 @@ typedef int (*FKeyComparator)(const void *pKey1, int kLen1, const void *pKey2, i #define BTREE_MAX_DEPTH 20 + #include "tdbUtil.h" +#include "tdbPage.h" + #include "tdbPCache.h" #include "tdbPager.h" diff --git a/source/libs/tdb/src/inc/tdbPage.h b/source/libs/tdb/src/inc/tdbPage.h new file mode 100644 index 0000000000..608f517aa7 --- /dev/null +++ b/source/libs/tdb/src/inc/tdbPage.h @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2019 TAOS Data, Inc. + * + * This program is free software: you can use, redistribute, and/or modify + * it under the terms of the GNU Affero General Public License, version 3 + * or later ("AGPL"), as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +#ifndef _TDB_PAGE_H_ +#define _TDB_PAGE_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct __attribute__((__packed__)) { + u8 flags; + u16 nCells; + u16 cellCont; + u16 freeCell; + u16 nFree; +} SPageHdr; + +typedef struct { + SPageHdr *pPageHdr; + void * pAMHdr; + u16 * aCellIdx; +} SPageHandle; + +#ifdef __cplusplus +} +#endif + +#endif /*_TDB_PAGE_H_*/ \ No newline at end of file