Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
26cbcf99
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22017
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看板
提交
26cbcf99
编写于
5月 29, 2023
作者:
dengyihao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Merge branch 'enh/3.0' into fix/shared_link_rocksdb
上级
0be1858b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
27 addition
and
3 deletion
+27
-3
source/libs/stream/src/streamBackendRocksdb.c
source/libs/stream/src/streamBackendRocksdb.c
+27
-3
未找到文件。
source/libs/stream/src/streamBackendRocksdb.c
浏览文件 @
26cbcf99
...
...
@@ -747,7 +747,30 @@ int32_t streamStateOpenBackendCf(void* backend, char* name, char** cfs, int32_t
void
**
pIter
=
taosHashIterate
(
handle
->
cfInst
,
NULL
);
while
(
*
pIter
)
{
RocksdbCfInst
*
inst
=
*
pIter
;
SCfComparator
compare
=
{.
comp
=
inst
->
pCompares
,
.
numOfComp
=
cfLen
};
for
(
int
i
=
0
;
i
<
cfLen
;
i
++
)
{
if
(
inst
->
cfOpt
[
i
]
==
NULL
)
{
rocksdb_options_t
*
opt
=
rocksdb_options_create_copy
(
handle
->
dbOpt
);
rocksdb_block_based_table_options_t
*
tableOpt
=
rocksdb_block_based_options_create
();
rocksdb_block_based_options_set_block_cache
(
tableOpt
,
handle
->
cache
);
rocksdb_filterpolicy_t
*
filter
=
rocksdb_filterpolicy_create_bloom
(
15
);
rocksdb_block_based_options_set_filter_policy
(
tableOpt
,
filter
);
rocksdb_options_set_block_based_table_factory
((
rocksdb_options_t
*
)
opt
,
tableOpt
);
SCfInit
*
cfPara
=
&
ginitDict
[
i
];
rocksdb_comparator_t
*
compare
=
rocksdb_comparator_create
(
NULL
,
cfPara
->
detroyFunc
,
cfPara
->
cmpFunc
,
cfPara
->
cmpName
);
rocksdb_options_set_comparator
((
rocksdb_options_t
*
)
opt
,
compare
);
inst
->
pCompares
[
i
]
=
compare
;
inst
->
cfOpt
[
i
]
=
opt
;
inst
->
param
[
i
].
tableOpt
=
tableOpt
;
}
}
SCfComparator
compare
=
{.
comp
=
inst
->
pCompares
,
.
numOfComp
=
cfLen
};
inst
->
pCompareNode
=
streamBackendAddCompare
(
handle
,
&
compare
);
pIter
=
taosHashIterate
(
handle
->
cfInst
,
pIter
);
}
...
...
@@ -897,7 +920,7 @@ void streamStateCloseBackend(SStreamState* pState, bool remove) {
void
streamStateDestroyCompar
(
void
*
arg
)
{
SCfComparator
*
comp
=
(
SCfComparator
*
)
arg
;
for
(
int
i
=
0
;
i
<
comp
->
numOfComp
;
i
++
)
{
rocksdb_comparator_destroy
(
comp
->
comp
[
i
]);
if
(
comp
->
comp
[
i
])
rocksdb_comparator_destroy
(
comp
->
comp
[
i
]);
}
taosMemoryFree
(
comp
->
comp
);
}
...
...
@@ -920,6 +943,8 @@ int streamGetInit(SStreamState* pState, const char* funcName) {
char
buf
[
128
]
=
{
0
};
GEN_COLUMN_FAMILY_NAME
(
buf
,
pState
->
pTdbState
->
idstr
,
ginitDict
[
idx
].
key
);
char
*
err
=
NULL
;
taosThreadRwlockWrlock
(
&
pState
->
pTdbState
->
rwLock
);
cf
=
rocksdb_create_column_family
(
pState
->
pTdbState
->
rocksdb
,
pState
->
pTdbState
->
cfOpts
[
idx
],
buf
,
&
err
);
if
(
err
!=
NULL
)
{
idx
=
-
1
;
...
...
@@ -927,7 +952,6 @@ int streamGetInit(SStreamState* pState, const char* funcName) {
funcName
,
err
);
taosMemoryFree
(
err
);
}
taosThreadRwlockWrlock
(
&
pState
->
pTdbState
->
rwLock
);
pState
->
pTdbState
->
pHandle
[
idx
]
=
cf
;
taosThreadRwlockUnlock
(
&
pState
->
pTdbState
->
rwLock
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录