diff --git a/source/dnode/vnode/tsdb/inc/tsdbWriteBatch.h b/include/server/vnode/tsdb/impl/tsdbImpl.h
similarity index 74%
rename from source/dnode/vnode/tsdb/inc/tsdbWriteBatch.h
rename to include/server/vnode/tsdb/impl/tsdbImpl.h
index f6b761f6a5..15f611c703 100644
--- a/source/dnode/vnode/tsdb/inc/tsdbWriteBatch.h
+++ b/include/server/vnode/tsdb/impl/tsdbImpl.h
@@ -13,22 +13,21 @@
* along with this program. If not, see .
*/
-#ifndef _TD_TSDB_WRITE_BATCH_H_
-#define _TD_TSDB_WRITE_BATCH_H_
+#ifndef _TD_TSDB_IMPL_H_
+#define _TD_TSDB_IMPL_H_
+
+#include "os.h"
#ifdef __cplusplus
extern "C" {
#endif
-typedef struct STsdbWriteBatch STsdbWriteBatch;
-
-/* ------------------------- ------------------------- */
-struct STsdbWriteBatch {
- // TODO
+struct STsdbOptions {
+ /* TODO */
};
#ifdef __cplusplus
}
#endif
-#endif /*_TD_TSDB_WRITE_BATCH_H_*/
\ No newline at end of file
+#endif /*_TD_TSDB_IMPL_H_*/
\ No newline at end of file
diff --git a/include/server/vnode/tsdb/tsdb.h b/include/server/vnode/tsdb/tsdb.h
index 09cebc7bb6..949ac679ae 100644
--- a/include/server/vnode/tsdb/tsdb.h
+++ b/include/server/vnode/tsdb/tsdb.h
@@ -16,67 +16,24 @@
#ifndef _TD_TSDB_H_
#define _TD_TSDB_H_
-#include "os.h"
-#include "taosmsg.h"
+#include "impl/tsdbImpl.h"
#ifdef __cplusplus
extern "C" {
#endif
-// Types exported
-typedef struct STsdb STsdb;
-typedef struct STsdbOptions STsdbOptions;
-typedef struct STsdbSMAOptions STsdbSMAOptions; // SMA stands for Small Materialized Aggregation
-typedef struct STsdbReadOptions STsdbReadOptions;
-typedef struct STsdbSnapshot STsdbSnapshot;
-typedef struct STsdbQueryHandle STsdbQueryHandle;
+// TYPES EXPOSED
+typedef struct STsdb STsdb;
+typedef struct STsdbOptions STsdbOptions;
-// DB operations
-int tsdbCreate(const char *path);
-int tsdbDestroy(const char *path);
-STsdb *tsdbOpen(const STsdbOptions *options);
+// STsdb
+STsdb *tsdbOpen(const char *path, const STsdbOptions *);
void tsdbClose(STsdb *);
-int tsdbReset(STsdb *, const STsdbOptions *);
-int tsdbInsert(STsdb *, SSubmitReq *, SSubmitRsp *);
-int tsdbCommit(STsdb *);
-int tsdbCompact(STsdb *);
+void tsdbRemove(const char *path);
-// Options
-STsdbOptions *tsdbOptionsCreate();
-void tsdbOptionsDestroy(STsdbOptions *);
-void tsdbOptionsSetId(STsdbOptions *, int id);
-void tsdbOptionsSetHoursPerFile(STsdbOptions *, int hours);
-void tsdbOptionsSetRetention(STsdbOptions *, int keep, int keep1, int keep2);
-void tsdbOptionsSetMinAndMaxRows(STsdbOptions *, int minRows, int maxRows);
-void tsdbOptionsSetPrecision(STsdbOptions *, int);
-void tsdbOptionsSetCache(STsdbOptions *, int);
-typedef enum { TSDB_NO_UPDATE = 0, TSDB_WHOLE_ROW_UPDATE = 1, TSDB_PARTIAL_ROW_UPDATE = 2 } ETsdbUpdateType;
-void tsdbOptionsSetUpdate(STsdbOptions *, ETsdbUpdateType);
-void tsdbOptionsSetSMA(STsdbOptions *, STsdbSMAOptions *);
-
-// STsdbSMAOptions
-STsdbSMAOptions *tsdbSMAOptionsCreate();
-void tsdbSMAOptionsDestroy(STsdbSMAOptions *);
-// void tsdbSMAOptionsSetFuncs(STsdbSMAOptions *, SArray * /*Array of function to perform on each block*/);
-// void tsdbSMAOptionsSetIntervals(STsdbSMAOptions *, SArray *);
-// void tsdbSMAOptionsSetColTypes(STsdbSMAOptions *, SArray *);
-
-// STsdbQueryHandle
-STsdbQueryHandle *tsdbQueryHandleCreate(STsdb *, STsdbReadOptions *);
-void tsdbQueryHandleDestroy(STsdbQueryHandle *);
-void tsdbResetQueryHandle(STsdbQueryHandle *, STsdbReadOptions *);
-bool tsdbNextDataBlock(STsdbQueryHandle *);
-// void tsdbGetDataBlockInfo(STsdbQueryHandle *, SDataBlockInfo *);
-// void tsdbGetDataBlockStatisInfo(STsdbQueryHandle *, SDataStatis **);
-
-// STsdbReadOptions
-STsdbReadOptions *tsdbReadOptionsCreate();
-void tsdbReadOptionsDestroy(STsdbReadOptions *);
-void tsdbReadOptionsSetSnapshot(STsdbReadOptions *, STsdbSnapshot *);
-
-// STsdbSnapshot
-STsdbSnapshot *tsdbSnapshotCreate(STsdb *);
-void tsdbSnapshotDestroy(STsdbSnapshot *);
+// STsdbOptions
+int tsdbOptionsInit(STsdbOptions *);
+void tsdbOptionsClear(STsdbOptions *);
#ifdef __cplusplus
}
diff --git a/source/dnode/vnode/impl/src/vnodeCommit.c b/source/dnode/vnode/impl/src/vnodeCommit.c
index 3200411f4d..826589e8c9 100644
--- a/source/dnode/vnode/impl/src/vnodeCommit.c
+++ b/source/dnode/vnode/impl/src/vnodeCommit.c
@@ -19,6 +19,7 @@ static int vnodeStartCommit(SVnode *pVnode);
static int vnodeEndCommit(SVnode *pVnode);
int vnodeAsyncCommit(SVnode *pVnode) {
+ #if 0
if (vnodeStartCommit(pVnode) < 0) {
// TODO
}
@@ -39,6 +40,7 @@ int vnodeAsyncCommit(SVnode *pVnode) {
// TODO
}
+#endif
return 0;
}
diff --git a/source/dnode/vnode/tsdb/src/tsdb.c b/source/dnode/vnode/tsdb/inc/tsdbDef.h
similarity index 66%
rename from source/dnode/vnode/tsdb/src/tsdb.c
rename to source/dnode/vnode/tsdb/inc/tsdbDef.h
index 520c342a63..ebe0d6b4b0 100644
--- a/source/dnode/vnode/tsdb/src/tsdb.c
+++ b/source/dnode/vnode/tsdb/inc/tsdbDef.h
@@ -13,17 +13,23 @@
* along with this program. If not, see .
*/
-#include "tsdb.h"
-#include "tkv.h"
-#include "tsdbMemTable.h"
+#ifndef _TD_TSDB_DEF_H_
+#define _TD_TSDB_DEF_H_
+
+#include "tsdb.h"
+#include "tsdbOptions.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
-/* -------------- -------------- */
struct STsdb {
- STkvDb *tsdb; // original time-series data
- STkvDb *lrowdb; // last row cache
- STkvDb *lastdb; // last cache
- STkvDb *fivemindb;
+ char * path;
+ STsdbOptions options;
};
-int tsdbInsert(STsdb *tsdb, SSubmitReq *pReq, SSubmitRsp *pRsp) { return 0; }
-int tsdbCommit(STsdb *pTsdb) { return 0; }
\ No newline at end of file
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*_TD_TSDB_DEF_H_*/
\ No newline at end of file
diff --git a/source/dnode/vnode/tsdb/inc/tsdbMemTable.h b/source/dnode/vnode/tsdb/inc/tsdbMemTable.h
deleted file mode 100644
index 5d1dcfcac7..0000000000
--- a/source/dnode/vnode/tsdb/inc/tsdbMemTable.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2019 TAOS Data, Inc.
- *
- * This program is free software: you can use, redistribute, and/or modify
- * it under the terms of the GNU Affero General Public License, version 3
- * or later ("AGPL"), as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
-
-#ifndef _TD_TSDB_MEMTABLE_H_
-#define _TD_TSDB_MEMTABLE_H_
-
-#include "tdef.h"
-#include "thash.h"
-#include "amalloc.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct STsdbMemTable STsdbMemTable;
-
-STsdbMemTable *tsdbMemTableCreate(SMemAllocator *);
-void tsdbMemTableDestroy(STsdbMemTable *);
-int tsdbMemTableWriteBatch(STsdbMemTable *pTsdbMemTable, void *batch);
-
-/* --------------------- For compile and test only --------------------- */
-struct STsdbMemTable {
- TSKEY minKey;
- TSKEY maxKey;
- SHashObj * tData; // uid --> SSkipList
- SMemAllocator *ma;
- T_REF_DECLARE()
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /*_TD_TSDB_MEMTABLE_H_*/
\ No newline at end of file
diff --git a/source/dnode/vnode/tsdb/inc/tsdbInt.h b/source/dnode/vnode/tsdb/inc/tsdbOptions.h
similarity index 89%
rename from source/dnode/vnode/tsdb/inc/tsdbInt.h
rename to source/dnode/vnode/tsdb/inc/tsdbOptions.h
index b9ee525a9d..4d6a250424 100644
--- a/source/dnode/vnode/tsdb/inc/tsdbInt.h
+++ b/source/dnode/vnode/tsdb/inc/tsdbOptions.h
@@ -13,8 +13,8 @@
* along with this program. If not, see .
*/
-#ifndef _TD_TSDB_INT_H_
-#define _TD_TSDB_INT_H_
+#ifndef _TD_TSDB_OPTIONS_H_
+#define _TD_TSDB_OPTIONS_H_
#ifdef __cplusplus
extern "C" {
@@ -24,4 +24,4 @@ extern "C" {
}
#endif
-#endif /*_TD_TSDB_INT_H_*/
\ No newline at end of file
+#endif /*_TD_TSDB_OPTIONS_H_*/
\ No newline at end of file
diff --git a/source/dnode/vnode/tsdb/src/tsdbMain.c b/source/dnode/vnode/tsdb/src/tsdbMain.c
new file mode 100644
index 0000000000..61e887dd45
--- /dev/null
+++ b/source/dnode/vnode/tsdb/src/tsdbMain.c
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) 2019 TAOS Data, Inc.
+ *
+ * This program is free software: you can use, redistribute, and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3
+ * or later ("AGPL"), as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+#include "tsdbDef.h"
\ No newline at end of file
diff --git a/source/dnode/vnode/tsdb/src/tsdbMemTable.c b/source/dnode/vnode/tsdb/src/tsdbMemTable.c
deleted file mode 100644
index 9fd815155f..0000000000
--- a/source/dnode/vnode/tsdb/src/tsdbMemTable.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2019 TAOS Data, Inc.
- *
- * This program is free software: you can use, redistribute, and/or modify
- * it under the terms of the GNU Affero General Public License, version 3
- * or later ("AGPL"), as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see .
- */
-
-#include "tsdbMemTable.h"
-
-STsdbMemTable *tsdbMemTableCreate(SMemAllocator *ma) {
- STsdbMemTable *pTsdbMemTable = NULL;
-
- pTsdbMemTable = (STsdbMemTable *)malloc(sizeof(*pTsdbMemTable));
- if (pTsdbMemTable == NULL) {
- return NULL;
- }
-
- // TODO
- pTsdbMemTable->minKey = TSKEY_INITIAL_VAL;
- pTsdbMemTable->maxKey = TSKEY_INITIAL_VAL;
- pTsdbMemTable->ma = ma;
- pTsdbMemTable->tData = taosHashInit(1024, taosIntHash_64, true /* TODO */, HASH_NO_LOCK);
- if (pTsdbMemTable->tData == NULL) {
- // TODO
- }
-
- return pTsdbMemTable;
-}
-
-void tsdbMemTableDestroy(STsdbMemTable *pTsdbMemTable) {
- if (pTsdbMemTable) {
- // TODO
- free(pTsdbMemTable);
- }
-}
-
-int tsdbMemTableWriteBatch(STsdbMemTable *pTsdbMemTable, void *batch) {
- // TODO
-
- return 0;
-}
\ No newline at end of file
diff --git a/source/dnode/vnode/tsdb/src/tsdbSMA.c b/source/dnode/vnode/tsdb/src/tsdbOptions.c
similarity index 99%
rename from source/dnode/vnode/tsdb/src/tsdbSMA.c
rename to source/dnode/vnode/tsdb/src/tsdbOptions.c
index f2f48bbc8a..6dea4a4e57 100644
--- a/source/dnode/vnode/tsdb/src/tsdbSMA.c
+++ b/source/dnode/vnode/tsdb/src/tsdbOptions.c
@@ -11,4 +11,4 @@
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
- */
+ */
\ No newline at end of file