more TDB
This commit is contained in:
parent
5fdfb80855
commit
afe0f1b6e0
|
@ -69,6 +69,11 @@ int tdbDbClose(STDb *pDb) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int tdbDbDrop(STDb *pDb) {
|
||||||
|
// TODO
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int tdbDbInsert(STDb *pDb, const void *pKey, int keyLen, const void *pVal, int valLen) {
|
int tdbDbInsert(STDb *pDb, const void *pKey, int keyLen, const void *pVal, int valLen) {
|
||||||
// TODO
|
// TODO
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -31,10 +31,16 @@ struct SPFile {
|
||||||
u8 inTran;
|
u8 inTran;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct {
|
typedef struct __attribute__((__packed__)) {
|
||||||
/* TODO */
|
u8 hdrString[16];
|
||||||
|
u16 pageSize;
|
||||||
|
SPgno freePage;
|
||||||
|
u32 nFreePages;
|
||||||
|
u8 reserved[102];
|
||||||
} SFileHdr;
|
} SFileHdr;
|
||||||
|
|
||||||
|
TDB_STATIC_ASSERT(sizeof(SFileHdr) == 128, "Size of file header is not correct");
|
||||||
|
|
||||||
static int tdbPFileReadPage(SPFile *pFile, SPage *pPage);
|
static int tdbPFileReadPage(SPFile *pFile, SPage *pPage);
|
||||||
|
|
||||||
int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile) {
|
int tdbPFileOpen(SPCache *pCache, const char *fileName, SPFile **ppFile) {
|
||||||
|
|
|
@ -24,6 +24,7 @@ typedef struct STDb STDb;
|
||||||
|
|
||||||
int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprFn, STEnv *pEnv, STDb **ppDb);
|
int tdbDbOpen(const char *fname, int keyLen, int valLen, FKeyComparator keyCmprFn, STEnv *pEnv, STDb **ppDb);
|
||||||
int tdbDbClose(STDb *pDb);
|
int tdbDbClose(STDb *pDb);
|
||||||
|
int tdbDbDrop(STDb *pDb);
|
||||||
int tdbDbInsert(STDb *pDb, const void *pKey, int keyLen, const void *pVal, int valLen);
|
int tdbDbInsert(STDb *pDb, const void *pKey, int keyLen, const void *pVal, int valLen);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -15,9 +15,14 @@ TEST(tdb_test, simple_test) {
|
||||||
ret = tdbDbOpen("db.db", TDB_VARIANT_LEN, TDB_VARIANT_LEN, NULL, pEnv, &pDb);
|
ret = tdbDbOpen("db.db", TDB_VARIANT_LEN, TDB_VARIANT_LEN, NULL, pEnv, &pDb);
|
||||||
GTEST_ASSERT_EQ(ret, 0);
|
GTEST_ASSERT_EQ(ret, 0);
|
||||||
|
|
||||||
// Insert some data
|
// // Insert some data
|
||||||
ret = tdbDbInsert(pDb, "1", 1, "world", 5);
|
// ret = tdbDbInsert(pDb, "1", 1, "world", 5);
|
||||||
GTEST_ASSERT_EQ(ret, 0);
|
// GTEST_ASSERT_EQ(ret, 0);
|
||||||
|
|
||||||
|
ret = tdbDbDrop(pDb);
|
||||||
|
if (pDb == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
// Close a database
|
// Close a database
|
||||||
tdbDbClose(pDb);
|
tdbDbClose(pDb);
|
||||||
|
|
Loading…
Reference in New Issue