Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
6a4199d3
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看板
提交
6a4199d3
编写于
3月 29, 2022
作者:
dengyihao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
handle except
上级
124b52cd
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
39 addition
and
27 deletion
+39
-27
.clang-format
.clang-format
+0
-1
example/src/tstream.c
example/src/tstream.c
+2
-2
source/libs/index/src/index_fst.c
source/libs/index/src/index_fst.c
+16
-9
source/libs/index/test/fstTest.cc
source/libs/index/test/fstTest.cc
+21
-15
未找到文件。
.clang-format
浏览文件 @
6a4199d3
...
...
@@ -5,7 +5,6 @@ AccessModifierOffset: -1
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: true
AlignConsecutiveMacros: true
AlignEscapedNewlinesLeft: true
AlignOperands: true
AlignTrailingComments: true
...
...
example/src/tstream.c
浏览文件 @
6a4199d3
...
...
@@ -20,7 +20,7 @@
#include "taos.h"
int32_t
init_env
()
{
TAOS
*
pConn
=
taos_connect
(
"localhost"
,
"root"
,
"taosdata"
,
NULL
,
0
);
TAOS
*
pConn
=
taos_connect
(
"localhost"
,
"root"
,
"taosdata"
,
NULL
,
701
0
);
if
(
pConn
==
NULL
)
{
return
-
1
;
}
...
...
@@ -65,7 +65,7 @@ int32_t init_env() {
int32_t
create_stream
()
{
printf
(
"create stream
\n
"
);
TAOS_RES
*
pRes
;
TAOS
*
pConn
=
taos_connect
(
"localhost"
,
"root"
,
"taosdata"
,
NULL
,
0
);
TAOS
*
pConn
=
taos_connect
(
"localhost"
,
"root"
,
"taosdata"
,
NULL
,
701
0
);
if
(
pConn
==
NULL
)
{
return
-
1
;
}
...
...
source/libs/index/src/index_fst.c
浏览文件 @
6a4199d3
...
...
@@ -645,6 +645,10 @@ void fstNodeDestroy(FstNode* node) {
fstSliceDestroy
(
&
node
->
data
);
taosMemoryFree
(
node
);
}
void
fstNodeDestroyP
(
void
*
node
)
{
FstNode
*
n
=
(
FstNode
*
)(
*
(
FstNode
**
)
node
);
fstNodeDestroy
(
n
);
};
FstTransitions
*
fstNodeTransitions
(
FstNode
*
node
)
{
FstTransitions
*
t
=
taosMemoryMalloc
(
sizeof
(
FstTransitions
));
if
(
NULL
==
t
)
{
...
...
@@ -1293,7 +1297,6 @@ bool streamWithStateSeekMin(StreamWithState* sws, FstBoundWithData* min) {
return
false
;
}
StreamWithStateResult
*
streamWithStateNextWith
(
StreamWithState
*
sws
,
StreamCallback
callback
)
{
AutomationCtx
*
aut
=
sws
->
aut
;
FstOutput
output
=
sws
->
emptyOutput
;
...
...
@@ -1317,7 +1320,7 @@ StreamWithStateResult* streamWithStateNextWith(StreamWithState* sws, StreamCallb
if
(
FST_NODE_ADDR
(
p
->
node
)
!=
fstGetRootAddr
(
sws
->
fst
))
{
taosArrayPop
(
sws
->
inp
);
}
//
streamStateDestroy(p);
streamStateDestroy
(
p
);
continue
;
}
FstTransition
trn
;
...
...
@@ -1356,6 +1359,7 @@ StreamWithStateResult* streamWithStateNextWith(StreamWithState* sws, StreamCallb
sws
->
stack
=
(
SArray
*
)
taosArrayInit
(
256
,
sizeof
(
StreamState
));
taosMemoryFreeClear
(
buf
);
fstSliceDestroy
(
&
slice
);
taosArrayDestroyEx
(
nodes
,
NULL
);
return
NULL
;
}
if
(
FST_NODE_IS_FINAL
(
nextNode
)
&&
isMatch
)
{
...
...
@@ -1363,17 +1367,20 @@ StreamWithStateResult* streamWithStateNextWith(StreamWithState* sws, StreamCallb
StreamWithStateResult
*
result
=
swsResultCreate
(
&
slice
,
fOutput
,
tState
);
taosMemoryFreeClear
(
buf
);
fstSliceDestroy
(
&
slice
);
taosArrayDestroy
(
nodes
);
taosArrayDestroyEx
(
nodes
,
NULL
);
nodes
=
NULL
;
return
result
;
}
taosMemoryFreeClear
(
buf
);
fstSliceDestroy
(
&
slice
);
}
for
(
size_t
i
=
0
;
i
<
taosArrayGetSize
(
nodes
);
i
++
)
{
FstNode
**
node
=
(
FstNode
**
)
taosArrayGet
(
nodes
,
i
);
fstNodeDestroy
(
*
node
);
}
taosArrayDestroy
(
nodes
);
};
taosArrayDestroyEx
(
nodes
,
NULL
);
// taosArrayDestroyEx(nodes, );
// for (size_t i = 0; i < taosArrayGetSize(nodes); i++) {
// FstNode** node = (FstNode**)taosArrayGet(nodes, i);
// fstNodeDestroy(*node);
//}
// taosArrayDestroy(nodes);
return
NULL
;
}
...
...
source/libs/index/test/fstTest.cc
浏览文件 @
6a4199d3
...
...
@@ -99,6 +99,8 @@ class FstReadMemory {
result
.
push_back
(
rt
->
out
.
out
);
swsResultDestroy
(
rt
);
}
streamWithStateDestroy
(
st
);
fstStreamBuilderDestroy
(
sb
);
return
true
;
}
bool
SearchRange
(
AutomationCtx
*
ctx
,
const
std
::
string
&
low
,
RangeType
lowType
,
const
std
::
string
&
high
,
...
...
@@ -127,6 +129,8 @@ class FstReadMemory {
result
.
push_back
(
rt
->
out
.
out
);
swsResultDestroy
(
rt
);
}
streamWithStateDestroy
(
st
);
fstStreamBuilderDestroy
(
sb
);
return
true
;
}
bool
SearchWithTimeCostUs
(
AutomationCtx
*
ctx
,
std
::
vector
<
uint64_t
>&
result
)
{
...
...
@@ -325,8 +329,8 @@ void checkFstCheckIterator2() {
for
(
int
i
=
0
;
i
<
result
.
size
();
i
++
)
{
// assert(result[i] == i); // check result
}
automCtxDestroy
(
ctx
);
taosMemoryFree
(
ctx
);
delete
m
;
}
void
checkFstCheckIteratorPrefix
()
{
...
...
@@ -361,7 +365,7 @@ void checkFstCheckIteratorPrefix() {
AutomationCtx
*
ctx
=
automCtxCreate
((
void
*
)
"he"
,
AUTOMATION_PREFIX
);
m
->
Search
(
ctx
,
result
);
assert
(
result
.
size
()
==
1
);
taosMemoryFree
(
ctx
);
automCtxDestroy
(
ctx
);
}
{
// prefix search
...
...
@@ -370,7 +374,7 @@ void checkFstCheckIteratorPrefix() {
AutomationCtx
*
ctx
=
automCtxCreate
((
void
*
)
"Hello"
,
AUTOMATION_PREFIX
);
m
->
Search
(
ctx
,
result
);
assert
(
result
.
size
()
==
2
);
taosMemoryFree
(
ctx
);
automCtxDestroy
(
ctx
);
}
{
std
::
vector
<
uint64_t
>
result
;
...
...
@@ -378,7 +382,7 @@ void checkFstCheckIteratorPrefix() {
AutomationCtx
*
ctx
=
automCtxCreate
((
void
*
)
"jddd"
,
AUTOMATION_PREFIX
);
m
->
Search
(
ctx
,
result
);
assert
(
result
.
size
()
==
1
);
taosMemoryFree
(
ctx
);
automCtxDestroy
(
ctx
);
}
delete
m
;
}
...
...
@@ -413,7 +417,7 @@ void checkFstCheckIteratorRange1() {
// [b, e)
m
->
SearchRange
(
ctx
,
"b"
,
GE
,
"e"
,
LT
,
result
);
assert
(
result
.
size
()
==
3
);
taosMemoryFree
(
ctx
);
automCtxDestroy
(
ctx
);
}
{
// prefix search
...
...
@@ -422,7 +426,7 @@ void checkFstCheckIteratorRange1() {
// [b, e)
m
->
SearchRange
(
ctx
,
"b"
,
GT
,
"e"
,
LT
,
result
);
assert
(
result
.
size
()
==
2
);
taosMemoryFree
(
ctx
);
automCtxDestroy
(
ctx
);
}
{
// prefix search
...
...
@@ -431,7 +435,7 @@ void checkFstCheckIteratorRange1() {
// [b, e)
m
->
SearchRange
(
ctx
,
"b"
,
GT
,
"e"
,
LE
,
result
);
assert
(
result
.
size
()
==
3
);
taosMemoryFree
(
ctx
);
automCtxDestroy
(
ctx
);
}
{
// prefix search
...
...
@@ -440,8 +444,9 @@ void checkFstCheckIteratorRange1() {
// [b, e)
m
->
SearchRange
(
ctx
,
"b"
,
GE
,
"e"
,
LE
,
result
);
assert
(
result
.
size
()
==
4
);
taosMemoryFree
(
ctx
);
automCtxDestroy
(
ctx
);
}
delete
m
;
}
void
checkFstCheckIteratorRange2
()
{
FstWriter
*
fw
=
new
FstWriter
;
...
...
@@ -473,7 +478,7 @@ void checkFstCheckIteratorRange2() {
// [b, e)
m
->
SearchRange
(
ctx
,
"b"
,
GE
,
"ed"
,
LT
,
result
);
assert
(
result
.
size
()
==
4
);
taosMemoryFree
(
ctx
);
automCtxDestroy
(
ctx
);
}
{
// range search
...
...
@@ -482,7 +487,8 @@ void checkFstCheckIteratorRange2() {
// [b, e)
m
->
SearchRange
(
ctx
,
"b"
,
GE
,
"ed"
,
LE
,
result
);
assert
(
result
.
size
()
==
5
);
taosMemoryFree
(
ctx
);
automCtxDestroy
(
ctx
);
// taosMemoryFree(ctx);
}
{
// range search
...
...
@@ -491,7 +497,7 @@ void checkFstCheckIteratorRange2() {
// [b, e)
m
->
SearchRange
(
ctx
,
"b"
,
GT
,
"ed"
,
LE
,
result
);
assert
(
result
.
size
()
==
4
);
taosMemoryFree
(
ctx
);
automCtxDestroy
(
ctx
);
}
{
// range search
...
...
@@ -500,7 +506,7 @@ void checkFstCheckIteratorRange2() {
// [b, e)
m
->
SearchRange
(
ctx
,
"b"
,
GT
,
"ed"
,
LT
,
result
);
assert
(
result
.
size
()
==
3
);
taosMemoryFree
(
ctx
);
automCtxDestroy
(
ctx
);
}
}
...
...
@@ -566,9 +572,9 @@ int main(int argc, char* argv[]) {
// path suid colName ver
// iterTFileReader(argv[1], argv[2], argv[3], argv[4]);
//}
//
checkFstCheckIterator1();
//
checkFstCheckIterator2();
//
checkFstCheckIteratorPrefix();
checkFstCheckIterator1
();
checkFstCheckIterator2
();
checkFstCheckIteratorPrefix
();
checkFstCheckIteratorRange1
();
checkFstCheckIteratorRange2
();
// checkFstLongTerm();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录