Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
bed8890f
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
bed8890f
编写于
4月 08, 2020
作者:
H
hzcheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
TD-100
上级
253c7e64
变更
3
展开全部
显示空白变更内容
内联
并排
Showing
3 changed file
with
134 addition
and
539 deletion
+134
-539
src/vnode/tsdb/inc/tsdbMain.h
src/vnode/tsdb/inc/tsdbMain.h
+13
-22
src/vnode/tsdb/src/tsdbMain.c
src/vnode/tsdb/src/tsdbMain.c
+4
-6
src/vnode/tsdb/src/tsdbRWHelper.c
src/vnode/tsdb/src/tsdbRWHelper.c
+117
-511
未找到文件。
src/vnode/tsdb/inc/tsdbMain.h
浏览文件 @
bed8890f
...
...
@@ -385,10 +385,11 @@ typedef struct {
SHelperFile
files
;
SHelperTable
tableInfo
;
SCompIdx
compIdx
;
// SCompIdx of current table
// ---------- For read purpose
int8_t
state
;
// current loading state
// Information in .head file
SCompIdx
*
pCompIdx
;
size_t
compIdxSize
;
...
...
@@ -396,31 +397,22 @@ typedef struct {
size_t
compInfoSize
;
int
blockIter
;
// For write purpose
// Information in .data or .last file
SCompData
*
pCompData
;
size_t
compDataSize
;
SDataCols
*
pDataCols
[
2
];
// ---------- For read purpose
bool
hasLast
;
int
newBlocks
;
SCompIdx
*
pWCompIdx
;
size_t
wCompIdxSize
;
SCompInfo
*
pWCompInfo
;
size_t
wCompInfoSize
;
SCompData
*
pWCompData
;
size_t
wCompDataSize
;
// Compression buffer
void
*
cBuffer
;
size_t
cBufSize
;
}
SRWHelper
;
// --------- Helper state
#define TSDB_HELPER_CLEAR_STATE 0x0 // Clear state
#define TSDB_HELPER_FILE_SET 0x1 // File is set
#define TSDB_HELPER_FILE_OPEN 0x2 // File is opened
#define TSDB_HELPER_IDX_LOAD 0x4 // SCompIdx part is loaded
#define TSDB_HELPER_FILE_SET_AND_OPEN 0x1 // File is set
#define TSDB_HELPER_IDX_LOAD 0x2 // SCompIdx part is loaded
#define TSDB_HELPER_TABLE_SET 0x4 // Table is set
#define TSDB_HELPER_INFO_LOAD 0x8 // SCompInfo part is loaded
#define TSDB_HELPER_FILE_DATA_LOAD 0x10 // SCompData part is loaded
...
...
@@ -435,8 +427,7 @@ void tsdbDestroyHelper(SRWHelper *pHelper);
void
tsdbClearHelper
(
SRWHelper
*
pHelper
);
// --------- For set operations
int
tsdbSetHelperFile
(
SRWHelper
*
pHelper
,
SFileGroup
*
pGroup
);
int
tsdbOpenHelperFile
(
SRWHelper
*
pHelper
);
int
tsdbSetAndOpenHelperFile
(
SRWHelper
*
pHelper
,
SFileGroup
*
pGroup
);
void
tsdbSetHelperTable
(
SRWHelper
*
pHelper
,
SHelperTable
*
pHelperTable
,
STSchema
*
pSchema
);
int
tsdbCloseHelperFile
(
SRWHelper
*
pHelper
,
bool
hasError
);
...
...
src/vnode/tsdb/src/tsdbMain.c
浏览文件 @
bed8890f
...
...
@@ -889,23 +889,20 @@ static int tsdbCommitToFile(STsdbRepo *pRepo, int fid, SSkipListIterator **iters
tsdbGetDataDirName
(
pRepo
,
dataDir
);
if
((
pGroup
=
tsdbCreateFGroup
(
pFileH
,
dataDir
,
fid
,
pCfg
->
maxTables
))
==
NULL
)
goto
_err
;
// Set the file to write/read
tsdbSetHelperFile
(
pHelper
,
pGroup
);
// Open files for write/read
if
(
tsdb
OpenHelperFile
(
pHelper
)
<
0
)
goto
_err
;
if
(
tsdb
SetAndOpenHelperFile
(
pHelper
,
pGroup
)
<
0
)
goto
_err
;
// Loop to commit data in each table
for
(
int
tid
=
0
;
tid
<
pCfg
->
maxTables
;
tid
++
)
{
STable
*
pTable
=
pMeta
->
tables
[
tid
];
SSkipListIterator
*
pIter
=
iters
[
tid
];
// Set the helper and the buffer dataCols object to help to write this table
SHelperTable
hTable
=
{.
uid
=
pTable
->
tableId
.
uid
,
.
tid
=
pTable
->
tableId
.
tid
,
.
sversion
=
pTable
->
sversion
};
tsdbSetHelperTable
(
pHelper
,
&
hTable
,
tsdbGetTableSchema
(
pMeta
,
pTable
));
tdInitDataCols
(
pDataCols
,
tsdbGetTableSchema
(
pMeta
,
pTable
));
// Loop to write the data in the cache to files, if no data to write, just break
// the loop
// Loop to write the data in the cache to files. If no data to write, just break the loop
int
maxRowsToRead
=
pCfg
->
maxRowsPerFileBlock
*
4
/
5
;
while
(
true
)
{
int
rowsRead
=
tsdbReadRowsFromCache
(
pIter
,
maxKey
,
maxRowsToRead
,
pDataCols
);
...
...
@@ -939,6 +936,7 @@ static int tsdbCommitToFile(STsdbRepo *pRepo, int fid, SSkipListIterator **iters
return
0
;
_err:
ASSERT
(
false
);
tsdbCloseHelperFile
(
pHelper
,
1
);
return
-
1
;
}
...
...
src/vnode/tsdb/src/tsdbRWHelper.c
浏览文件 @
bed8890f
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录