Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
4d6bf767
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
4d6bf767
编写于
2月 12, 2020
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more
上级
472d52a2
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
88 addition
and
32 deletion
+88
-32
src/vnode/tsdb/inc/tsdbCache.h
src/vnode/tsdb/inc/tsdbCache.h
+2
-2
src/vnode/tsdb/inc/tsdbMeta.h
src/vnode/tsdb/inc/tsdbMeta.h
+7
-1
src/vnode/tsdb/src/tsdb.c
src/vnode/tsdb/src/tsdb.c
+40
-27
src/vnode/tsdb/src/tsdbCache.c
src/vnode/tsdb/src/tsdbCache.c
+15
-0
src/vnode/tsdb/src/tsdbMeta.c
src/vnode/tsdb/src/tsdbMeta.c
+24
-2
未找到文件。
src/vnode/tsdb/inc/tsdbCache.h
浏览文件 @
4d6bf767
...
@@ -24,7 +24,7 @@ typedef struct {
...
@@ -24,7 +24,7 @@ typedef struct {
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
;
S
DList
*
cacheList
;
S
TSDBCacheBlock
*
cacheList
;
void
*
current
;
void
*
current
;
}
SCacheHandle
;
}
SCacheHandle
;
...
@@ -36,6 +36,6 @@ typedef struct STSDBCache {
...
@@ -36,6 +36,6 @@ typedef struct STSDBCache {
#define TSDB_NEXT_CACHE_BLOCK(pBlock) ((pBlock)->next)
#define TSDB_NEXT_CACHE_BLOCK(pBlock) ((pBlock)->next)
#define TSDB_PREV_CACHE_BLOCK(pBlock) ((pBlock)->prev)
#define TSDB_PREV_CACHE_BLOCK(pBlock) ((pBlock)->prev)
S
TSDBCache
*
tsdbCreateCache
(
);
S
CacheHandle
*
tsdbCreateCache
(
int32_t
numOfBlocks
);
#endif // _TD_TSDBCACHE_H_
#endif // _TD_TSDBCACHE_H_
src/vnode/tsdb/inc/tsdbMeta.h
浏览文件 @
4d6bf767
...
@@ -81,4 +81,10 @@ SVSchema *tsdbGetTableSchema(STable *pTable);
...
@@ -81,4 +81,10 @@ SVSchema *tsdbGetTableSchema(STable *pTable);
#define TSDB_NUM_OF_TABLES(pHandle) ((pHandle)->numOfTables)
#define TSDB_NUM_OF_TABLES(pHandle) ((pHandle)->numOfTables)
#define TSDB_NUM_OF_SUPER_TABLES(pHandle) ((pHandle)->numOfSuperTables)
#define TSDB_NUM_OF_SUPER_TABLES(pHandle) ((pHandle)->numOfSuperTables)
#define TSDB_TABLE_OF_ID(pHandle, id) ((pHandle)->pTables)[id]
#define TSDB_TABLE_OF_ID(pHandle, id) ((pHandle)->pTables)[id]
#define TSDB_GET_TABLE_OF_NAME(pHandle, name)
/* TODO */
#define TSDB_GET_TABLE_OF_NAME(pHandle, name)
/* TODO */
\ No newline at end of file
// Create a new meta handle with configuration
SMetaHandle
*
tsdbCreateMetaHandle
(
int32_t
numOfTables
);
// Recover the meta handle from the file
SMetaHandle
*
tsdbOpenMetaHandle
(
int
fd
);
src/vnode/tsdb/src/tsdb.c
浏览文件 @
4d6bf767
#include <stdint.h>
#include <stdint.h>
#include <pthread.h>
#include <pthread.h>
#include <stdlib.h>
#include "tsdb.h"
#include "tsdb.h"
#include "disk.h"
//
#include "disk.h"
#include "tsdbMeta.h"
#include "tsdbMeta.h"
#include "tsdbCache.h"
#include "tsdbCache.h"
...
@@ -17,34 +18,10 @@ typedef struct STSDBRepo
...
@@ -17,34 +18,10 @@ typedef struct STSDBRepo
// The cache Handle
// The cache Handle
SCacheHandle
*
pCacheHandle
;
SCacheHandle
*
pCacheHandle
;
// Disk tier handle for multi-tier storage
/* Disk tier handle for multi-tier storage
*
* The handle is responsible for dealing with object-oriented
* storage.
*/
SDiskTier
*
pDiskTier
;
SDiskTier
*
pDiskTier
;
/* Cache block list
// File Store
*/
SCacheBlock
*
pCacheBloclList
;
/* Map from tableId-->STable
*/
STable
*
pTableList
;
/* Map from tableName->tableId
* TODO: may use dict
*/
void
*
pTableDict
;
/* Map from super tableName->table
* TODO: may use dict
*/
void
*
pSTableDict
;
/* File Store
*/
void
*
pFileStore
;
void
*
pFileStore
;
pthread_mutext_t
tsdbMutex
;
pthread_mutext_t
tsdbMutex
;
...
@@ -53,3 +30,39 @@ typedef struct STSDBRepo
...
@@ -53,3 +30,39 @@ typedef struct STSDBRepo
#define TSDB_GET_TABLE_BY_ID(pRepo, sid) (((STSDBRepo *)pRepo)->pTableList)[sid]
#define TSDB_GET_TABLE_BY_ID(pRepo, sid) (((STSDBRepo *)pRepo)->pTableList)[sid]
#define TSDB_GET_TABLE_BY_NAME(pRepo, name)
#define TSDB_GET_TABLE_BY_NAME(pRepo, name)
// Check the correctness of the TSDB configuration
static
int32_t
tsdbCheckCfg
(
STSDBCfg
*
pCfg
)
{
// TODO
return
0
;
}
tsdb_repo_t
*
tsdbCreateRepo
(
STSDBCfg
*
pCfg
,
int32_t
*
error
)
{
int32_t
err
=
0
;
err
=
tsdbCheckCfg
(
pCfg
);
if
(
err
!=
0
)
{
// TODO: deal with the error here
}
STSDBRepo
*
pRepo
=
(
STSDBRepo
*
)
malloc
(
sizeof
(
STSDBRepo
));
if
(
pRepo
==
NULL
)
{
// TODO: deal with error
}
// TODO: Initailize pMetahandle
pRepo
->
pMetaHandle
=
tsdbCreateMetaHandle
(
pCfg
->
maxTables
);
if
(
pRepo
->
pMetaHandle
==
NULL
)
{
// TODO: deal with error
free
(
pRepo
);
return
NULL
;
}
// TODO: Initialize cache handle
pRepo
->
pCacheHandle
=
tsdbCreateCache
(
5
);
if
(
pRepo
->
pCacheHandle
==
NULL
)
{
// TODO: free the object and return error
return
NULL
;
}
return
(
tsdb_repo_t
*
)
pRepo
;
}
\ No newline at end of file
src/vnode/tsdb/src/tsdbCache.c
浏览文件 @
4d6bf767
#include <stdlib.h>
#include "tsdbCache.h"
SCacheHandle
*
tsdbCreateCache
(
int32_t
numOfBlocks
)
{
SCacheHandle
*
pCacheHandle
=
(
SCacheHandle
*
)
malloc
(
sizeof
(
SCacheHandle
));
if
(
pCacheHandle
==
NULL
)
{
// TODO : deal with the error
return
NULL
;
}
return
pCacheHandle
;
}
\ No newline at end of file
src/vnode/tsdb/src/tsdbMeta.c
浏览文件 @
4d6bf767
#include <stdlib.h>
#include "tsdb.h"
#include "tsdb.h"
#include "tsdbMeta.h"
#include "tsdbMeta.h"
SVSchema
*
tsdbGetTableSchema
(
STable
*
pTable
)
{
SMetaHandle
*
tsdbCreateMetaHandle
(
int32_t
numOfTables
)
{
SMetaHandle
*
pMetahandle
=
(
SMetaHandle
*
)
malloc
(
sizeof
(
SMetaHandle
));
if
(
pMetahandle
==
NULL
)
{
return
NULL
;
}
pMetahandle
->
numOfTables
=
0
;
pMetahandle
->
numOfSuperTables
=
0
;
pMetahandle
->
pTables
=
calloc
(
sizeof
(
STable
*
)
*
numOfTables
);
if
(
pMetahandle
->
pTables
==
NULL
)
{
free
(
pMetahandle
);
return
NULL
;
}
}
// TODO : initialize the map
// pMetahandle->pNameTableMap = ;
if
(
pMetahandle
->
pNameTableMap
==
NULL
)
{
free
(
pMetahandle
->
pTables
);
free
(
pMetahandle
);
return
NULL
;
}
return
pMetahandle
;
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录