more
This commit is contained in:
parent
416bbe569f
commit
c12fd89cae
|
@ -1,4 +1,7 @@
|
||||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
cmake_minimum_required(VERSION 2.8)
|
||||||
PROJECT(TDengine)
|
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(detail)
|
project(tsdb)
|
||||||
|
|
||||||
|
add_subdirectory(common)
|
||||||
|
|
||||||
|
add_subdirectory(tsdb)
|
|
@ -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")
|
|
@ -51,7 +51,7 @@ SISchema tdConvertSchemaToInline(SSchema *pSchema) {
|
||||||
char *pName = TD_ISCHEMA_COL_NAMES(pISchema);
|
char *pName = TD_ISCHEMA_COL_NAMES(pISchema);
|
||||||
for (int32_t i = 0; i < totalCols; i++) {
|
for (int32_t i = 0; i < totalCols; i++) {
|
||||||
SColumn *pCol = TD_SCHEMA_COLUMN_AT(TD_ISCHEMA_SCHEMA(pISchema), 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;
|
TD_COLUMN_NAME(pCol) = pName;
|
||||||
|
|
||||||
|
|
|
@ -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")
|
|
@ -8,7 +8,7 @@
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "cache.h"
|
// #include "cache.h"
|
||||||
#include "schema.h"
|
#include "schema.h"
|
||||||
|
|
||||||
#define TSDB_VERSION_MAJOR 1
|
#define TSDB_VERSION_MAJOR 1
|
||||||
|
@ -69,7 +69,7 @@ typedef struct {
|
||||||
SDataShardPolicy dataShardPolicy;
|
SDataShardPolicy dataShardPolicy;
|
||||||
SBlockRowsPolicy blockRowsPolicy;
|
SBlockRowsPolicy blockRowsPolicy;
|
||||||
SRetentionPolicy retentionPlicy; // retention configuration
|
SRetentionPolicy retentionPlicy; // retention configuration
|
||||||
SCachePool * cachePool; // the cache pool the repository to use
|
void * cachePool; // the cache pool the repository to use
|
||||||
} STSDBCfg;
|
} STSDBCfg;
|
||||||
|
|
||||||
// the TSDB repository info
|
// the TSDB repository info
|
||||||
|
@ -220,6 +220,9 @@ typedef struct STimeWindow {
|
||||||
int64_t ekey;
|
int64_t ekey;
|
||||||
} STimeWindow;
|
} STimeWindow;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
} SColumnFilterInfo;
|
||||||
|
|
||||||
// query condition to build vnode iterator
|
// query condition to build vnode iterator
|
||||||
typedef struct STSDBQueryCond {
|
typedef struct STSDBQueryCond {
|
||||||
STimeWindow twindow;
|
STimeWindow twindow;
|
||||||
|
@ -252,6 +255,10 @@ typedef struct STableIDList {
|
||||||
int32_t num;
|
int32_t num;
|
||||||
} STableIDList;
|
} STableIDList;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
|
||||||
|
} SFields;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the data block iterator, starting from position according to the query condition
|
* Get the data block iterator, starting from position according to the query condition
|
||||||
* @param pRepo the TSDB repository to query on
|
* @param pRepo the TSDB repository to query on
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "cache.h"
|
// #include "cache.h"
|
||||||
|
|
||||||
#define TSDB_DEFAULT_CACHE_BLOCK_SIZE 16*1024*1024 /* 16M */
|
#define TSDB_DEFAULT_CACHE_BLOCK_SIZE 16*1024*1024 /* 16M */
|
||||||
|
|
||||||
|
@ -13,22 +13,21 @@ typedef struct {
|
||||||
int32_t numOfRows // numOfRows
|
int32_t numOfRows // numOfRows
|
||||||
} STableCacheInfo;
|
} STableCacheInfo;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct _tsdb_cache_block {
|
||||||
char *pData;
|
char * pData;
|
||||||
STableCacheInfo *pTableInfo;
|
STableCacheInfo * pTableInfo;
|
||||||
SCacheBlock *prev;
|
struct _tsdb_cache_block *prev;
|
||||||
SCacheBlock *next;
|
struct _tsdb_cache_block *next;
|
||||||
} STSDBCacheBlock;
|
} STSDBCacheBlock;
|
||||||
|
|
||||||
// Use a doublely linked list to implement this
|
// Use a doublely linked list to implement this
|
||||||
typedef struct STSDBCache {
|
typedef struct STSDBCache {
|
||||||
// Number of blocks the cache is allocated
|
// Number of blocks the cache is allocated
|
||||||
int32_t numOfBlocks;
|
int32_t numOfBlocks;
|
||||||
STSDBCacheBlock *cacheList;
|
STSDBCacheBlock *cacheList;
|
||||||
void * current;
|
void * current;
|
||||||
} SCacheHandle;
|
} SCacheHandle;
|
||||||
|
|
||||||
|
|
||||||
// ---- Operation on STSDBCacheBlock
|
// ---- Operation on STSDBCacheBlock
|
||||||
#define TSDB_CACHE_BLOCK_DATA(pBlock) ((pBlock)->pData)
|
#define TSDB_CACHE_BLOCK_DATA(pBlock) ((pBlock)->pData)
|
||||||
#define TSDB_CACHE_AVAIL_SPACE(pBlock) ((char *)((pBlock)->pTableInfo) - ((pBlock)->pData))
|
#define TSDB_CACHE_AVAIL_SPACE(pBlock) ((char *)((pBlock)->pTableInfo) - ((pBlock)->pData))
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
#if !defined(_TD_TSDB_FILE_H_)
|
#if !defined(_TD_TSDB_FILE_H_)
|
||||||
#define _TD_TSDB_FILE_H_
|
#define _TD_TSDB_FILE_H_
|
||||||
|
|
||||||
#include "tstring.h"
|
#include <stdint.h>
|
||||||
|
// #include "tstring.h"
|
||||||
|
|
||||||
typedef int32_t file_id_t;
|
typedef int32_t file_id_t;
|
||||||
|
|
||||||
|
@ -24,7 +25,7 @@ typedef struct {
|
||||||
} SFileInfo;
|
} SFileInfo;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
tstring_t fname;
|
char * fname;
|
||||||
SFileInfo fInfo;
|
SFileInfo fInfo;
|
||||||
} SFILE;
|
} SFILE;
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
|
||||||
#include "taosdef.h"
|
// #include "taosdef.h"
|
||||||
|
|
||||||
// Initially, there are 4 tables
|
// Initially, there are 4 tables
|
||||||
#define TSDB_INIT_NUMBER_OF_SUPER_TABLE 4
|
#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_SUPER_TABLE, it is the schema including tags
|
||||||
// For TSDB_NTABLE, it is only the schema, not including tags
|
// For TSDB_NTABLE, it is only the schema, not including tags
|
||||||
// For TSDB_STABLE, it is NULL
|
// For TSDB_STABLE, it is NULL
|
||||||
SVSchema *pSchema;
|
SSchema *pSchema;
|
||||||
|
|
||||||
// Tag value for this table
|
// Tag value for this table
|
||||||
// For TSDB_SUPER_TABLE and TSDB_NTABLE, it is NULL
|
// 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_TABLE_CACHE_DATA(pTable) ((pTable)->content.pData)
|
||||||
#define TSDB_SUPER_TABLE_INDEX(pTable) ((pTable)->content.pIndex)
|
#define TSDB_SUPER_TABLE_INDEX(pTable) ((pTable)->content.pIndex)
|
||||||
|
|
||||||
SVSchema *tsdbGetTableSchema(STable *pTable);
|
SSchema *tsdbGetTableSchema(STable *pTable);
|
||||||
|
|
||||||
// ---- Operation on SMetaHandle
|
// ---- Operation on SMetaHandle
|
||||||
#define TSDB_NUM_OF_TABLES(pHandle) ((pHandle)->numOfTables)
|
#define TSDB_NUM_OF_TABLES(pHandle) ((pHandle)->numOfTables)
|
||||||
|
|
|
@ -2,14 +2,15 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "taosdef.h"
|
// #include "taosdef.h"
|
||||||
// #include "disk.h"
|
// #include "disk.h"
|
||||||
|
#include "tsdb.h"
|
||||||
#include "tsdbCache.h"
|
#include "tsdbCache.h"
|
||||||
#include "tsdbMeta.h"
|
#include "tsdbMeta.h"
|
||||||
|
|
||||||
typedef struct STSDBRepo {
|
typedef struct STSDBRepo {
|
||||||
// TSDB configuration
|
// TSDB configuration
|
||||||
STSDBcfg *pCfg;
|
STSDBCfg *pCfg;
|
||||||
|
|
||||||
// The meter meta handle of this TSDB repository
|
// The meter meta handle of this TSDB repository
|
||||||
SMetaHandle *pMetaHandle;
|
SMetaHandle *pMetaHandle;
|
||||||
|
@ -18,12 +19,12 @@ typedef struct STSDBRepo {
|
||||||
SCacheHandle *pCacheHandle;
|
SCacheHandle *pCacheHandle;
|
||||||
|
|
||||||
// Disk tier handle for multi-tier storage
|
// Disk tier handle for multi-tier storage
|
||||||
SDiskTier *pDiskTier;
|
void *pDiskTier;
|
||||||
|
|
||||||
// File Store
|
// File Store
|
||||||
void *pFileStore;
|
void *pFileStore;
|
||||||
|
|
||||||
pthread_mutext_t tsdbMutex;
|
pthread_mutex_t tsdbMutex;
|
||||||
|
|
||||||
} STSDBRepo;
|
} STSDBRepo;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#include "tsdbFile.h"
|
#include "tsdbFile.h"
|
||||||
|
|
||||||
char *tsdbGetFileName(char *dirName, char *fname, TSDB_FILE_TYPE type){
|
char *tsdbGetFileName(char *dirName, char *fname, TSDB_FILE_TYPE type){
|
||||||
char *suffix = tsdbFileSuffix[type];
|
// char *suffix = tsdbFileSuffix[type];
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "taosdef.h"
|
// #include "taosdef.h"
|
||||||
|
#include "tsdb.h"
|
||||||
#include "tsdbMeta.h"
|
#include "tsdbMeta.h"
|
||||||
|
|
||||||
SMetaHandle *tsdbCreateMetaHandle(int32_t numOfTables) {
|
SMetaHandle *tsdbCreateMetaHandle(int32_t numOfTables) {
|
||||||
|
@ -11,7 +12,7 @@ SMetaHandle *tsdbCreateMetaHandle(int32_t numOfTables) {
|
||||||
|
|
||||||
pMetahandle->numOfTables = 0;
|
pMetahandle->numOfTables = 0;
|
||||||
pMetahandle->numOfSuperTables = 0;
|
pMetahandle->numOfSuperTables = 0;
|
||||||
pMetahandle->pTables = calloc(sizeof(STable *) * numOfTables);
|
pMetahandle->pTables = calloc(sizeof(STable *), numOfTables);
|
||||||
if (pMetahandle->pTables == NULL) {
|
if (pMetahandle->pTables == NULL) {
|
||||||
free(pMetahandle);
|
free(pMetahandle);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue