提交 c12fd89c 编写于 作者: H hzcheng

more

上级 416bbe56
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
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")
......@@ -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;
......
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
......@@ -8,7 +8,7 @@
#include <stdbool.h>
#include <stdint.h>
#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
......
......@@ -3,7 +3,7 @@
#include <stdint.h>
#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))
......
#if !defined(_TD_TSDB_FILE_H_)
#define _TD_TSDB_FILE_H_
#include "tstring.h"
#include <stdint.h>
// #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;
......
......@@ -4,7 +4,7 @@
#include <pthread.h>
#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)
......
......@@ -2,14 +2,15 @@
#include <stdint.h>
#include <stdlib.h>
#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;
......
#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
#include <stdlib.h>
#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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册