design dbc api
This commit is contained in:
parent
f4359a6fb3
commit
9ffdf09986
|
@ -90,4 +90,19 @@ int tdbDbInsert(STDB *pDb, const void *pKey, int keyLen, const void *pVal, int v
|
|||
|
||||
int tdbDbGet(STDB *pDb, const void *pKey, int kLen, void **ppVal, int *vLen) {
|
||||
return tdbBtreeGet(pDb->pBt, pKey, kLen, ppVal, vLen);
|
||||
}
|
||||
|
||||
int tdbDbcOpen(STDB *pDb, STDBC **ppTDbc) {
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
int tdbDbNext(STDBC *pDbc, void **ppKey, int *kLen, void **ppVal, int *vLen) {
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
int tdbDbcClose(STDBC *pDbc) {
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
|
@ -21,14 +21,20 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
typedef struct STDB STDB;
|
||||
typedef struct STDbC STDbC;
|
||||
typedef struct STDBC STDBC;
|
||||
|
||||
// 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);
|
||||
|
||||
// STDBC
|
||||
int tdbDbcOpen(STDB *pDb, STDBC **ppTDbc);
|
||||
int tdbDbNext(STDBC *pDbc, void **ppKey, int *kLen, void **ppVal, int *vLen);
|
||||
int tdbDbcClose(STDBC *pDbc);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -48,9 +48,28 @@ TEST(tdb_test, simple_test) {
|
|||
TDB_FREE(pVal);
|
||||
}
|
||||
|
||||
{ // Loop to query the data
|
||||
// STDbC *pDBC;
|
||||
// tdbDBNext(pDBC, p)
|
||||
{ // Iterate to query the DB data
|
||||
STDBC *pDBC;
|
||||
void *pKey = NULL;
|
||||
void *pVal = NULL;
|
||||
int vLen, kLen;
|
||||
int count = 0;
|
||||
|
||||
ret = tdbDbcOpen(pDb, &pDBC);
|
||||
GTEST_ASSERT_EQ(ret, 0);
|
||||
|
||||
for (;;) {
|
||||
ret = tdbDbNext(pDBC, &pKey, &kLen, &pVal, &vLen);
|
||||
if (ret < 0) break;
|
||||
count++;
|
||||
}
|
||||
|
||||
GTEST_ASSERT_EQ(count, nData);
|
||||
|
||||
tdbDbcClose(pDBC);
|
||||
|
||||
TDB_FREE(pKey);
|
||||
TDB_FREE(pVal);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue