提交 df306127 编写于 作者: H Hongze Cheng

more TDB

上级 4e8f8445
......@@ -39,7 +39,8 @@ struct SBTree {
u8 *pTmp;
};
#define TDB_BTREE_PAGE_COMMON_HDR u8 flags;
#define TDB_BTREE_PAGE_COMMON_HDR u8 flags;
#define TDB_BTREE_PAGE_FLAGS(PAGE) (PAGE)->pAmHdr[0]
typedef struct __attribute__((__packed__)) {
TDB_BTREE_PAGE_COMMON_HDR
......
......@@ -27,11 +27,6 @@ typedef struct {
int szOffset;
int szPageHdr;
int szFreeCell;
#if 0
// flags
u16 (*getFlags)(SPage *);
void (*setFlags)(SPage *, u16);
#endif
// cell number
int (*getCellNum)(SPage *);
void (*setCellNum)(SPage *, int);
......@@ -81,12 +76,6 @@ struct SPage {
TDB_PCACHE_PAGE
};
#if 0
/* For page */
#define TDB_PAGE_FLAGS(pPage) (*(pPage)->pPageMethods->getFlags)(pPage)
#define TDB_PAGE_FLAGS_SET(pPage, FLAGS) (*(pPage)->pPageMethods->setFlags)(pPage, FLAGS)
#endif
// For page lock
#define P_LOCK_SUCC 0
#define P_LOCK_BUSY 1
......
......@@ -399,12 +399,6 @@ typedef struct __attribute__((__packed__)) {
u16 nxOffset;
} SFreeCell;
#if 0
// flags
static inline u16 getPageFlags(SPage *pPage) { return ((SPageHdr *)(pPage->pPageHdr))[0].flags; }
static inline void setPageFlags(SPage *pPage, u16 flags) { ((SPageHdr *)(pPage->pPageHdr))[0].flags = flags; }
#endif
// cellNum
static inline int getPageCellNum(SPage *pPage) { return ((SPageHdr *)(pPage->pPageHdr))[0].cellNum; }
static inline void setPageCellNum(SPage *pPage, int cellNum) {
......@@ -458,13 +452,9 @@ static inline void setPageFreeCellInfo(SCell *pCell, int szCell, int nxOffset) {
}
SPageMethods pageMethods = {
2, // szOffset
sizeof(SPageHdr), // szPageHdr
sizeof(SFreeCell), // szFreeCell
#if 0
getPageFlags, // getPageFlags
setPageFlags, // setFlagsp
#endif
2, // szOffset
sizeof(SPageHdr), // szPageHdr
sizeof(SFreeCell), // szFreeCell
getPageCellNum, // getCellNum
setPageCellNum, // setCellNum
getPageCellBody, // getCellBody
......
......@@ -28,12 +28,6 @@ typedef struct __attribute__((__packed__)) {
u8 nxOffset[3];
} SFreeCellL;
#if 0
// flags
static inline u16 getPageFlags(SPage *pPage) { return ((SPageHdrL *)(pPage->pPageHdr))[0].flags; }
static inline void setPageFlags(SPage *pPage, u16 flags) { ((SPageHdrL *)(pPage->pPageHdr))[0].flags = flags; }
#endif
// cellNum
static inline int getPageCellNum(SPage *pPage) { return TDB_GET_U24(((SPageHdrL *)(pPage->pPageHdr))[0].cellNum); }
static inline void setPageCellNum(SPage *pPage, int cellNum) {
......@@ -82,13 +76,9 @@ static inline void setPageFreeCellInfo(SCell *pCell, int szCell, int nxOffset) {
}
SPageMethods pageLargeMethods = {
3, // szOffset
sizeof(SPageHdrL), // szPageHdr
sizeof(SFreeCellL), // szFreeCell
#if 0
getPageFlags, // getPageFlags
setPageFlags, // setFlagsp
#endif
3, // szOffset
sizeof(SPageHdrL), // szPageHdr
sizeof(SFreeCellL), // szFreeCell
getPageCellNum, // getCellNum
setPageCellNum, // setCellNum
getPageCellBody, // getCellBody
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册