refact vnode and add tdb api

This commit is contained in:
Hongze Cheng 2022-04-29 07:55:52 +00:00
parent 496ec4c1dc
commit 48207a166e
8 changed files with 50 additions and 45 deletions

View File

@ -45,17 +45,18 @@ int tdbDbGet(TDB *pDb, const void *pKey, int kLen, void **ppVal, int *vLen);
int tdbDbPGet(TDB *pDb, const void *pKey, int kLen, void **ppKey, int *pkLen, void **ppVal, int *vLen);
// TDBC
#define TDB_FLG_CMP_LT 0x1 // less than
#define TDB_FLG_CMP_EQ 0x2 // equal
#define TDB_FLG_CMP_GT 0x4 // greater than
int tdbDbcOpen(TDB *pDb, TDBC **ppDbc, TXN *pTxn);
int tdbDbcMoveTo(TDBC *pDbc, const void *pKey, int kLen);
int tdbDbcClose(TDBC *pDbc);
int tdbDbcMoveTo(TDBC *pDbc, const void *pKey, int kLen, int *c);
int tdbDbcMoveToFirst(TDBC *pDbc);
int tdbDbcMoveToLast(TDBC *pDbc);
int tdbDbcMoveToNext(TDBC *pDbc);
int tdbDbcMoveToPrev(TDBC *pDbc);
int tdbDbcPut(TDBC *pDbc, const void *pKey, int keyLen, const void *pVal, int valLen);
int tdbDbcUpdate(TDBC *pDbc, const void *pKey, int kLen, const void *pVal, int vLen);
int tdbDbcDrop(TDBC *pDbc);
int tdbDbcNext(TDBC *pDbc, void **ppKey, int *kLen, void **ppVal, int *vLen);
int tdbDbcClose(TDBC *pDbc);
// TXN
#define TDB_TXN_WRITE 0x1

View File

@ -1310,13 +1310,10 @@ int tdbBtcMoveTo(SBTC *pBtc, const void *pKey, int kLen, int *pCRst) {
int ret;
int nCells;
int c;
SBTree *pBt;
SCell *pCell;
SPager *pPager;
SCellDecoder cd = {0};
pBt = pBtc->pBt;
pPager = pBt->pPager;
SBTree *pBt = pBtc->pBt;
SPager *pPager = pBt->pPager;
if (pBtc->iPage < 0) {
// move from a clear cursor

View File

@ -111,8 +111,15 @@ int tdbDbcOpen(TDB *pDb, TDBC **ppDbc, TXN *pTxn) {
return 0;
}
int tdbDbcMoveTo(TDBC *pDbc, const void *pKey, int kLen) {
// return tdbBtcMoveTo(&pDbc->btc, pKey, kLen, flags);
int tdbDbcMoveTo(TDBC *pDbc, const void *pKey, int kLen, int *c) { return tdbBtcMoveTo(&pDbc->btc, pKey, kLen, c); }
int tdbDbcMoveToFirst(TDBC *pDbc) { return tdbBtcMoveToFirst(&pDbc->btc); }
int tdbDbcMoveToLast(TDBC *pDbc) { return tdbBtcMoveToLast(&pDbc->btc); }
int tdbDbcMoveToNext(TDBC *pDbc) { return 0; }
int tdbDbcMoveToPrev(TDBC *pDbc) {
// TODO
return 0;
}