Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
63f03cfa
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看板
提交
63f03cfa
编写于
12月 15, 2021
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more work
上级
d68899e5
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
34 addition
and
5 deletion
+34
-5
source/dnode/vnode/tsdb/inc/tsdbDef.h
source/dnode/vnode/tsdb/inc/tsdbDef.h
+2
-0
source/dnode/vnode/tsdb/src/tsdbMemTable.c
source/dnode/vnode/tsdb/src/tsdbMemTable.c
+32
-5
未找到文件。
source/dnode/vnode/tsdb/inc/tsdbDef.h
浏览文件 @
63f03cfa
...
...
@@ -18,7 +18,9 @@
#include "mallocator.h"
#include "taosmsg.h"
#include "tdlist.h"
#include "thash.h"
#include "tskiplist.h"
#include "tsdb.h"
#include "tsdbMemTable.h"
...
...
source/dnode/vnode/tsdb/src/tsdbMemTable.c
浏览文件 @
63f03cfa
...
...
@@ -15,14 +15,32 @@
#include "tsdbDef.h"
#if 1
typedef
struct
STbData
{
TD_SLIST_NODE
(
STbData
);
SSubmitMsg
*
pMsg
;
}
STbData
;
#else
typedef
struct
STbData
{
TD_SLIST_NODE
(
STbData
);
uint64_t
uid
;
// TODO: change here as tb_uid_t
TSKEY
keyMin
;
TSKEY
keyMax
;
uint64_t
nRows
;
SSkipList
*
pData
;
// Here need a container, may not use the SL
T_REF_DECLARE
()
}
STbData
;
#endif
struct
STsdbMemTable
{
T_REF_DECLARE
()
SRWLatch
latch
;
TSKEY
keyMin
;
TSKEY
keyMax
;
uint32_t
nRow
;
SHashObj
*
pHash
;
uint64_t
nRow
;
SMemAllocator
*
pMA
;
// Container
TD_SLIST
(
STbData
)
list
;
};
STsdbMemTable
*
tsdbNewMemTable
(
SMemAllocatorFactory
*
pMAF
)
{
...
...
@@ -43,8 +61,8 @@ STsdbMemTable *tsdbNewMemTable(SMemAllocatorFactory *pMAF) {
pMemTable
->
keyMin
=
TSKEY_MAX
;
pMemTable
->
keyMax
=
TSKEY_MIN
;
pMemTable
->
nRow
=
0
;
pMemTable
->
pHash
=
NULL
;
/// TODO
pMemTable
->
pMA
=
pMA
;
tSListInit
(
&
(
pMemTable
->
list
));
// TODO
return
pMemTable
;
...
...
@@ -62,6 +80,15 @@ void tsdbFreeMemTable(SMemAllocatorFactory *pMAF, STsdbMemTable *pMemTable) {
}
int
tsdbInsertDataToMemTable
(
STsdbMemTable
*
pMemTable
,
SSubmitMsg
*
pMsg
)
{
// TODO
SMemAllocator
*
pMA
=
pMemTable
->
pMA
;
STbData
*
pTbData
=
(
STbData
*
)((
*
pMA
->
malloc
)(
pMA
,
sizeof
(
*
pTbData
)));
if
(
pTbData
==
NULL
)
{
// TODO
}
tSListPush
(
&
(
pMemTable
->
list
),
pTbData
);
return
0
;
}
\ No newline at end of file
}
/* ------------------------ STATIC METHODS ------------------------ */
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录