Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
81ef708c
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
提交
81ef708c
编写于
5月 31, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more
上级
e0b4319b
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
60 addition
and
8 deletion
+60
-8
source/dnode/vnode/src/inc/tsdb.h
source/dnode/vnode/src/inc/tsdb.h
+4
-4
source/dnode/vnode/src/tsdb/tsdbMemTable2.c
source/dnode/vnode/src/tsdb/tsdbMemTable2.c
+56
-4
未找到文件。
source/dnode/vnode/src/inc/tsdb.h
浏览文件 @
81ef708c
...
...
@@ -32,6 +32,7 @@ extern "C" {
#define tsdbTrace(...) do { if (tsdbDebugFlag & DEBUG_TRACE) { taosPrintLog("TSDB ", DEBUG_TRACE, tsdbDebugFlag, __VA_ARGS__); }} while(0)
// clang-format on
typedef
struct
TSDBROW
TSDBROW
;
typedef
struct
TSDBKEY
TSDBKEY
;
typedef
struct
SDelOp
SDelOp
;
...
...
@@ -855,9 +856,9 @@ static FORCE_INLINE int tsdbUnLockFS(STsdbFS *pFs) {
return
0
;
}
struct
STsdbRow
{
int64_t
version
;
STSRow
r
ow
;
struct
TSDBROW
{
int64_t
version
;
STSRow
2
*
pR
ow
;
};
struct
TSDBKEY
{
...
...
@@ -869,7 +870,6 @@ struct SDelOp {
int64_t
version
;
TSKEY
sKey
;
// included
TSKEY
eKey
;
// included
SDelOp
*
pNext
;
};
#endif
...
...
source/dnode/vnode/src/tsdb/tsdbMemTable2.c
浏览文件 @
81ef708c
...
...
@@ -26,7 +26,7 @@ struct SMemData {
TSDBKEY
minKey
;
TSDBKEY
maxKey
;
int64_t
nRows
;
S
DelOp
*
pDelList
;
S
Array
*
aDelOp
;
// SArray<SDelOp>
};
struct
SMemTable
{
...
...
@@ -35,9 +35,11 @@ struct SMemTable {
TSDBKEY
minKey
;
TSDBKEY
maxKey
;
int64_t
nRows
;
SArray
*
pArray
;
SArray
*
pArray
;
// SArray<SMemData>
};
static
int32_t
tsdbGetOrCreateTbData
(
STsdb
*
pTsdb
,
tb_uid_t
suid
,
tb_uid_t
uid
,
SMemData
**
ppMemData
);
// SMemTable ==============================================
int32_t
tsdbMemTableCreate2
(
STsdb
*
pTsdb
,
SMemTable
**
ppMemTable
)
{
int32_t
code
=
0
;
...
...
@@ -69,11 +71,61 @@ _err:
}
void
tsdbMemTableDestroy2
(
SMemTable
*
pMemTable
)
{
ASSERT
(
0
);
taosArrayDestroyEx
(
pMemTable
->
pArray
,
NULL
/*TODO*/
);
taosMemoryFree
(
pMemTable
);
}
int32_t
tsdbInsertTableData2
(
STsdb
*
pTsdb
,
int64_t
version
,
SVSubmitBlk
*
pSubmitBlk
)
{
int32_t
code
=
0
;
SMemData
*
pMemData
;
// check if table exists
{
// TODO
}
code
=
tsdbGetOrCreateTbData
(
pTsdb
,
pSubmitBlk
->
suid
,
pSubmitBlk
->
uid
,
&
pMemData
);
if
(
code
)
{
tsdbError
(
"vgId:%d failed to create/get table data since %s"
,
TD_VID
(
pTsdb
->
pVnode
),
tstrerror
(
code
));
goto
_err
;
}
// do insert
return
code
;
_err:
return
code
;
}
int32_t
tsdbDeleteTableData2
(
STsdb
*
pTsdb
,
int64_t
version
,
tb_uid_t
suid
,
tb_uid_t
uid
,
TSKEY
sKey
,
TSKEY
eKey
)
{
int32_t
code
=
0
;
// TODO
return
code
;
}
static
int32_t
tsdbGetOrCreateTbData
(
STsdb
*
pTsdb
,
tb_uid_t
suid
,
tb_uid_t
uid
,
SMemData
**
ppMemData
)
{
int32_t
code
=
0
;
SMemData
*
pMemData
=
NULL
;
SMemTable
*
pMemTable
=
(
SMemTable
*
)
pTsdb
->
mem
;
// search
pMemData
=
(
SMemData
*
)
taosbsearch
(
NULL
,
pMemTable
->
pArray
->
pData
,
taosArrayGetSize
(
pMemTable
->
pArray
),
sizeof
(
SMemData
*
),
NULL
,
TD_GE
);
if
(
pMemData
==
NULL
)
{
// not found, create one
}
*
ppMemData
=
pMemData
;
return
code
;
_err:
*
ppMemData
=
NULL
;
return
code
;
}
#if 0
#if 0
//====================================================================================
#define SL_MAX_LEVEL 5
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录