more tdb
This commit is contained in:
parent
29b6e3edd7
commit
6632640d67
|
@ -13,76 +13,14 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if 0
|
#include "tdb_db.h"
|
||||||
#include "tdbDB.h"
|
|
||||||
#include "tdb.h"
|
|
||||||
|
|
||||||
TDB_EXTERN int tdbCreateDB(TDB** dbpp, tdb_db_t type) {
|
int tdbOpen(TDB **dbpp, const char *fname, const char *dbname, uint32_t flags) {
|
||||||
TDB* dbp;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
dbp = calloc(1, sizeof(*dbp));
|
|
||||||
if (dbp == NULL) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
dbp->pageSize = TDB_DEFAULT_PGSIZE;
|
|
||||||
dbp->type = type;
|
|
||||||
|
|
||||||
switch (type) {
|
|
||||||
case TDB_BTREE_T:
|
|
||||||
// ret = tdbInitBtreeDB(dbp);
|
|
||||||
// if (ret < 0) goto _err;
|
|
||||||
break;
|
|
||||||
case TDB_HASH_T:
|
|
||||||
// ret = tdbInitHashDB(dbp);
|
|
||||||
// if (ret < 0) goto _err;
|
|
||||||
break;
|
|
||||||
case TDB_HEAP_T:
|
|
||||||
// ret = tdbInitHeapDB(dbp);
|
|
||||||
// if (ret < 0) goto _err;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
*dbpp = dbp;
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
_err:
|
|
||||||
if (dbp) {
|
|
||||||
free(dbp);
|
|
||||||
}
|
|
||||||
*dbpp = NULL;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
TDB_EXTERN int tdbOpenDB(TDB* dbp, const char* fname, const char* dbname, uint32_t flags) {
|
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
if ((dbp->fname = strdup(fname)) == NULL) {
|
|
||||||
ret = -1;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create the backup file if the file not exists
|
|
||||||
|
|
||||||
// Open the file as a sub-db or a master-db
|
|
||||||
if (dbname) {
|
|
||||||
if ((dbp->dbname = strdup(dbname)) == NULL) {
|
|
||||||
ret = -1;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
// TODO: Open the DB as a SUB-DB in this file
|
|
||||||
} else {
|
|
||||||
// TODO: Open the DB as a MASTER-DB in this file
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
TDB_EXTERN int tdbCloseDB(TDB* dbp, uint32_t flags) {
|
|
||||||
// TODO
|
// TODO
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
int tdbClose(TDB *dbp, uint32_t flags) {
|
||||||
|
// TODO
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -16,32 +16,28 @@
|
||||||
#ifndef _TD_TDB_DB_H_
|
#ifndef _TD_TDB_DB_H_
|
||||||
#define _TD_TDB_DB_H_
|
#define _TD_TDB_DB_H_
|
||||||
|
|
||||||
#include "tdb.h"
|
#include "tdb_mpool.h"
|
||||||
#include "tdbBtree.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct {
|
typedef struct TDB TDB;
|
||||||
int fd;
|
|
||||||
} TDB_FH;
|
|
||||||
|
|
||||||
struct TDB {
|
struct TDB {
|
||||||
pgsize_t pageSize;
|
char * fname;
|
||||||
tdb_db_t type;
|
char * dbname;
|
||||||
char * fname;
|
TDB_MPFILE *mpf;
|
||||||
char * dbname;
|
|
||||||
// union {
|
// union {
|
||||||
// TDB_BTREE *btree;
|
// TDB_BTREE *btree;
|
||||||
// TDB_HASH * hash;
|
// TDB_HASH * hash;
|
||||||
// TDB_HEAP * heap;
|
// TDB_HEAP * heap;
|
||||||
// } dbam; // db access method
|
// } dbam; // db access method
|
||||||
|
|
||||||
// TDB_FH * fhp; // The backup file handle
|
|
||||||
// TDB_MPOOL *mph; // The memory pool handle
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
int tdbOpen(TDB **dbpp, const char *fname, const char *dbname, uint32_t flags);
|
||||||
|
int tdbClose(TDB *dbp, uint32_t flags);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue