From c12fd89caec37093cd53ff567c61a5c4e39e9c3f Mon Sep 17 00:00:00 2001 From: hzcheng Date: Mon, 17 Feb 2020 11:00:12 +0000 Subject: [PATCH] more --- src/vnode/CMakeLists.txt | 9 ++++++--- src/vnode/common/CMakeLists.txt | 8 ++++++++ src/vnode/common/src/schema.c | 2 +- src/vnode/tsdb/CMakeLists.txt | 9 +++++++++ src/vnode/tsdb/inc/tsdb.h | 11 +++++++++-- src/vnode/tsdb/inc/tsdbCache.h | 17 ++++++++--------- src/vnode/tsdb/inc/tsdbFile.h | 5 +++-- src/vnode/tsdb/inc/tsdbMeta.h | 6 +++--- src/vnode/tsdb/src/tsdb.c | 9 +++++---- src/vnode/tsdb/src/tsdbFileStore.c | 2 +- src/vnode/tsdb/src/tsdbMeta.c | 5 +++-- 11 files changed, 56 insertions(+), 27 deletions(-) create mode 100644 src/vnode/common/CMakeLists.txt diff --git a/src/vnode/CMakeLists.txt b/src/vnode/CMakeLists.txt index 5a7b605cb8..92270a886f 100644 --- a/src/vnode/CMakeLists.txt +++ b/src/vnode/CMakeLists.txt @@ -1,4 +1,7 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) -PROJECT(TDengine) +cmake_minimum_required(VERSION 2.8) -ADD_SUBDIRECTORY(detail) \ No newline at end of file +project(tsdb) + +add_subdirectory(common) + +add_subdirectory(tsdb) \ No newline at end of file diff --git a/src/vnode/common/CMakeLists.txt b/src/vnode/common/CMakeLists.txt new file mode 100644 index 0000000000..38803c2421 --- /dev/null +++ b/src/vnode/common/CMakeLists.txt @@ -0,0 +1,8 @@ +aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/src SOURCE_LIST) + +list(REMOVE_ITEM SOURCE_LIST ${CMAKE_CURRENT_SOURCE_DIR}/src/vnodePeer.c) + +message(STATUS "Common source file ${SOURCE_LIST}") + +add_library(common ${SOURCE_LIST}) +target_include_directories(common PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/inc") diff --git a/src/vnode/common/src/schema.c b/src/vnode/common/src/schema.c index cf0664c7cc..79b41533d2 100644 --- a/src/vnode/common/src/schema.c +++ b/src/vnode/common/src/schema.c @@ -51,7 +51,7 @@ SISchema tdConvertSchemaToInline(SSchema *pSchema) { char *pName = TD_ISCHEMA_COL_NAMES(pISchema); for (int32_t i = 0; i < totalCols; i++) { SColumn *pCol = TD_SCHEMA_COLUMN_AT(TD_ISCHEMA_SCHEMA(pISchema), i); - char * colName = TD_COLUMN_NAME(TD_SCHEMA_COLUMN_AT(pSchema, i), i); + char * colName = TD_COLUMN_NAME(TD_SCHEMA_COLUMN_AT(pSchema, i)); TD_COLUMN_NAME(pCol) = pName; diff --git a/src/vnode/tsdb/CMakeLists.txt b/src/vnode/tsdb/CMakeLists.txt index e69de29bb2..4a88fbd7d6 100644 --- a/src/vnode/tsdb/CMakeLists.txt +++ b/src/vnode/tsdb/CMakeLists.txt @@ -0,0 +1,9 @@ +aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/src SOURCE_LIST) + +message(STATUS "tsdb source files: ${SOURCE_LIST}") + +add_library(tsdb STATIC ${SOURCE_LIST}) + +target_link_libraries(tsdb common) + +target_include_directories(tsdb PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/inc") \ No newline at end of file diff --git a/src/vnode/tsdb/inc/tsdb.h b/src/vnode/tsdb/inc/tsdb.h index 3842872910..b04f0148f0 100644 --- a/src/vnode/tsdb/inc/tsdb.h +++ b/src/vnode/tsdb/inc/tsdb.h @@ -8,7 +8,7 @@ #include #include -#include "cache.h" +// #include "cache.h" #include "schema.h" #define TSDB_VERSION_MAJOR 1 @@ -69,7 +69,7 @@ typedef struct { SDataShardPolicy dataShardPolicy; SBlockRowsPolicy blockRowsPolicy; SRetentionPolicy retentionPlicy; // retention configuration - SCachePool * cachePool; // the cache pool the repository to use + void * cachePool; // the cache pool the repository to use } STSDBCfg; // the TSDB repository info @@ -220,6 +220,9 @@ typedef struct STimeWindow { int64_t ekey; } STimeWindow; +typedef struct { +} SColumnFilterInfo; + // query condition to build vnode iterator typedef struct STSDBQueryCond { STimeWindow twindow; @@ -252,6 +255,10 @@ typedef struct STableIDList { int32_t num; } STableIDList; +typedef struct { + +} SFields; + /** * Get the data block iterator, starting from position according to the query condition * @param pRepo the TSDB repository to query on diff --git a/src/vnode/tsdb/inc/tsdbCache.h b/src/vnode/tsdb/inc/tsdbCache.h index b0993c1e09..049cdc0847 100644 --- a/src/vnode/tsdb/inc/tsdbCache.h +++ b/src/vnode/tsdb/inc/tsdbCache.h @@ -3,7 +3,7 @@ #include -#include "cache.h" +// #include "cache.h" #define TSDB_DEFAULT_CACHE_BLOCK_SIZE 16*1024*1024 /* 16M */ @@ -13,22 +13,21 @@ typedef struct { int32_t numOfRows // numOfRows } STableCacheInfo; -typedef struct { - char *pData; - STableCacheInfo *pTableInfo; - SCacheBlock *prev; - SCacheBlock *next; +typedef struct _tsdb_cache_block { + char * pData; + STableCacheInfo * pTableInfo; + struct _tsdb_cache_block *prev; + struct _tsdb_cache_block *next; } STSDBCacheBlock; // Use a doublely linked list to implement this typedef struct STSDBCache { // Number of blocks the cache is allocated - int32_t numOfBlocks; + int32_t numOfBlocks; STSDBCacheBlock *cacheList; - void * current; + void * current; } SCacheHandle; - // ---- Operation on STSDBCacheBlock #define TSDB_CACHE_BLOCK_DATA(pBlock) ((pBlock)->pData) #define TSDB_CACHE_AVAIL_SPACE(pBlock) ((char *)((pBlock)->pTableInfo) - ((pBlock)->pData)) diff --git a/src/vnode/tsdb/inc/tsdbFile.h b/src/vnode/tsdb/inc/tsdbFile.h index 91abea076f..02eb0c7881 100644 --- a/src/vnode/tsdb/inc/tsdbFile.h +++ b/src/vnode/tsdb/inc/tsdbFile.h @@ -1,7 +1,8 @@ #if !defined(_TD_TSDB_FILE_H_) #define _TD_TSDB_FILE_H_ -#include "tstring.h" +#include +// #include "tstring.h" typedef int32_t file_id_t; @@ -24,7 +25,7 @@ typedef struct { } SFileInfo; typedef struct { - tstring_t fname; + char * fname; SFileInfo fInfo; } SFILE; diff --git a/src/vnode/tsdb/inc/tsdbMeta.h b/src/vnode/tsdb/inc/tsdbMeta.h index 28bafa1dc8..588394459e 100644 --- a/src/vnode/tsdb/inc/tsdbMeta.h +++ b/src/vnode/tsdb/inc/tsdbMeta.h @@ -4,7 +4,7 @@ #include -#include "taosdef.h" +// #include "taosdef.h" // Initially, there are 4 tables #define TSDB_INIT_NUMBER_OF_SUPER_TABLE 4 @@ -30,7 +30,7 @@ typedef struct STable { // For TSDB_SUPER_TABLE, it is the schema including tags // For TSDB_NTABLE, it is only the schema, not including tags // For TSDB_STABLE, it is NULL - SVSchema *pSchema; + SSchema *pSchema; // Tag value for this table // For TSDB_SUPER_TABLE and TSDB_NTABLE, it is NULL @@ -75,7 +75,7 @@ typedef struct { #define TSDB_TABLE_CACHE_DATA(pTable) ((pTable)->content.pData) #define TSDB_SUPER_TABLE_INDEX(pTable) ((pTable)->content.pIndex) -SVSchema *tsdbGetTableSchema(STable *pTable); +SSchema *tsdbGetTableSchema(STable *pTable); // ---- Operation on SMetaHandle #define TSDB_NUM_OF_TABLES(pHandle) ((pHandle)->numOfTables) diff --git a/src/vnode/tsdb/src/tsdb.c b/src/vnode/tsdb/src/tsdb.c index d008794524..7e13e3183a 100644 --- a/src/vnode/tsdb/src/tsdb.c +++ b/src/vnode/tsdb/src/tsdb.c @@ -2,14 +2,15 @@ #include #include -#include "taosdef.h" +// #include "taosdef.h" // #include "disk.h" +#include "tsdb.h" #include "tsdbCache.h" #include "tsdbMeta.h" typedef struct STSDBRepo { // TSDB configuration - STSDBcfg *pCfg; + STSDBCfg *pCfg; // The meter meta handle of this TSDB repository SMetaHandle *pMetaHandle; @@ -18,12 +19,12 @@ typedef struct STSDBRepo { SCacheHandle *pCacheHandle; // Disk tier handle for multi-tier storage - SDiskTier *pDiskTier; + void *pDiskTier; // File Store void *pFileStore; - pthread_mutext_t tsdbMutex; + pthread_mutex_t tsdbMutex; } STSDBRepo; diff --git a/src/vnode/tsdb/src/tsdbFileStore.c b/src/vnode/tsdb/src/tsdbFileStore.c index f6cc959f8f..a47f2eb1e4 100644 --- a/src/vnode/tsdb/src/tsdbFileStore.c +++ b/src/vnode/tsdb/src/tsdbFileStore.c @@ -1,6 +1,6 @@ #include "tsdbFile.h" char *tsdbGetFileName(char *dirName, char *fname, TSDB_FILE_TYPE type){ - char *suffix = tsdbFileSuffix[type]; + // char *suffix = tsdbFileSuffix[type]; // TODO } \ No newline at end of file diff --git a/src/vnode/tsdb/src/tsdbMeta.c b/src/vnode/tsdb/src/tsdbMeta.c index 5bc82dfa10..9fad7b1269 100644 --- a/src/vnode/tsdb/src/tsdbMeta.c +++ b/src/vnode/tsdb/src/tsdbMeta.c @@ -1,6 +1,7 @@ #include -#include "taosdef.h" +// #include "taosdef.h" +#include "tsdb.h" #include "tsdbMeta.h" SMetaHandle *tsdbCreateMetaHandle(int32_t numOfTables) { @@ -11,7 +12,7 @@ SMetaHandle *tsdbCreateMetaHandle(int32_t numOfTables) { pMetahandle->numOfTables = 0; pMetahandle->numOfSuperTables = 0; - pMetahandle->pTables = calloc(sizeof(STable *) * numOfTables); + pMetahandle->pTables = calloc(sizeof(STable *), numOfTables); if (pMetahandle->pTables == NULL) { free(pMetahandle); return NULL; -- GitLab