Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
bf916610
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看板
未验证
提交
bf916610
编写于
4月 02, 2022
作者:
dengyihao
提交者:
GitHub
4月 02, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #11213 from taosdata/feature/indexUpdate
handle except
上级
6561851b
dfac7246
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
23 addition
and
5 deletion
+23
-5
source/libs/index/src/indexFst.c
source/libs/index/src/indexFst.c
+9
-0
source/libs/index/test/fstTest.cc
source/libs/index/test/fstTest.cc
+14
-5
未找到文件。
source/libs/index/src/indexFst.c
浏览文件 @
bf916610
...
...
@@ -642,6 +642,9 @@ static const char* fstNodeState(FstNode* node) {
}
void
fstNodeDestroy
(
FstNode
*
node
)
{
if
(
node
==
NULL
)
{
return
;
}
fstSliceDestroy
(
&
node
->
data
);
taosMemoryFree
(
node
);
}
...
...
@@ -1247,7 +1250,10 @@ bool streamWithStateSeekMin(StreamWithState* sws, FstBoundWithData* min) {
// autState = sws->aut->accept(preState, b);
autState
=
automFuncs
[
aut
->
type
].
accept
(
aut
,
preState
,
b
);
taosArrayPush
(
sws
->
inp
,
&
b
);
StreamState
s
=
{.
node
=
node
,
.
trans
=
res
+
1
,
.
out
=
{.
null
=
false
,
.
out
=
out
},
.
autState
=
preState
};
node
=
NULL
;
taosArrayPush
(
sws
->
stack
,
&
s
);
out
+=
trn
.
out
;
node
=
fstGetNode
(
sws
->
fst
,
trn
.
addr
);
...
...
@@ -1271,6 +1277,9 @@ bool streamWithStateSeekMin(StreamWithState* sws, FstBoundWithData* min) {
return
true
;
}
}
fstNodeDestroy
(
node
);
uint32_t
sz
=
taosArrayGetSize
(
sws
->
stack
);
if
(
sz
!=
0
)
{
StreamState
*
s
=
taosArrayGet
(
sws
->
stack
,
sz
-
1
);
...
...
source/libs/index/test/fstTest.cc
浏览文件 @
bf916610
...
...
@@ -480,6 +480,15 @@ void checkFstCheckIteratorRange2() {
assert
(
result
.
size
()
==
4
);
automCtxDestroy
(
ctx
);
}
{
// range search
std
::
vector
<
uint64_t
>
result
;
AutomationCtx
*
ctx
=
automCtxCreate
((
void
*
)
"he"
,
AUTOMATION_ALWAYS
);
// [b, e)
m
->
SearchRange
(
ctx
,
"bb"
,
GE
,
"ed"
,
LT
,
result
);
assert
(
result
.
size
()
==
3
);
automCtxDestroy
(
ctx
);
}
{
// range search
std
::
vector
<
uint64_t
>
result
;
...
...
@@ -635,11 +644,11 @@ int main(int argc, char* argv[]) {
// path suid colName ver
// iterTFileReader(argv[1], argv[2], argv[3], argv[4]);
//}
//
checkFstCheckIterator1();
//
checkFstCheckIterator2();
//
checkFstCheckIteratorPrefix();
//
checkFstCheckIteratorRange1();
//
checkFstCheckIteratorRange2();
checkFstCheckIterator1
();
checkFstCheckIterator2
();
checkFstCheckIteratorPrefix
();
checkFstCheckIteratorRange1
();
checkFstCheckIteratorRange2
();
checkFstCheckIteratorRange3
();
// checkFstLongTerm();
// checkFstPrefixSearch();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录