Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
86479c1f
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
86479c1f
编写于
11月 27, 2020
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
TD-2246
上级
c7abe34d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
77 addition
and
2 deletion
+77
-2
tests/test/c/CMakeLists.txt
tests/test/c/CMakeLists.txt
+5
-2
tests/test/c/hashIterator.c
tests/test/c/hashIterator.c
+72
-0
未找到文件。
tests/test/c/CMakeLists.txt
浏览文件 @
86479c1f
...
@@ -31,8 +31,8 @@ IF (TD_LINUX)
...
@@ -31,8 +31,8 @@ IF (TD_LINUX)
#add_executable(createTablePerformance createTablePerformance.c)
#add_executable(createTablePerformance createTablePerformance.c)
#target_link_libraries(createTablePerformance taos_static tutil common pthread)
#target_link_libraries(createTablePerformance taos_static tutil common pthread)
#
add_executable(createNormalTable createNormalTable.c)
add_executable
(
createNormalTable createNormalTable.c
)
#
target_link_libraries(createNormalTable taos_static tutil common pthread)
target_link_libraries
(
createNormalTable taos_static tutil common pthread
)
#add_executable(queryPerformance queryPerformance.c)
#add_executable(queryPerformance queryPerformance.c)
#target_link_libraries(queryPerformance taos_static tutil common pthread)
#target_link_libraries(queryPerformance taos_static tutil common pthread)
...
@@ -45,5 +45,8 @@ IF (TD_LINUX)
...
@@ -45,5 +45,8 @@ IF (TD_LINUX)
#add_executable(invalidTableId invalidTableId.c)
#add_executable(invalidTableId invalidTableId.c)
#target_link_libraries(invalidTableId taos_static tutil common pthread)
#target_link_libraries(invalidTableId taos_static tutil common pthread)
add_executable
(
hashIterator hashIterator.c
)
target_link_libraries
(
hashIterator taos_static tutil common pthread
)
ENDIF
()
ENDIF
()
tests/test/c/hashIterator.c
0 → 100644
浏览文件 @
86479c1f
/*
* Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
*
* This program is free software: you can use, redistribute, and/or modify
* it under the terms of the GNU Affero General Public License, version 3
* or later ("AGPL"), as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define _DEFAULT_SOURCE
#include "os.h"
#include "taos.h"
#include "tulog.h"
#include "tutil.h"
#include "hash.h"
typedef
struct
HashTestRow
{
int32_t
keySize
;
char
key
[
100
];
}
HashTestRow
;
int
main
(
int
argc
,
char
*
argv
[])
{
_hash_fn_t
hashFp
=
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_BINARY
);
void
*
hashHandle
=
taosHashInit
(
100
,
hashFp
,
true
,
HASH_ENTRY_LOCK
);
pPrint
(
"insert 3 rows to hash"
);
for
(
int32_t
t
=
0
;
t
<
3
;
++
t
)
{
HashTestRow
row
=
{
0
};
row
.
keySize
=
sprintf
(
row
.
key
,
"0.db.st%d"
,
t
);
taosHashPut
(
hashHandle
,
row
.
key
,
row
.
keySize
,
&
row
,
sizeof
(
HashTestRow
));
}
pPrint
(
"start iterator"
);
HashTestRow
*
row
=
taosHashIterate
(
hashHandle
,
NULL
);
while
(
row
)
{
pPrint
(
"drop key:%s"
,
row
->
key
);
taosHashRemove
(
hashHandle
,
row
->
key
,
row
->
keySize
);
pPrint
(
"get rows from hash"
);
for
(
int32_t
t
=
0
;
t
<
3
;
++
t
)
{
HashTestRow
r
=
{
0
};
r
.
keySize
=
sprintf
(
r
.
key
,
"0.db.st%d"
,
t
);
void
*
result
=
taosHashGet
(
hashHandle
,
r
.
key
,
r
.
keySize
);
pPrint
(
"get key:%s result:%p"
,
r
.
key
,
result
);
}
//Before getting the next iterator, the object just deleted can be obtained
row
=
taosHashIterate
(
hashHandle
,
row
);
}
pPrint
(
"stop iterator"
);
taosHashCancelIterate
(
hashHandle
,
row
);
pPrint
(
"get rows from hash"
);
for
(
int32_t
t
=
0
;
t
<
3
;
++
t
)
{
HashTestRow
r
=
{
0
};
r
.
keySize
=
sprintf
(
r
.
key
,
"0.db.st%d"
,
t
);
void
*
result
=
taosHashGet
(
hashHandle
,
r
.
key
,
r
.
keySize
);
pPrint
(
"get key:%s result:%p"
,
r
.
key
,
result
);
}
return
0
;
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录