Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
915e9a8a
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
915e9a8a
编写于
12月 01, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
adjust more code
上级
7765f542
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
36 addition
and
15 deletion
+36
-15
source/dnode/vnode/src/tsdb/tsdbMemTable.c
source/dnode/vnode/src/tsdb/tsdbMemTable.c
+36
-15
未找到文件。
source/dnode/vnode/src/tsdb/tsdbMemTable.c
浏览文件 @
915e9a8a
...
...
@@ -602,18 +602,23 @@ static int32_t tsdbInsertColDataToTable(SMemTable *pMemTable, STbData *pTbData,
pBlockData
->
nColData
=
nColData
-
1
;
for
(
int32_t
iColData
=
1
;
iColData
<
nColData
;
++
iColData
)
{
// todo
}
// loop to add each row to the skiplist
TSDBKEY
key
=
{.
version
=
version
};
SMemSkipListNode
*
pos
[
SL_MAX_LEVEL
];
TSDBROW
tRow
=
{.
type
=
TSDBROW_COL_FMT
,
.
pBlockData
=
pBlockData
};
TSDBROW
tRow
=
tsdbRowFromBlockData
(
pBlockData
,
0
);
TSDBKEY
key
=
{.
version
=
version
,
.
ts
=
pBlockData
->
aTSKEY
[
0
]};
TSDBROW
lRow
;
// last row
// first row
tbDataMovePosTo
(
pTbData
,
pos
,
&
key
,
SL_MOVE_BACKWARD
);
code
=
tbDataDoPut
(
pMemTable
,
pTbData
,
pos
,
&
tRow
,
0
);
if
(
code
)
goto
_exit
;
if
((
code
=
tbDataDoPut
(
pMemTable
,
pTbData
,
pos
,
&
tRow
,
0
)))
goto
_exit
;
pTbData
->
minKey
=
TMIN
(
pTbData
->
minKey
,
key
.
ts
);
lRow
=
tRow
;
tRow
.
iRow
++
;
// remain row
++
tRow
.
iRow
;
if
(
tRow
.
iRow
<
pBlockData
->
nRow
)
{
for
(
int8_t
iLevel
=
pos
[
0
]
->
level
;
iLevel
<
pTbData
->
sl
.
maxLevel
;
iLevel
++
)
{
pos
[
iLevel
]
=
SL_NODE_BACKWARD
(
pos
[
iLevel
],
iLevel
);
...
...
@@ -626,13 +631,32 @@ static int32_t tsdbInsertColDataToTable(SMemTable *pMemTable, STbData *pTbData,
tbDataMovePosTo
(
pTbData
,
pos
,
&
key
,
SL_MOVE_FROM_POS
);
}
code
=
tbDataDoPut
(
pMemTable
,
pTbData
,
pos
,
&
tRow
,
0
)
;
if
(
code
)
goto
_exit
;
if
((
code
=
tbDataDoPut
(
pMemTable
,
pTbData
,
pos
,
&
tRow
,
0
)))
goto
_exit
;
lRow
=
tRow
;
tRow
.
iRow
++
;
++
tRow
.
iRow
;
}
}
if
(
key
.
ts
>=
pTbData
->
maxKey
)
{
pTbData
->
maxKey
=
key
.
ts
;
// if (TSDB_CACHE_LAST_ROW(pMemTable->pTsdb->pVnode->config) && pLastRow != NULL) {
// tsdbCacheInsertLastrow(pMemTable->pTsdb->lruCache, pMemTable->pTsdb, pTbData->uid, pLastRow, true);
// }
}
if
(
TSDB_CACHE_LAST
(
pMemTable
->
pTsdb
->
pVnode
->
config
))
{
// tsdbCacheInsertLast(pMemTable->pTsdb->lruCache, pTbData->uid, pLastRow, pMemTable->pTsdb);
}
// SMemTable
pMemTable
->
minKey
=
TMIN
(
pMemTable
->
minKey
,
pTbData
->
minKey
);
pMemTable
->
maxKey
=
TMAX
(
pMemTable
->
maxKey
,
pTbData
->
maxKey
);
pMemTable
->
nRow
+=
pBlockData
->
nRow
;
if
(
affectedRows
)
*
affectedRows
=
pBlockData
->
nRow
;
_exit:
return
code
;
}
...
...
@@ -650,9 +674,8 @@ static int32_t tsdbInsertRowDataToTable(SMemTable *pMemTable, STbData *pTbData,
SRow
*
pLastRow
=
NULL
;
// backward put first data
tRow
.
pTSRow
=
aRow
[
iRow
];
key
.
ts
=
aRow
[
iRow
]
->
ts
;
iRow
++
;
tRow
.
pTSRow
=
aRow
[
iRow
++
];
key
.
ts
=
tRow
.
pTSRow
->
ts
;
tbDataMovePosTo
(
pTbData
,
pos
,
&
key
,
SL_MOVE_BACKWARD
);
code
=
tbDataDoPut
(
pMemTable
,
pTbData
,
pos
,
&
tRow
,
0
);
if
(
code
)
goto
_exit
;
...
...
@@ -668,7 +691,7 @@ static int32_t tsdbInsertRowDataToTable(SMemTable *pMemTable, STbData *pTbData,
}
while
(
iRow
<
nRow
)
{
tRow
.
pTSRow
=
aRow
[
iRow
];
tRow
.
pTSRow
=
aRow
[
iRow
++
];
key
.
ts
=
tRow
.
pTSRow
->
ts
;
if
(
SL_NODE_FORWARD
(
pos
[
0
],
0
)
!=
pTbData
->
sl
.
pTail
)
{
...
...
@@ -685,9 +708,7 @@ static int32_t tsdbInsertRowDataToTable(SMemTable *pMemTable, STbData *pTbData,
}
if
(
key
.
ts
>=
pTbData
->
maxKey
)
{
if
(
key
.
ts
>
pTbData
->
maxKey
)
{
pTbData
->
maxKey
=
key
.
ts
;
}
pTbData
->
maxKey
=
key
.
ts
;
if
(
TSDB_CACHE_LAST_ROW
(
pMemTable
->
pTsdb
->
pVnode
->
config
)
&&
pLastRow
!=
NULL
)
{
tsdbCacheInsertLastrow
(
pMemTable
->
pTsdb
->
lruCache
,
pMemTable
->
pTsdb
,
pTbData
->
uid
,
pLastRow
,
true
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录