more TDB
This commit is contained in:
parent
b23d2c7b6e
commit
0a602259fc
|
@ -24,8 +24,8 @@ struct STDBC {
|
|||
SBTC btc;
|
||||
};
|
||||
|
||||
int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprFn, STEnv *pEnv, STDB **ppDb) {
|
||||
STDB *pDb;
|
||||
int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprFn, STEnv *pEnv, TDB **ppDb) {
|
||||
TDB *pDb;
|
||||
SPager *pPager;
|
||||
int ret;
|
||||
char fFullName[TDB_FILENAME_LEN];
|
||||
|
@ -34,7 +34,7 @@ int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprF
|
|||
|
||||
*ppDb = NULL;
|
||||
|
||||
pDb = (STDB *)tdbOsCalloc(1, sizeof(*pDb));
|
||||
pDb = (TDB *)tdbOsCalloc(1, sizeof(*pDb));
|
||||
if (pDb == NULL) {
|
||||
return -1;
|
||||
}
|
||||
|
@ -63,17 +63,17 @@ int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprF
|
|||
return 0;
|
||||
}
|
||||
|
||||
int tdbDbClose(STDB *pDb) {
|
||||
int tdbDbClose(TDB *pDb) {
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
int tdbDbDrop(STDB *pDb) {
|
||||
int tdbDbDrop(TDB *pDb) {
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
int tdbDbInsert(STDB *pDb, const void *pKey, int keyLen, const void *pVal, int valLen) {
|
||||
int tdbDbInsert(TDB *pDb, const void *pKey, int keyLen, const void *pVal, int valLen) {
|
||||
SBTC btc;
|
||||
SBTC *pCur;
|
||||
int ret;
|
||||
|
@ -92,16 +92,16 @@ int tdbDbInsert(STDB *pDb, const void *pKey, int keyLen, const void *pVal, int v
|
|||
return 0;
|
||||
}
|
||||
|
||||
int tdbDbGet(STDB *pDb, const void *pKey, int kLen, void **ppVal, int *vLen) {
|
||||
int tdbDbGet(TDB *pDb, const void *pKey, int kLen, void **ppVal, int *vLen) {
|
||||
return tdbBtreeGet(pDb->pBt, pKey, kLen, ppVal, vLen);
|
||||
}
|
||||
|
||||
int tdbDbcOpen(STDB *pDb, STDBC **ppDbc) {
|
||||
int ret;
|
||||
STDBC *pDbc = NULL;
|
||||
int tdbDbcOpen(TDB *pDb, TDBC **ppDbc) {
|
||||
int ret;
|
||||
TDBC *pDbc = NULL;
|
||||
|
||||
*ppDbc = NULL;
|
||||
pDbc = (STDBC *)tdbOsMalloc(sizeof(*pDbc));
|
||||
pDbc = (TDBC *)tdbOsMalloc(sizeof(*pDbc));
|
||||
if (pDbc == NULL) {
|
||||
return -1;
|
||||
}
|
||||
|
@ -120,11 +120,11 @@ int tdbDbcOpen(STDB *pDb, STDBC **ppDbc) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
int tdbDbNext(STDBC *pDbc, void **ppKey, int *kLen, void **ppVal, int *vLen) {
|
||||
int tdbDbNext(TDBC *pDbc, void **ppKey, int *kLen, void **ppVal, int *vLen) {
|
||||
return tdbBtreeNext(&pDbc->btc, ppKey, kLen, ppVal, vLen);
|
||||
}
|
||||
|
||||
int tdbDbcClose(STDBC *pDbc) {
|
||||
int tdbDbcClose(TDBC *pDbc) {
|
||||
if (pDbc) {
|
||||
tdbOsFree(pDbc);
|
||||
}
|
||||
|
|
|
@ -20,20 +20,20 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct STDB STDB;
|
||||
typedef struct STDBC STDBC;
|
||||
typedef struct STDB TDB;
|
||||
typedef struct STDBC TDBC;
|
||||
|
||||
// STDB
|
||||
int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprFn, STEnv *pEnv, STDB **ppDb);
|
||||
int tdbDbClose(STDB *pDb);
|
||||
int tdbDbDrop(STDB *pDb);
|
||||
int tdbDbInsert(STDB *pDb, const void *pKey, int keyLen, const void *pVal, int valLen);
|
||||
int tdbDbGet(STDB *pDb, const void *pKey, int kLen, void **ppVal, int *vLen);
|
||||
// TDB
|
||||
int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprFn, STEnv *pEnv, TDB **ppDb);
|
||||
int tdbDbClose(TDB *pDb);
|
||||
int tdbDbDrop(TDB *pDb);
|
||||
int tdbDbInsert(TDB *pDb, const void *pKey, int keyLen, const void *pVal, int valLen);
|
||||
int tdbDbGet(TDB *pDb, const void *pKey, int kLen, void **ppVal, int *vLen);
|
||||
|
||||
// STDBC
|
||||
int tdbDbcOpen(STDB *pDb, STDBC **ppDbc);
|
||||
int tdbDbNext(STDBC *pDbc, void **ppKey, int *kLen, void **ppVal, int *vLen);
|
||||
int tdbDbcClose(STDBC *pDbc);
|
||||
// TDBC
|
||||
int tdbDbcOpen(TDB *pDb, TDBC **ppDbc);
|
||||
int tdbDbNext(TDBC *pDbc, void **ppKey, int *kLen, void **ppVal, int *vLen);
|
||||
int tdbDbcClose(TDBC *pDbc);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -116,19 +116,6 @@ typedef TD_DLIST_NODE(SPgFile) SPgFileListNode;
|
|||
|
||||
#define TDB_VARIANT_LEN ((int)-1)
|
||||
|
||||
// page payload format
|
||||
// <keyLen> + <valLen> + [key] + [value]
|
||||
#define TDB_DECODE_PAYLOAD(pPayload, keyLen, pKey, valLen, pVal) \
|
||||
do { \
|
||||
if ((keyLen) == TDB_VARIANT_LEN) { \
|
||||
/* TODO: decode the keyLen */ \
|
||||
} \
|
||||
if ((valLen) == TDB_VARIANT_LEN) { \
|
||||
/* TODO: decode the valLen */ \
|
||||
} \
|
||||
/* TODO */ \
|
||||
} while (0)
|
||||
|
||||
typedef int (*FKeyComparator)(const void *pKey1, int kLen1, const void *pKey2, int kLen2);
|
||||
|
||||
#define TDB_JOURNAL_NAME "tdb.journal"
|
||||
|
|
|
@ -116,7 +116,7 @@ static int tDefaultKeyCmpr(const void *pKey1, int keyLen1, const void *pKey2, in
|
|||
TEST(tdb_test, simple_test) {
|
||||
int ret;
|
||||
STEnv *pEnv;
|
||||
STDB *pDb;
|
||||
TDB *pDb;
|
||||
FKeyComparator compFunc;
|
||||
int nData = 1000000;
|
||||
|
||||
|
@ -183,11 +183,11 @@ TEST(tdb_test, simple_test) {
|
|||
}
|
||||
|
||||
{ // Iterate to query the DB data
|
||||
STDBC *pDBC;
|
||||
void *pKey = NULL;
|
||||
void *pVal = NULL;
|
||||
int vLen, kLen;
|
||||
int count = 0;
|
||||
TDBC *pDBC;
|
||||
void *pKey = NULL;
|
||||
void *pVal = NULL;
|
||||
int vLen, kLen;
|
||||
int count = 0;
|
||||
|
||||
ret = tdbDbcOpen(pDb, &pDBC);
|
||||
GTEST_ASSERT_EQ(ret, 0);
|
||||
|
|
Loading…
Reference in New Issue