Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
codyshao
TDengine
提交
366b07fb
T
TDengine
项目概览
codyshao
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
2
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
366b07fb
编写于
4月 18, 2020
作者:
H
hzcheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
TD-100
上级
c31c27a8
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
28 addition
and
62 deletion
+28
-62
src/common/src/dataformat.c
src/common/src/dataformat.c
+2
-35
src/tsdb/src/tsdbMain.c
src/tsdb/src/tsdbMain.c
+1
-1
src/tsdb/src/tsdbRWHelper.c
src/tsdb/src/tsdbRWHelper.c
+25
-26
未找到文件。
src/common/src/dataformat.c
浏览文件 @
366b07fb
...
...
@@ -415,39 +415,6 @@ int tdMergeDataCols(SDataCols *target, SDataCols *source, int rowsToMerge) {
int
iter1
=
0
;
int
iter2
=
0
;
tdMergeTwoDataCols
(
target
,
pTarget
,
&
iter1
,
source
,
&
iter2
,
pTarget
->
numOfPoints
+
rowsToMerge
);
// while (true) {
// if (iter1 >= pTarget->numOfPoints && iter2 >= source->numOfPoints) break;
// TSKEY key1 = (iter1 >= pTarget->numOfPoints) ? INT64_MAX : ((TSKEY *)(pTarget->cols[0].pData))[iter1];
// TSKEY key2 = (iter2 >= rowsToMerge) ? INT64_MAX : ((TSKEY *)(source->cols[0].pData))[iter2];
// if (key1 < key2) { // Copy from pTarget
// for (int i = 0; i < pTarget->numOfCols; i++) {
// ASSERT(target->cols[i].type == pTarget->cols[i].type);
// memcpy((void *)((char *)(target->cols[i].pData) + TYPE_BYTES[target->cols[i].type] * target->numOfPoints),
// (void *)((char *)(pTarget->cols[i].pData) + TYPE_BYTES[pTarget->cols[i].type] * iter1),
// TYPE_BYTES[target->cols[i].type]);
// target->cols[i].len += TYPE_BYTES[target->cols[i].type];
// }
// target->numOfPoints++;
// iter1++;
// } else if (key1 > key2) { // Copy from source
// for (int i = 0; i < source->numOfCols; i++) {
// ASSERT(target->cols[i].type == pTarget->cols[i].type);
// memcpy((void *)((char *)(target->cols[i].pData) + TYPE_BYTES[target->cols[i].type] * target->numOfPoints),
// (void *)((char *)(source->cols[i].pData) + TYPE_BYTES[source->cols[i].type] * iter2),
// TYPE_BYTES[target->cols[i].type]);
// target->cols[i].len += TYPE_BYTES[target->cols[i].type];
// }
// target->numOfPoints++;
// iter2++;
// } else {
// // TODO
// ASSERT(false);
// }
// }
tdFreeDataCols
(
pTarget
);
return
0
;
...
...
@@ -476,7 +443,7 @@ void tdMergeTwoDataCols(SDataCols *target, SDataCols *src1, int *iter1, SDataCol
}
target
->
numOfPoints
++
;
*
iter1
++
;
(
*
iter1
)
++
;
}
else
if
(
key1
>
key2
)
{
for
(
int
i
=
0
;
i
<
src2
->
numOfCols
;
i
++
)
{
ASSERT
(
target
->
cols
[
i
].
type
==
src2
->
cols
[
i
].
type
);
...
...
@@ -487,7 +454,7 @@ void tdMergeTwoDataCols(SDataCols *target, SDataCols *src1, int *iter1, SDataCol
}
target
->
numOfPoints
++
;
*
iter2
++
;
(
*
iter2
)
++
;
}
else
{
ASSERT
(
false
);
}
...
...
src/tsdb/src/tsdbMain.c
浏览文件 @
366b07fb
...
...
@@ -957,7 +957,7 @@ static int tsdbCommitToFile(STsdbRepo *pRepo, int fid, SSkipListIterator **iters
int
nLoop
=
0
;
while
(
true
)
{
int
rowsRead
=
tsdbReadRowsFromCache
(
pIter
,
maxKey
,
maxRowsToRead
,
pDataCols
);
ASSERT
(
rowsRead
>=
0
);
assert
(
rowsRead
>=
0
);
if
(
pDataCols
->
numOfPoints
==
0
)
break
;
nLoop
++
;
...
...
src/tsdb/src/tsdbRWHelper.c
浏览文件 @
366b07fb
...
...
@@ -20,7 +20,7 @@
// Local function definitions
static
int
tsdbCheckHelperCfg
(
SHelperCfg
*
pCfg
);
static
int
tsdbInitHelperFile
(
SRWHelper
*
pHelper
);
static
void
tsdbClearHelperFile
(
SHelperFile
*
pHFile
);
//
static void tsdbClearHelperFile(SHelperFile *pHFile);
static
bool
tsdbShouldCreateNewLast
(
SRWHelper
*
pHelper
);
static
int
tsdbWriteBlockToFile
(
SRWHelper
*
pHelper
,
SFile
*
pFile
,
SDataCols
*
pDataCols
,
int
rowsToWrite
,
SCompBlock
*
pCompBlock
,
bool
isLast
,
bool
isSuperBlock
);
...
...
@@ -615,31 +615,30 @@ static int tsdbCheckHelperCfg(SHelperCfg *pCfg) {
return
0
;
}
static
void
tsdbClearHelperFile
(
SHelperFile
*
pHFile
)
{
pHFile
->
fid
=
-
1
;
if
(
pHFile
->
headF
.
fd
>
0
)
{
close
(
pHFile
->
headF
.
fd
);
pHFile
->
headF
.
fd
=
-
1
;
}
if
(
pHFile
->
dataF
.
fd
>
0
)
{
close
(
pHFile
->
dataF
.
fd
);
pHFile
->
dataF
.
fd
=
-
1
;
}
if
(
pHFile
->
lastF
.
fd
>
0
)
{
close
(
pHFile
->
lastF
.
fd
);
pHFile
->
lastF
.
fd
=
-
1
;
}
if
(
pHFile
->
nHeadF
.
fd
>
0
)
{
close
(
pHFile
->
nHeadF
.
fd
);
pHFile
->
nHeadF
.
fd
=
-
1
;
}
if
(
pHFile
->
nLastF
.
fd
>
0
)
{
close
(
pHFile
->
nLastF
.
fd
);
pHFile
->
nLastF
.
fd
=
-
1
;
}
}
// static void tsdbClearHelperFile(SHelperFile *pHFile) {
// pHFile->fid = -1;
// if (pHFile->headF.fd > 0) {
// close(pHFile->headF.fd);
// pHFile->headF.fd = -1;
// }
// if (pHFile->dataF.fd > 0) {
// close(pHFile->dataF.fd);
// pHFile->dataF.fd = -1;
// }
// if (pHFile->lastF.fd > 0) {
// close(pHFile->lastF.fd);
// pHFile->lastF.fd = -1;
// }
// if (pHFile->nHeadF.fd > 0) {
// close(pHFile->nHeadF.fd);
// pHFile->nHeadF.fd = -1;
// }
// if (pHFile->nLastF.fd > 0) {
// close(pHFile->nLastF.fd);
// pHFile->nLastF.fd = -1;
// }
// }
static
bool
tsdbShouldCreateNewLast
(
SRWHelper
*
pHelper
)
{
ASSERT
(
pHelper
->
files
.
lastF
.
fd
>
0
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录