Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
901b5976
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看板
提交
901b5976
编写于
3月 10, 2022
作者:
M
Minghao Li
浏览文件
操作
浏览文件
下载
差异文件
Merge branch '3.0' of
https://github.com/taosdata/TDengine
into feature/3.0_mhli
上级
889d1339
6e378345
变更
65
展开全部
隐藏空白更改
内联
并排
Showing
65 changed file
with
1057 addition
and
763 deletion
+1057
-763
.gitmodules
.gitmodules
+3
-0
CMakeLists.txt
CMakeLists.txt
+26
-0
contrib/test/craft/raftMain.c
contrib/test/craft/raftMain.c
+1
-1
contrib/test/craft/simulate_vnode.c
contrib/test/craft/simulate_vnode.c
+2
-2
examples/c/schemaless.c
examples/c/schemaless.c
+1
-1
include/client/taos.h
include/client/taos.h
+4
-0
include/common/taosdef.h
include/common/taosdef.h
+2
-0
include/common/tmsg.h
include/common/tmsg.h
+77
-39
include/os/osRand.h
include/os/osRand.h
+9
-0
include/os/osSleep.h
include/os/osSleep.h
+10
-0
include/util/tdef.h
include/util/tdef.h
+1
-1
source/client/src/clientEnv.c
source/client/src/clientEnv.c
+1
-1
source/client/src/clientHb.c
source/client/src/clientHb.c
+1
-1
source/client/src/clientMain.c
source/client/src/clientMain.c
+74
-0
source/client/src/tmq.c
source/client/src/tmq.c
+5
-5
source/dnode/vnode/src/inc/tsdbFS.h
source/dnode/vnode/src/inc/tsdbFS.h
+21
-3
source/dnode/vnode/src/inc/tsdbFile.h
source/dnode/vnode/src/inc/tsdbFile.h
+4
-3
source/dnode/vnode/src/inc/tsdbSma.h
source/dnode/vnode/src/inc/tsdbSma.h
+1
-1
source/dnode/vnode/src/tsdb/tsdbFile.c
source/dnode/vnode/src/tsdb/tsdbFile.c
+2
-2
source/dnode/vnode/src/tsdb/tsdbMain.c
source/dnode/vnode/src/tsdb/tsdbMain.c
+1
-1
source/dnode/vnode/src/tsdb/tsdbSma.c
source/dnode/vnode/src/tsdb/tsdbSma.c
+27
-3
source/dnode/vnode/test/tqMetaTest.cpp
source/dnode/vnode/test/tqMetaTest.cpp
+9
-9
source/dnode/vnode/test/tsdbSmaTest.cpp
source/dnode/vnode/test/tsdbSmaTest.cpp
+63
-38
source/libs/catalog/src/catalog.c
source/libs/catalog/src/catalog.c
+1
-1
source/libs/catalog/test/catalogTests.cpp
source/libs/catalog/test/catalogTests.cpp
+45
-45
source/libs/executor/src/executorimpl.c
source/libs/executor/src/executorimpl.c
+3
-3
source/libs/executor/test/executorTests.cpp
source/libs/executor/test/executorTests.cpp
+4
-4
source/libs/executor/test/lhashTests.cpp
source/libs/executor/test/lhashTests.cpp
+1
-1
source/libs/index/test/indexTests.cc
source/libs/index/test/indexTests.cc
+1
-1
source/libs/qcom/test/queryTest.cpp
source/libs/qcom/test/queryTest.cpp
+3
-3
source/libs/qworker/test/qworkerTests.cpp
source/libs/qworker/test/qworkerTests.cpp
+52
-52
source/libs/scalar/test/filter/filterTests.cpp
source/libs/scalar/test/filter/filterTests.cpp
+1
-1
source/libs/scalar/test/scalar/scalarTests.cpp
source/libs/scalar/test/scalar/scalarTests.cpp
+1
-1
source/libs/scheduler/test/schedulerTests.cpp
source/libs/scheduler/test/schedulerTests.cpp
+8
-8
source/libs/sync/src/syncEnv.c
source/libs/sync/src/syncEnv.c
+1
-1
source/libs/sync/src/syncIO.c
source/libs/sync/src/syncIO.c
+1
-1
source/libs/sync/src/syncUtil.c
source/libs/sync/src/syncUtil.c
+1
-1
source/libs/sync/test/syncIOSendMsgClientTest.cpp
source/libs/sync/test/syncIOSendMsgClientTest.cpp
+2
-2
source/libs/sync/test/syncIOSendMsgServerTest.cpp
source/libs/sync/test/syncIOSendMsgServerTest.cpp
+1
-1
source/libs/sync/test/syncIOSendMsgTest.cpp
source/libs/sync/test/syncIOSendMsgTest.cpp
+2
-2
source/libs/sync/test/syncIOTickPingTest.cpp
source/libs/sync/test/syncIOTickPingTest.cpp
+1
-1
source/libs/sync/test/syncIOTickQTest.cpp
source/libs/sync/test/syncIOTickQTest.cpp
+1
-1
source/libs/tdb/src/db/tdbUtil.c
source/libs/tdb/src/db/tdbUtil.c
+1
-1
source/libs/transport/src/rpcMain.c
source/libs/transport/src/rpcMain.c
+1
-1
source/libs/transport/test/pushClient.c
source/libs/transport/test/pushClient.c
+2
-2
source/libs/transport/test/pushServer.c
source/libs/transport/test/pushServer.c
+2
-2
source/libs/transport/test/rclient.c
source/libs/transport/test/rclient.c
+2
-2
source/libs/transport/test/rsclient.c
source/libs/transport/test/rsclient.c
+1
-1
source/libs/transport/test/syncClient.c
source/libs/transport/test/syncClient.c
+2
-2
source/libs/wal/test/walMetaTest.cpp
source/libs/wal/test/walMetaTest.cpp
+3
-3
source/os/src/osEnv.c
source/os/src/osEnv.c
+1
-1
source/os/src/osRand.c
source/os/src/osRand.c
+5
-1
source/os/src/osSleep.c
source/os/src/osSleep.c
+20
-32
source/os/src/osString.c
source/os/src/osString.c
+3
-4
source/os/src/osSysinfo.c
source/os/src/osSysinfo.c
+510
-451
source/util/src/tdes.c
source/util/src/tdes.c
+1
-1
source/util/src/tskiplist.c
source/util/src/tskiplist.c
+4
-4
source/util/test/cacheTest.cpp
source/util/test/cacheTest.cpp
+2
-2
source/util/test/codingTests.cpp
source/util/test/codingTests.cpp
+2
-2
source/util/test/pageBufferTest.cpp
source/util/test/pageBufferTest.cpp
+1
-1
source/util/test/skiplistTest.cpp
source/util/test/skiplistTest.cpp
+4
-4
source/util/test/trefTest.c
source/util/test/trefTest.c
+3
-3
tests/script/api/batchprepare.c
tests/script/api/batchprepare.c
+1
-1
tools/CMakeLists.txt
tools/CMakeLists.txt
+10
-1
tools/taos-tools
tools/taos-tools
+1
-0
未找到文件。
.gitmodules
浏览文件 @
901b5976
...
...
@@ -13,3 +13,6 @@
[submodule "examples/rust"]
path = examples/rust
url = https://github.com/songtianyi/tdengine-rust-bindings.git
[submodule "tools/taos-tools"]
path = tools/taos-tools
url = https://github.com/taosdata/taos-tools
CMakeLists.txt
浏览文件 @
901b5976
...
...
@@ -6,6 +6,32 @@ project(
DESCRIPTION
"An open-source big data platform designed and optimized for the Internet of Things(IOT)"
)
IF
(
"
${
BUILD_TOOLS
}
"
STREQUAL
""
)
IF
(
TD_LINUX
)
IF
(
TD_ARM_32
)
SET
(
BUILD_TOOLS
"false"
)
ELSEIF
(
TD_ARM_64
)
SET
(
BUILD_TOOLS
"false"
)
ELSE
()
SET
(
BUILD_TOOLS
"false"
)
ENDIF
()
ELSEIF
(
TD_DARWIN
)
SET
(
BUILD_TOOLS
"false"
)
ELSE
()
SET
(
BUILD_TOOLS
"false"
)
ENDIF
()
ENDIF
()
IF
(
"
${
BUILD_TOOLS
}
"
MATCHES
"false"
)
MESSAGE
(
"
${
Yellow
}
Will _not_ build taos_tools!
${
ColourReset
}
"
)
SET
(
TD_TAOS_TOOLS FALSE
)
ELSE
()
MESSAGE
(
""
)
MESSAGE
(
"
${
Green
}
Will build taos_tools!
${
ColourReset
}
"
)
MESSAGE
(
""
)
SET
(
TD_TAOS_TOOLS TRUE
)
ENDIF
()
set
(
CMAKE_SUPPORT_DIR
"
${
CMAKE_SOURCE_DIR
}
/cmake"
)
set
(
CMAKE_CONTRIB_DIR
"
${
CMAKE_SOURCE_DIR
}
/contrib"
)
include
(
${
CMAKE_SUPPORT_DIR
}
/cmake.options
)
...
...
contrib/test/craft/raftMain.c
浏览文件 @
901b5976
...
...
@@ -377,7 +377,7 @@ void printConf(SRaftServerConfig *pConf) {
int
main
(
int
argc
,
char
**
argv
)
{
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
int32_t
ret
;
exe_name
=
argv
[
0
];
...
...
contrib/test/craft/simulate_vnode.c
浏览文件 @
901b5976
...
...
@@ -132,7 +132,7 @@ static void proposeValue(struct raft *r) {
buf
.
base
=
raft_malloc
(
buf
.
len
);
// mock ts value
int
vid
=
r
and
()
%
VNODE_COUNT
;
int
vid
=
taosR
and
()
%
VNODE_COUNT
;
snprintf
(
buf
.
base
,
buf
.
len
,
"%d:value_%ld"
,
vid
,
time
(
NULL
));
printf
(
"propose value: %s
\n
"
,
(
char
*
)
buf
.
base
);
...
...
@@ -174,7 +174,7 @@ void usage() {
}
int
main
(
int
argc
,
char
**
argv
)
{
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
exe_name
=
argv
[
0
];
if
(
argc
<
2
)
{
...
...
examples/c/schemaless.c
浏览文件 @
901b5976
...
...
@@ -19,7 +19,7 @@ void shuffle(char**lines, size_t n)
size_t
i
;
for
(
i
=
0
;
i
<
n
-
1
;
i
++
)
{
size_t
j
=
i
+
r
and
()
/
(
RAND_MAX
/
(
n
-
i
)
+
1
);
size_t
j
=
i
+
taosR
and
()
/
(
RAND_MAX
/
(
n
-
i
)
+
1
);
char
*
t
=
lines
[
j
];
lines
[
j
]
=
lines
[
i
];
lines
[
i
]
=
t
;
...
...
include/client/taos.h
浏览文件 @
901b5976
...
...
@@ -256,6 +256,10 @@ DLL_EXPORT void tmq_conf_set_offset_commit_cb(tmq_conf_t *conf, tmq_co
void
tmqShowMsg
(
tmq_message_t
*
tmq_message
);
int32_t
tmqGetSkipLogNum
(
tmq_message_t
*
tmq_message
);
typedef
void
(
*
TAOS_SUBSCRIBE_CALLBACK
)(
TAOS_SUB
*
tsub
,
TAOS_RES
*
res
,
void
*
param
,
int
code
);
DLL_EXPORT
int
taos_stmt_affected_rows
(
TAOS_STMT
*
stmt
);
#ifdef __cplusplus
}
#endif
...
...
include/common/taosdef.h
浏览文件 @
901b5976
...
...
@@ -63,6 +63,8 @@ typedef enum {
extern
char
*
qtypeStr
[];
#define TSDB_PORT_HTTP 11
#ifdef __cplusplus
}
#endif
...
...
include/common/tmsg.h
浏览文件 @
901b5976
...
...
@@ -1856,19 +1856,27 @@ typedef enum {
TD_TIME_UNIT_MICROSEC
=
9
,
TD_TIME_UNIT_NANOSEC
=
10
}
ETDTimeUnit
;
typedef
struct
{
uint16_t
funcId
;
uint16_t
nColIds
;
col_id_t
*
colIds
;
// sorted colIds
}
SFuncColIds
;
typedef
struct
{
uint8_t
version
;
// for compatibility
uint8_t
intervalUnit
;
uint8_t
slidingUnit
;
char
indexName
[
TSDB_INDEX_NAME_LEN
+
1
];
col_id_t
numOfColIds
;
uint16_t
numOfFuncIds
;
uint64_t
tableUid
;
// super/common table uid
int64_t
interval
;
int64_t
sliding
;
col_id_t
*
colIds
;
// sorted column ids
uint16_t
*
funcIds
;
// sorted sma function ids
}
STSma
;
// Time-range-wise SMA
uint8_t
version
;
// for compatibility
uint8_t
intervalUnit
;
uint8_t
slidingUnit
;
char
indexName
[
TSDB_INDEX_NAME_LEN
];
char
timezone
[
TD_TIMEZONE_LEN
];
uint16_t
nFuncColIds
;
uint16_t
tagsFilterLen
;
tb_uid_t
tableUid
;
// super/common table uid
int64_t
interval
;
int64_t
sliding
;
SFuncColIds
*
funcColIds
;
// sorted funcIds
char
*
tagsFilter
;
}
STSma
;
// Time-range-wise SMA
typedef
struct
{
int64_t
ver
;
// use a general definition
...
...
@@ -1877,13 +1885,13 @@ typedef struct {
typedef
struct
{
int8_t
type
;
// 0 status report, 1 update data
char
indexName
[
TSDB_INDEX_NAME_LEN
+
1
];
//
char
indexName
[
TSDB_INDEX_NAME_LEN
];
//
STimeWindow
windows
;
}
STSmaMsg
;
typedef
struct
{
int64_t
ver
;
// use a general definition
char
indexName
[
TSDB_INDEX_NAME_LEN
+
1
];
char
indexName
[
TSDB_INDEX_NAME_LEN
];
}
SVDropTSmaReq
;
typedef
struct
{
}
SVCreateTSmaRsp
,
SVDropTSmaRsp
;
...
...
@@ -1934,8 +1942,14 @@ typedef struct {
static
FORCE_INLINE
void
tdDestroyTSma
(
STSma
*
pSma
)
{
if
(
pSma
)
{
tfree
(
pSma
->
colIds
);
tfree
(
pSma
->
funcIds
);
if
(
pSma
->
funcColIds
!=
NULL
)
{
for
(
uint16_t
i
=
0
;
i
<
pSma
->
nFuncColIds
;
++
i
)
{
tfree
((
pSma
->
funcColIds
+
i
)
->
colIds
);
}
tfree
(
pSma
->
funcColIds
);
}
tfree
(
pSma
->
tagsFilter
);
}
}
...
...
@@ -1957,18 +1971,24 @@ static FORCE_INLINE int32_t tEncodeTSma(void** buf, const STSma* pSma) {
tlen
+=
taosEncodeFixedU8
(
buf
,
pSma
->
intervalUnit
);
tlen
+=
taosEncodeFixedU8
(
buf
,
pSma
->
slidingUnit
);
tlen
+=
taosEncodeString
(
buf
,
pSma
->
indexName
);
tlen
+=
taosEncodeFixedU16
(
buf
,
pSma
->
numOfColIds
);
tlen
+=
taosEncodeFixedU16
(
buf
,
pSma
->
numOfFuncIds
);
tlen
+=
taosEncodeFixedU64
(
buf
,
pSma
->
tableUid
);
tlen
+=
taosEncodeString
(
buf
,
pSma
->
timezone
);
tlen
+=
taosEncodeFixedU16
(
buf
,
pSma
->
nFuncColIds
);
tlen
+=
taosEncodeFixedU16
(
buf
,
pSma
->
tagsFilterLen
);
tlen
+=
taosEncodeFixedI64
(
buf
,
pSma
->
tableUid
);
tlen
+=
taosEncodeFixedI64
(
buf
,
pSma
->
interval
);
tlen
+=
taosEncodeFixedI64
(
buf
,
pSma
->
sliding
);
for
(
col_id_t
i
=
0
;
i
<
pSma
->
numOfColIds
;
++
i
)
{
tlen
+=
taosEncodeFixedU16
(
buf
,
*
(
pSma
->
colIds
+
i
));
for
(
uint16_t
i
=
0
;
i
<
pSma
->
nFuncColIds
;
++
i
)
{
SFuncColIds
*
funcColIds
=
pSma
->
funcColIds
+
i
;
tlen
+=
taosEncodeFixedU16
(
buf
,
funcColIds
->
funcId
);
tlen
+=
taosEncodeFixedU16
(
buf
,
funcColIds
->
nColIds
);
for
(
uint16_t
j
=
0
;
j
<
funcColIds
->
nColIds
;
++
j
)
{
tlen
+=
taosEncodeFixedU16
(
buf
,
*
(
funcColIds
->
colIds
+
j
));
}
}
for
(
uint16_t
i
=
0
;
i
<
pSma
->
numOfFuncIds
;
++
i
)
{
tlen
+=
taosEncode
FixedU16
(
buf
,
*
(
pSma
->
funcIds
+
i
)
);
if
(
pSma
->
tagsFilterLen
>
0
)
{
tlen
+=
taosEncode
String
(
buf
,
pSma
->
tagsFilter
);
}
return
tlen
;
...
...
@@ -1989,34 +2009,52 @@ static FORCE_INLINE void* tDecodeTSma(void* buf, STSma* pSma) {
buf
=
taosDecodeFixedU8
(
buf
,
&
pSma
->
intervalUnit
);
buf
=
taosDecodeFixedU8
(
buf
,
&
pSma
->
slidingUnit
);
buf
=
taosDecodeStringTo
(
buf
,
pSma
->
indexName
);
buf
=
taosDecodeFixedU16
(
buf
,
&
pSma
->
numOfColIds
);
buf
=
taosDecodeFixedU16
(
buf
,
&
pSma
->
numOfFuncIds
);
buf
=
taosDecodeFixedU64
(
buf
,
&
pSma
->
tableUid
);
buf
=
taosDecodeStringTo
(
buf
,
pSma
->
timezone
);
buf
=
taosDecodeFixedU16
(
buf
,
&
pSma
->
nFuncColIds
);
buf
=
taosDecodeFixedU16
(
buf
,
&
pSma
->
tagsFilterLen
);
buf
=
taosDecodeFixedI64
(
buf
,
&
pSma
->
tableUid
);
buf
=
taosDecodeFixedI64
(
buf
,
&
pSma
->
interval
);
buf
=
taosDecodeFixedI64
(
buf
,
&
pSma
->
sliding
);
if
(
pSma
->
numOfColIds
>
0
)
{
pSma
->
colIds
=
(
col_id_t
*
)
calloc
(
pSma
->
numOfColIds
,
sizeof
(
STSma
));
if
(
pSma
->
colIds
==
NULL
)
{
if
(
pSma
->
nFuncColIds
>
0
)
{
pSma
->
funcColIds
=
(
SFuncColIds
*
)
calloc
(
pSma
->
nFuncColIds
,
sizeof
(
SFuncColIds
));
if
(
pSma
->
funcColIds
==
NULL
)
{
tdDestroyTSma
(
pSma
);
return
NULL
;
}
for
(
uint16_t
i
=
0
;
i
<
pSma
->
numOfColIds
;
++
i
)
{
buf
=
taosDecodeFixedU16
(
buf
,
pSma
->
colIds
+
i
);
for
(
uint16_t
i
=
0
;
i
<
pSma
->
nFuncColIds
;
++
i
)
{
SFuncColIds
*
funcColIds
=
pSma
->
funcColIds
+
i
;
buf
=
taosDecodeFixedU16
(
buf
,
&
funcColIds
->
funcId
);
buf
=
taosDecodeFixedU16
(
buf
,
&
funcColIds
->
nColIds
);
if
(
funcColIds
->
nColIds
>
0
)
{
funcColIds
->
colIds
=
(
col_id_t
*
)
calloc
(
funcColIds
->
nColIds
,
sizeof
(
col_id_t
));
if
(
funcColIds
->
colIds
!=
NULL
)
{
for
(
uint16_t
j
=
0
;
j
<
funcColIds
->
nColIds
;
++
j
)
{
buf
=
taosDecodeFixedU16
(
buf
,
funcColIds
->
colIds
+
j
);
}
}
else
{
tdDestroyTSma
(
pSma
);
return
NULL
;
}
}
else
{
funcColIds
->
colIds
=
NULL
;
}
}
}
else
{
pSma
->
c
olIds
=
NULL
;
pSma
->
funcC
olIds
=
NULL
;
}
if
(
pSma
->
numOfFuncIds
>
0
)
{
pSma
->
funcIds
=
(
uint16_t
*
)
calloc
(
pSma
->
numOfFuncIds
,
sizeof
(
STSma
));
if
(
pSma
->
funcIds
==
NULL
)
{
if
(
pSma
->
tagsFilterLen
>
0
)
{
pSma
->
tagsFilter
=
(
char
*
)
calloc
(
pSma
->
tagsFilterLen
,
1
);
if
(
pSma
->
tagsFilter
!=
NULL
)
{
buf
=
taosDecodeStringTo
(
buf
,
pSma
->
tagsFilter
);
}
else
{
tdDestroyTSma
(
pSma
);
return
NULL
;
}
for
(
uint16_t
i
=
0
;
i
<
pSma
->
numOfFuncIds
;
++
i
)
{
buf
=
taosDecodeFixedU16
(
buf
,
pSma
->
funcIds
+
i
);
}
}
else
{
pSma
->
funcIds
=
NULL
;
pSma
->
tagsFilter
=
NULL
;
}
return
buf
;
...
...
include/os/osRand.h
浏览文件 @
901b5976
...
...
@@ -20,7 +20,16 @@
extern
"C"
{
#endif
// If the error is in a third-party library, place this header file under the third-party library header file.
#ifndef ALLOW_FORBID_FUNC
#define rand RAND_FUNC_TAOS_FORBID
#define srand SRAND_FUNC_TAOS_FORBID
#define rand_r RANDR_FUNC_TAOS_FORBID
#endif
void
taosSeedRand
(
uint32_t
seed
);
uint32_t
taosRand
(
void
);
uint32_t
taosRandR
(
uint32_t
*
pSeed
);
void
taosRandStr
(
char
*
str
,
int32_t
size
);
uint32_t
taosSafeRand
(
void
);
...
...
include/os/osSleep.h
浏览文件 @
901b5976
...
...
@@ -20,7 +20,17 @@
extern
"C"
{
#endif
// If the error is in a third-party library, place this header file under the third-party library header file.
#ifndef ALLOW_FORBID_FUNC
#define Sleep SLEEP_FUNC_TAOS_FORBID
#define sleep SLEEP_FUNC_TAOS_FORBID
#define usleep USLEEP_FUNC_TAOS_FORBID
#define nanosleep NANOSLEEP_FUNC_TAOS_FORBID
#endif
void
taosSsleep
(
int32_t
s
);
void
taosMsleep
(
int32_t
ms
);
void
taosUsleep
(
int32_t
us
);
#ifdef __cplusplus
}
...
...
include/util/tdef.h
浏览文件 @
901b5976
...
...
@@ -207,7 +207,7 @@ typedef enum ELogicConditionType {
#define TSDB_FUNC_TYPE_AGGREGATE 2
#define TSDB_FUNC_MAX_RETRIEVE 1024
#define TSDB_INDEX_NAME_LEN 3
2
#define TSDB_INDEX_NAME_LEN 3
3 // 32 + 1 '\0'
#define TSDB_TYPE_STR_MAX_LEN 32
#define TSDB_TABLE_FNAME_LEN (TSDB_DB_FNAME_LEN + TSDB_TABLE_NAME_LEN + TSDB_NAME_DELIMITER_LEN)
#define TSDB_TOPIC_FNAME_LEN TSDB_TABLE_FNAME_LEN
...
...
source/client/src/clientEnv.c
浏览文件 @
901b5976
...
...
@@ -208,7 +208,7 @@ void taos_init_imp(void) {
atexit
(
taos_cleanup
);
errno
=
TSDB_CODE_SUCCESS
;
sr
and
(
taosGetTimestampSec
());
taosSeedR
and
(
taosGetTimestampSec
());
deltaToUtcInitOnce
();
...
...
source/client/src/clientHb.c
浏览文件 @
901b5976
...
...
@@ -449,7 +449,7 @@ static void hbStopThread() {
}
while
(
2
!=
atomic_load_8
(
&
clientHbMgr
.
threadStop
))
{
u
sleep
(
10
);
taosU
sleep
(
10
);
}
tscDebug
(
"hb thread stopped"
);
...
...
source/client/src/clientMain.c
浏览文件 @
901b5976
...
...
@@ -343,3 +343,77 @@ void taos_query_a(TAOS *taos, const char *sql, __taos_async_fn_t fp, void *param
void
taos_fetch_rows_a
(
TAOS_RES
*
res
,
__taos_async_fn_t
fp
,
void
*
param
)
{
// TODO
}
TAOS_SUB
*
taos_subscribe
(
TAOS
*
taos
,
int
restart
,
const
char
*
topic
,
const
char
*
sql
,
TAOS_SUBSCRIBE_CALLBACK
fp
,
void
*
param
,
int
interval
)
{
// TODO
return
NULL
;
}
TAOS_RES
*
taos_consume
(
TAOS_SUB
*
tsub
)
{
// TODO
return
NULL
;
}
void
taos_unsubscribe
(
TAOS_SUB
*
tsub
,
int
keepProgress
)
{
// TODO
}
TAOS_STMT
*
taos_stmt_init
(
TAOS
*
taos
)
{
// TODO
return
NULL
;
}
int
taos_stmt_close
(
TAOS_STMT
*
stmt
)
{
// TODO
return
-
1
;
}
int
taos_stmt_execute
(
TAOS_STMT
*
stmt
)
{
// TODO
return
-
1
;
}
char
*
taos_stmt_errstr
(
TAOS_STMT
*
stmt
)
{
// TODO
return
NULL
;
}
int
taos_stmt_affected_rows
(
TAOS_STMT
*
stmt
)
{
// TODO
return
-
1
;
}
TAOS_RES
*
taos_schemaless_insert
(
TAOS
*
taos
,
char
*
lines
[],
int
numLines
,
int
protocol
,
int
precision
)
{
// TODO
return
NULL
;
}
int
taos_stmt_bind_param
(
TAOS_STMT
*
stmt
,
TAOS_BIND
*
bind
)
{
// TODO
return
-
1
;
}
int
taos_stmt_prepare
(
TAOS_STMT
*
stmt
,
const
char
*
sql
,
unsigned
long
length
)
{
// TODO
return
-
1
;
}
int
taos_stmt_set_tbname_tags
(
TAOS_STMT
*
stmt
,
const
char
*
name
,
TAOS_BIND
*
tags
)
{
// TODO
return
-
1
;
}
int
taos_stmt_set_tbname
(
TAOS_STMT
*
stmt
,
const
char
*
name
)
{
// TODO
return
-
1
;
}
int
taos_stmt_add_batch
(
TAOS_STMT
*
stmt
)
{
// TODO
return
-
1
;
}
int
taos_stmt_bind_param_batch
(
TAOS_STMT
*
stmt
,
TAOS_MULTI_BIND
*
bind
)
{
// TODO
return
-
1
;
}
source/client/src/tmq.c
浏览文件 @
901b5976
...
...
@@ -1146,13 +1146,13 @@ tmq_message_t* tmq_consumer_poll(tmq_t* tmq, int64_t blocking_time) {
if (taosArrayGetSize(tmq->clientTopics) == 0) {
tscDebug("consumer:%ld poll but not assigned", tmq->consumerId);
/*printf("over1\n");*/
usleep(blocking_time * 1000
);
taosMsleep(blocking_time
);
return NULL;
}
SMqClientTopic* pTopic = taosArrayGet(tmq->clientTopics, tmq->nextTopicIdx);
if (taosArrayGetSize(pTopic->vgs) == 0) {
/*printf("over2\n");*/
usleep(blocking_time * 1000
);
taosMsleep(blocking_time
);
return NULL;
}
...
...
@@ -1165,14 +1165,14 @@ tmq_message_t* tmq_consumer_poll(tmq_t* tmq, int64_t blocking_time) {
SMqConsumeReq* pReq = tmqBuildConsumeReqImpl(tmq, blocking_time, pTopic, pVg);
if (pReq == NULL) {
ASSERT(false);
usleep(blocking_time * 1000
);
taosMsleep(blocking_time
);
return NULL;
}
SMqPollCbParam* param = malloc(sizeof(SMqPollCbParam));
if (param == NULL) {
ASSERT(false);
usleep(blocking_time * 1000
);
taosMsleep(blocking_time
);
return NULL;
}
param->tmq = tmq;
...
...
@@ -1204,7 +1204,7 @@ tmq_message_t* tmq_consumer_poll(tmq_t* tmq, int64_t blocking_time) {
if (tmq_message == NULL) {
if (beginVgIdx == pTopic->nextVgIdx) {
usleep(blocking_time * 1000
);
taosMsleep(blocking_time
);
} else {
continue;
}
...
...
source/dnode/vnode/src/inc/tsdbFS.h
浏览文件 @
901b5976
...
...
@@ -43,12 +43,30 @@ typedef struct {
STsdbFSMeta
meta
;
// FS meta
SArray
*
df
;
// data file array
// SArray * v2
f100.tsma
.index_name
// SArray * v2
t100
.index_name
SArray
*
smaf
;
// sma data file array v2
f1900.tsma
.index_name
SArray
*
smaf
;
// sma data file array v2
t1900
.index_name
}
SFSStatus
;
typedef
struct
{
/**
* @brief Directory structure of .tsma data files.
*
* root@cary /vnode2/tsdb $ tree .tsma/
* .tsma/
* ├── v2t100.index_name_1
* ├── v2t101.index_name_1
* ├── v2t102.index_name_1
* ├── v2t1900.index_name_3
* ├── v2t1901.index_name_3
* ├── v2t1902.index_name_3
* ├── v2t200.index_name_2
* ├── v2t201.index_name_2
* └── v2t202.index_name_2
*
* 0 directories, 9 files
*/
typedef
struct
{
pthread_rwlock_t
lock
;
SFSStatus
*
cstatus
;
// current status
...
...
source/dnode/vnode/src/inc/tsdbFile.h
浏览文件 @
901b5976
...
...
@@ -56,10 +56,11 @@ typedef enum {
TSDB_FILE_SMAL
,
// .smal(Block-wise SMA)
TSDB_FILE_MAX
,
//
TSDB_FILE_META
,
// meta
TSDB_FILE_TSMA
,
//
.tsma
.${sma_index_name}, Time-range-wise SMA
TSDB_FILE_RSMA
,
//
.rsma
.${sma_index_name}, Time-range-wise Rollup SMA
}
TSDB_FILE_T
;
TSDB_FILE_TSMA
,
//
v2t100
.${sma_index_name}, Time-range-wise SMA
TSDB_FILE_RSMA
,
//
v2r100
.${sma_index_name}, Time-range-wise Rollup SMA
}
E_
TSDB_FILE_T
;
typedef
int32_t
TSDB_FILE_T
;
typedef
enum
{
TSDB_FS_VER_0
=
0
,
TSDB_FS_VER_MAX
,
...
...
source/dnode/vnode/src/inc/tsdbSma.h
浏览文件 @
901b5976
...
...
@@ -31,7 +31,7 @@ int32_t tsdbGetTSmaDataImpl(STsdb *pTsdb, STSma *param, STSmaData *pData, STimeW
int32_t
tsdbUpdateExpiredWindow
(
STsdb
*
pTsdb
,
char
*
msg
);
int32_t
tsdbGetTSmaStatus
(
STsdb
*
pTsdb
,
STSma
*
param
,
void
*
result
);
int32_t
tsdbRemoveTSmaData
(
STsdb
*
pTsdb
,
STSma
*
param
,
STimeWindow
*
pWin
);
int32_t
tsdb
Free
SmaState
(
SSmaStat
*
pSmaStat
);
int32_t
tsdb
Destroy
SmaState
(
SSmaStat
*
pSmaStat
);
// internal func
...
...
source/dnode/vnode/src/tsdb/tsdbFile.c
浏览文件 @
901b5976
...
...
@@ -23,8 +23,8 @@ static const char *TSDB_FNAME_SUFFIX[] = {
"smal"
,
// TSDB_FILE_SMAL
""
,
// TSDB_FILE_MAX
"meta"
,
// TSDB_FILE_META
"
tsma"
,
// TSDB_FILE_TSMA
"
rsma"
,
// TSDB_FILE_RSMA
"
sma"
,
// TSDB_FILE_TSMA(directory name)
"
sma"
,
// TSDB_FILE_RSMA(directory name)
};
static
void
tsdbGetFilename
(
int
vid
,
int
fid
,
uint32_t
ver
,
TSDB_FILE_T
ftype
,
char
*
fname
);
...
...
source/dnode/vnode/src/tsdb/tsdbMain.c
浏览文件 @
901b5976
...
...
@@ -89,7 +89,7 @@ static STsdb *tsdbNew(const char *path, int32_t vgId, const STsdbCfg *pTsdbCfg,
static
void
tsdbFree
(
STsdb
*
pTsdb
)
{
if
(
pTsdb
)
{
tsdbFreeFS
(
pTsdb
->
fs
);
tsdb
Free
SmaState
(
pTsdb
->
pSmaStat
);
tsdb
Destroy
SmaState
(
pTsdb
->
pSmaStat
);
tfree
(
pTsdb
->
path
);
free
(
pTsdb
);
}
...
...
source/dnode/vnode/src/tsdb/tsdbSma.c
浏览文件 @
901b5976
...
...
@@ -128,7 +128,7 @@ static SSmaStatItem *tsdbNewSmaStatItem(int8_t state) {
return
pItem
;
}
int32_t
tsdb
Free
SmaState
(
SSmaStat
*
pSmaStat
)
{
int32_t
tsdb
Destroy
SmaState
(
SSmaStat
*
pSmaStat
)
{
if
(
pSmaStat
)
{
// TODO: use taosHashSetFreeFp when taosHashSetFreeFp is ready.
SSmaStatItem
*
item
=
taosHashIterate
(
pSmaStat
->
smaStatItems
,
NULL
);
...
...
@@ -203,6 +203,23 @@ int32_t tsdbUpdateExpiredWindow(STsdb *pTsdb, char *msg) {
return
TSDB_CODE_SUCCESS
;
}
static
int32_t
tsdbResetExpiredWindow
(
STsdb
*
pTsdb
,
const
char
*
indexName
,
void
*
timeWindow
)
{
SSmaStatItem
*
pItem
=
NULL
;
if
(
pTsdb
->
pSmaStat
&&
pTsdb
->
pSmaStat
->
smaStatItems
)
{
pItem
=
(
SSmaStatItem
*
)
taosHashGet
(
pTsdb
->
pSmaStat
->
smaStatItems
,
indexName
,
strlen
(
indexName
));
}
if
(
pItem
!=
NULL
)
{
// TODO: reset time windows for the sma data blocks
while
(
true
)
{
TSKEY
thisWindow
=
0
;
taosHashRemove
(
pItem
->
expiredWindows
,
&
thisWindow
,
sizeof
(
thisWindow
));
}
}
return
TSDB_CODE_SUCCESS
;
}
/**
* @brief Judge the tSma storage level
*
...
...
@@ -387,7 +404,7 @@ static int32_t tsdbInsertTSmaDataSection(STSmaWriteH *pSmaH, STSmaData *pData, i
static
int32_t
tsdbInitTSmaWriteH
(
STSmaWriteH
*
pSmaH
,
STsdb
*
pTsdb
,
STSma
*
param
,
STSmaData
*
pData
)
{
pSmaH
->
pTsdb
=
pTsdb
;
pSmaH
->
interval
=
tsdbGetIntervalByPrecision
(
param
->
interval
,
param
->
intervalUnit
,
REPO_CFG
(
pTsdb
)
->
precision
);
pSmaH
->
blockSize
=
param
->
numOfFuncIds
*
sizeof
(
int64_t
);
//
pSmaH->blockSize = param->numOfFuncIds * sizeof(int64_t);
}
static
int32_t
tsdbSetTSmaDataFile
(
STSmaWriteH
*
pSmaH
,
STSma
*
param
,
STSmaData
*
pData
,
int32_t
storageLevel
,
...
...
@@ -495,6 +512,9 @@ int32_t tsdbInsertTSmaDataImpl(STsdb *pTsdb, STSma *param, STSmaData *pData) {
return
terrno
;
}
// reset the SSmaStat
tsdbResetExpiredWindow
(
pTsdb
,
param
->
indexName
,
&
pData
->
tsWindow
);
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -542,6 +562,10 @@ int32_t tsdbInsertRSmaDataImpl(STsdb *pTsdb, SRSma *param, STSmaData *pData) {
TASSERT
(
0
);
return
TSDB_CODE_INVALID_PARA
;
}
// reset the SSmaStat
tsdbResetExpiredWindow
(
pTsdb
,
param
->
tsma
.
indexName
,
&
pData
->
tsWindow
);
// Step 4: finish
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -558,7 +582,7 @@ int32_t tsdbInsertRSmaDataImpl(STsdb *pTsdb, SRSma *param, STSmaData *pData) {
static
int32_t
tsdbInitTSmaReadH
(
STSmaReadH
*
pSmaH
,
STsdb
*
pTsdb
,
STSma
*
param
,
STSmaData
*
pData
)
{
pSmaH
->
pTsdb
=
pTsdb
;
pSmaH
->
interval
=
tsdbGetIntervalByPrecision
(
param
->
interval
,
param
->
intervalUnit
,
REPO_CFG
(
pTsdb
)
->
precision
);
pSmaH
->
blockSize
=
param
->
numOfFuncIds
*
sizeof
(
int64_t
);
//
pSmaH->blockSize = param->numOfFuncIds * sizeof(int64_t);
}
/**
...
...
source/dnode/vnode/test/tqMetaTest.cpp
浏览文件 @
901b5976
...
...
@@ -168,10 +168,10 @@ TEST_F(TqMetaUpdateAppendTest, intxnPersist) {
}
TEST_F
(
TqMetaUpdateAppendTest
,
multiplePage
)
{
sr
and
(
0
);
taosSeedR
and
(
0
);
std
::
vector
<
int
>
v
;
for
(
int
i
=
0
;
i
<
1000
;
i
++
)
{
v
.
push_back
(
r
and
());
v
.
push_back
(
taosR
and
());
Foo
foo
;
foo
.
a
=
v
[
i
];
tqHandleCopyPut
(
pMeta
,
i
,
&
foo
,
sizeof
(
Foo
));
...
...
@@ -202,10 +202,10 @@ TEST_F(TqMetaUpdateAppendTest, multiplePage) {
}
TEST_F
(
TqMetaUpdateAppendTest
,
multipleRewrite
)
{
sr
and
(
0
);
taosSeedR
and
(
0
);
std
::
vector
<
int
>
v
;
for
(
int
i
=
0
;
i
<
1000
;
i
++
)
{
v
.
push_back
(
r
and
());
v
.
push_back
(
taosR
and
());
Foo
foo
;
foo
.
a
=
v
[
i
];
tqHandleCopyPut
(
pMeta
,
i
,
&
foo
,
sizeof
(
Foo
));
...
...
@@ -213,14 +213,14 @@ TEST_F(TqMetaUpdateAppendTest, multipleRewrite) {
for
(
int
i
=
0
;
i
<
500
;
i
++
)
{
tqHandleCommit
(
pMeta
,
i
);
v
[
i
]
=
r
and
();
v
[
i
]
=
taosR
and
();
Foo
foo
;
foo
.
a
=
v
[
i
];
tqHandleCopyPut
(
pMeta
,
i
,
&
foo
,
sizeof
(
Foo
));
}
for
(
int
i
=
500
;
i
<
1000
;
i
++
)
{
v
[
i
]
=
r
and
();
v
[
i
]
=
taosR
and
();
Foo
foo
;
foo
.
a
=
v
[
i
];
tqHandleCopyPut
(
pMeta
,
i
,
&
foo
,
sizeof
(
Foo
));
...
...
@@ -235,7 +235,7 @@ TEST_F(TqMetaUpdateAppendTest, multipleRewrite) {
ASSERT
(
pMeta
);
for
(
int
i
=
500
;
i
<
1000
;
i
++
)
{
v
[
i
]
=
r
and
();
v
[
i
]
=
taosR
and
();
Foo
foo
;
foo
.
a
=
v
[
i
];
tqHandleCopyPut
(
pMeta
,
i
,
&
foo
,
sizeof
(
Foo
));
...
...
@@ -250,10 +250,10 @@ TEST_F(TqMetaUpdateAppendTest, multipleRewrite) {
}
TEST_F
(
TqMetaUpdateAppendTest
,
dupCommit
)
{
sr
and
(
0
);
taosSeedR
and
(
0
);
std
::
vector
<
int
>
v
;
for
(
int
i
=
0
;
i
<
1000
;
i
++
)
{
v
.
push_back
(
r
and
());
v
.
push_back
(
taosR
and
());
Foo
foo
;
foo
.
a
=
v
[
i
];
tqHandleCopyPut
(
pMeta
,
i
,
&
foo
,
sizeof
(
Foo
));
...
...
source/dnode/vnode/test/tsdbSmaTest.cpp
浏览文件 @
901b5976
...
...
@@ -20,6 +20,7 @@
#include <metaDef.h>
#include <tmsg.h>
#include <tsdbDef.h>
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wwrite-strings"
...
...
@@ -41,17 +42,20 @@ TEST(testCase, tSmaEncodeDecodeTest) {
tSma
.
slidingUnit
=
TD_TIME_UNIT_HOUR
;
tSma
.
sliding
=
0
;
tstrncpy
(
tSma
.
indexName
,
"sma_index_test"
,
TSDB_INDEX_NAME_LEN
);
tstrncpy
(
tSma
.
timezone
,
"Asia/Shanghai"
,
TD_TIMEZONE_LEN
);
tSma
.
tableUid
=
1234567890
;
tSma
.
numOfColIds
=
2
;
tSma
.
numOfFuncIds
=
5
;
// sum/min/max/avg/last
tSma
.
colIds
=
(
col_id_t
*
)
calloc
(
tSma
.
numOfColIds
,
sizeof
(
col_id_t
));
tSma
.
funcIds
=
(
uint16_t
*
)
calloc
(
tSma
.
numOfFuncIds
,
sizeof
(
uint16_t
));
for
(
int32_t
i
=
0
;
i
<
tSma
.
numOfColIds
;
++
i
)
{
*
(
tSma
.
colIds
+
i
)
=
(
i
+
PRIMARYKEY_TIMESTAMP_COL_ID
);
}
for
(
int32_t
i
=
0
;
i
<
tSma
.
numOfFuncIds
;
++
i
)
{
*
(
tSma
.
funcIds
+
i
)
=
(
i
+
2
);
tSma
.
nFuncColIds
=
5
;
tSma
.
funcColIds
=
(
SFuncColIds
*
)
calloc
(
tSma
.
nFuncColIds
,
sizeof
(
SFuncColIds
));
ASSERT
(
tSma
.
funcColIds
!=
NULL
);
for
(
int32_t
n
=
0
;
n
<
tSma
.
nFuncColIds
;
++
n
)
{
SFuncColIds
*
funcColIds
=
tSma
.
funcColIds
+
n
;
funcColIds
->
funcId
=
n
;
funcColIds
->
nColIds
=
10
;
funcColIds
->
colIds
=
(
col_id_t
*
)
calloc
(
funcColIds
->
nColIds
,
sizeof
(
col_id_t
));
ASSERT
(
funcColIds
->
colIds
!=
NULL
);
for
(
int32_t
i
=
0
;
i
<
funcColIds
->
nColIds
;
++
i
)
{
*
(
funcColIds
->
colIds
+
i
)
=
(
i
+
PRIMARYKEY_TIMESTAMP_COL_ID
);
}
}
STSmaWrapper
tSmaWrapper
=
{.
number
=
1
,
.
tSma
=
&
tSma
};
...
...
@@ -80,16 +84,21 @@ TEST(testCase, tSmaEncodeDecodeTest) {
EXPECT_EQ
(
pSma
->
intervalUnit
,
qSma
->
intervalUnit
);
EXPECT_EQ
(
pSma
->
slidingUnit
,
qSma
->
slidingUnit
);
EXPECT_STRCASEEQ
(
pSma
->
indexName
,
qSma
->
indexName
);
EXPECT_
EQ
(
pSma
->
numOfColIds
,
qSma
->
numOfColIds
);
EXPECT_EQ
(
pSma
->
n
umOfFuncIds
,
qSma
->
numOfFunc
Ids
);
EXPECT_
STRCASEEQ
(
pSma
->
timezone
,
qSma
->
timezone
);
EXPECT_EQ
(
pSma
->
n
FuncColIds
,
qSma
->
nFuncCol
Ids
);
EXPECT_EQ
(
pSma
->
tableUid
,
qSma
->
tableUid
);
EXPECT_EQ
(
pSma
->
interval
,
qSma
->
interval
);
EXPECT_EQ
(
pSma
->
sliding
,
qSma
->
sliding
);
for
(
uint32_t
j
=
0
;
j
<
pSma
->
numOfColIds
;
++
j
)
{
EXPECT_EQ
(
*
(
col_id_t
*
)(
pSma
->
colIds
+
j
),
*
(
col_id_t
*
)(
qSma
->
colIds
+
j
));
}
for
(
uint32_t
j
=
0
;
j
<
pSma
->
numOfFuncIds
;
++
j
)
{
EXPECT_EQ
(
*
(
uint16_t
*
)(
pSma
->
funcIds
+
j
),
*
(
uint16_t
*
)(
qSma
->
funcIds
+
j
));
EXPECT_EQ
(
pSma
->
tagsFilterLen
,
qSma
->
tagsFilterLen
);
EXPECT_STRCASEEQ
(
pSma
->
tagsFilter
,
qSma
->
tagsFilter
);
for
(
uint32_t
j
=
0
;
j
<
pSma
->
nFuncColIds
;
++
j
)
{
SFuncColIds
*
pFuncColIds
=
pSma
->
funcColIds
+
j
;
SFuncColIds
*
qFuncColIds
=
qSma
->
funcColIds
+
j
;
EXPECT_EQ
(
pFuncColIds
->
funcId
,
qFuncColIds
->
funcId
);
EXPECT_EQ
(
pFuncColIds
->
nColIds
,
qFuncColIds
->
nColIds
);
for
(
uint32_t
k
=
0
;
k
<
pFuncColIds
->
nColIds
;
++
k
)
{
EXPECT_EQ
(
*
(
pFuncColIds
->
colIds
+
k
),
*
(
qFuncColIds
->
colIds
+
k
));
}
}
}
...
...
@@ -99,9 +108,11 @@ TEST(testCase, tSmaEncodeDecodeTest) {
}
TEST
(
testCase
,
tSma_DB_Put_Get_Del_Test
)
{
const
char
*
smaIndexName1
=
"sma_index_test_1"
;
const
char
*
smaIndexName2
=
"sma_index_test_2"
;
const
char
*
smaTestDir
=
"./smaTest"
;
const
char
*
smaIndexName1
=
"sma_index_test_1"
;
const
char
*
smaIndexName2
=
"sma_index_test_2"
;
const
char
*
timeZone
=
"Asia/Shanghai"
;
const
char
*
tagsFilter
=
"I'm tags filter"
;
const
char
*
smaTestDir
=
"./smaTest"
;
const
uint64_t
tbUid
=
1234567890
;
const
uint32_t
nCntTSma
=
2
;
// encode
...
...
@@ -112,21 +123,27 @@ TEST(testCase, tSma_DB_Put_Get_Del_Test) {
tSma
.
slidingUnit
=
TD_TIME_UNIT_HOUR
;
tSma
.
sliding
=
0
;
tstrncpy
(
tSma
.
indexName
,
smaIndexName1
,
TSDB_INDEX_NAME_LEN
);
tstrncpy
(
tSma
.
timezone
,
timeZone
,
TD_TIMEZONE_LEN
);
tSma
.
tableUid
=
tbUid
;
tSma
.
numOfColIds
=
2
;
tSma
.
numOfFuncIds
=
5
;
// sum/min/max/avg/last
tSma
.
colIds
=
(
col_id_t
*
)
calloc
(
tSma
.
numOfColIds
,
sizeof
(
col_id_t
));
tSma
.
funcIds
=
(
uint16_t
*
)
calloc
(
tSma
.
numOfFuncIds
,
sizeof
(
uint16_t
));
for
(
int32_t
i
=
0
;
i
<
tSma
.
numOfColIds
;
++
i
)
{
*
(
tSma
.
colIds
+
i
)
=
(
i
+
PRIMARYKEY_TIMESTAMP_COL_ID
);
}
for
(
int32_t
i
=
0
;
i
<
tSma
.
numOfFuncIds
;
++
i
)
{
*
(
tSma
.
funcIds
+
i
)
=
(
i
+
2
);
tSma
.
nFuncColIds
=
5
;
tSma
.
funcColIds
=
(
SFuncColIds
*
)
calloc
(
tSma
.
nFuncColIds
,
sizeof
(
SFuncColIds
));
ASSERT
(
tSma
.
funcColIds
!=
NULL
);
for
(
int32_t
n
=
0
;
n
<
tSma
.
nFuncColIds
;
++
n
)
{
SFuncColIds
*
funcColIds
=
tSma
.
funcColIds
+
n
;
funcColIds
->
funcId
=
n
;
funcColIds
->
nColIds
=
10
;
funcColIds
->
colIds
=
(
col_id_t
*
)
calloc
(
funcColIds
->
nColIds
,
sizeof
(
col_id_t
));
ASSERT
(
funcColIds
->
colIds
!=
NULL
);
for
(
int32_t
i
=
0
;
i
<
funcColIds
->
nColIds
;
++
i
)
{
*
(
funcColIds
->
colIds
+
i
)
=
(
i
+
PRIMARYKEY_TIMESTAMP_COL_ID
);
}
}
tSma
.
tagsFilterLen
=
strlen
(
tagsFilter
);
tSma
.
tagsFilter
=
(
char
*
)
calloc
(
tSma
.
tagsFilterLen
+
1
,
1
);
tstrncpy
(
tSma
.
tagsFilter
,
tagsFilter
,
tSma
.
tagsFilterLen
+
1
);
SMeta
*
pMeta
=
NULL
;
STSma
*
pSmaCfg
=
&
tSma
;
STSma
*
pSmaCfg
=
&
tSma
;
const
SMetaCfg
*
pMetaCfg
=
&
defaultMetaOptions
;
taosRemoveDir
(
smaTestDir
);
...
...
@@ -151,6 +168,8 @@ TEST(testCase, tSma_DB_Put_Get_Del_Test) {
qSmaCfg
=
metaGetSmaInfoByName
(
pMeta
,
smaIndexName1
);
assert
(
qSmaCfg
!=
NULL
);
printf
(
"name1 = %s
\n
"
,
qSmaCfg
->
indexName
);
printf
(
"timezone1 = %s
\n
"
,
qSmaCfg
->
timezone
);
printf
(
"tagsFilter1 = %s
\n
"
,
qSmaCfg
->
tagsFilter
!=
NULL
?
qSmaCfg
->
tagsFilter
:
""
);
EXPECT_STRCASEEQ
(
qSmaCfg
->
indexName
,
smaIndexName1
);
EXPECT_EQ
(
qSmaCfg
->
tableUid
,
tSma
.
tableUid
);
tdDestroyTSma
(
qSmaCfg
);
...
...
@@ -159,6 +178,8 @@ TEST(testCase, tSma_DB_Put_Get_Del_Test) {
qSmaCfg
=
metaGetSmaInfoByName
(
pMeta
,
smaIndexName2
);
assert
(
qSmaCfg
!=
NULL
);
printf
(
"name2 = %s
\n
"
,
qSmaCfg
->
indexName
);
printf
(
"timezone2 = %s
\n
"
,
qSmaCfg
->
timezone
);
printf
(
"tagsFilter2 = %s
\n
"
,
qSmaCfg
->
tagsFilter
!=
NULL
?
qSmaCfg
->
tagsFilter
:
""
);
EXPECT_STRCASEEQ
(
qSmaCfg
->
indexName
,
smaIndexName2
);
EXPECT_EQ
(
qSmaCfg
->
interval
,
tSma
.
interval
);
tdDestroyTSma
(
qSmaCfg
);
...
...
@@ -169,7 +190,7 @@ TEST(testCase, tSma_DB_Put_Get_Del_Test) {
assert
(
pSmaCur
!=
NULL
);
uint32_t
indexCnt
=
0
;
while
(
1
)
{
const
char
*
indexName
=
metaSmaCursorNext
(
pSmaCur
);
const
char
*
indexName
=
metaSmaCursorNext
(
pSmaCur
);
if
(
indexName
==
NULL
)
{
break
;
}
...
...
@@ -184,10 +205,14 @@ TEST(testCase, tSma_DB_Put_Get_Del_Test) {
assert
(
pSW
!=
NULL
);
EXPECT_EQ
(
pSW
->
number
,
nCntTSma
);
EXPECT_STRCASEEQ
(
pSW
->
tSma
->
indexName
,
smaIndexName1
);
EXPECT_STRCASEEQ
(
pSW
->
tSma
->
timezone
,
timeZone
);
EXPECT_STRCASEEQ
(
pSW
->
tSma
->
tagsFilter
,
tagsFilter
);
EXPECT_EQ
(
pSW
->
tSma
->
tableUid
,
tSma
.
tableUid
);
EXPECT_STRCASEEQ
((
pSW
->
tSma
+
1
)
->
indexName
,
smaIndexName2
);
EXPECT_STRCASEEQ
((
pSW
->
tSma
+
1
)
->
timezone
,
timeZone
);
EXPECT_STRCASEEQ
((
pSW
->
tSma
+
1
)
->
tagsFilter
,
tagsFilter
);
EXPECT_EQ
((
pSW
->
tSma
+
1
)
->
tableUid
,
tSma
.
tableUid
);
tdDestroyTSmaWrapper
(
pSW
);
tfree
(
pSW
);
...
...
@@ -211,9 +236,9 @@ TEST(testCase, tSma_DB_Put_Get_Del_Test) {
#if 0
TEST(testCase, tSmaInsertTest) {
STSma tSma = {0};
STSmaData
*
pSmaData = NULL;
STsdb tsdb = {0};
STSma
tSma = {0};
STSmaData
*
pSmaData = NULL;
STsdb
tsdb = {0};
// init
tSma.intervalUnit = TD_TIME_UNIT_DAY;
...
...
@@ -226,7 +251,7 @@ TEST(testCase, tSmaInsertTest) {
int32_t dataLen = numOfColIds * numOfBlocks * blockSize;
pSmaData = (STSmaData*)malloc(sizeof(STSmaData) + dataLen);
pSmaData = (STSmaData
*)malloc(sizeof(STSmaData) + dataLen);
ASSERT_EQ(pSmaData != NULL, true);
pSmaData->tableUid = 3232329230;
pSmaData->numOfColIds = numOfColIds;
...
...
@@ -234,7 +259,7 @@ TEST(testCase, tSmaInsertTest) {
pSmaData->dataLen = dataLen;
pSmaData->tsWindow.skey = 1640000000;
pSmaData->tsWindow.ekey = 1645788649;
pSmaData->colIds = (col_id_t*)malloc(sizeof(col_id_t) * numOfColIds);
pSmaData->colIds = (col_id_t
*)malloc(sizeof(col_id_t) * numOfColIds);
ASSERT_EQ(pSmaData->colIds != NULL, true);
for (int32_t i = 0; i < numOfColIds; ++i) {
...
...
source/libs/catalog/src/catalog.c
浏览文件 @
901b5976
...
...
@@ -2635,7 +2635,7 @@ void catalogDestroy(void) {
tsem_post
(
&
gCtgMgmt
.
sem
);
while
(
CTG_IS_LOCKED
(
&
gCtgMgmt
.
lock
))
{
u
sleep
(
1
);
taosU
sleep
(
1
);
}
CTG_LOCK
(
CTG_WRITE
,
&
gCtgMgmt
.
lock
);
...
...
source/libs/catalog/test/catalogTests.cpp
浏览文件 @
901b5976
...
...
@@ -723,7 +723,7 @@ void *ctgTestGetDbVgroupThread(void *param) {
}
if
(
ctgTestEnableSleep
)
{
usleep
(
r
and
()
%
5
);
taosUsleep
(
taosR
and
()
%
5
);
}
if
(
++
n
%
ctgTestPrintNum
==
0
)
{
printf
(
"Get:%d
\n
"
,
n
);
...
...
@@ -747,7 +747,7 @@ void *ctgTestSetSameDbVgroupThread(void *param) {
}
if
(
ctgTestEnableSleep
)
{
usleep
(
r
and
()
%
5
);
taosUsleep
(
taosR
and
()
%
5
);
}
if
(
++
n
%
ctgTestPrintNum
==
0
)
{
printf
(
"Set:%d
\n
"
,
n
);
...
...
@@ -771,7 +771,7 @@ void *ctgTestSetDiffDbVgroupThread(void *param) {
}
if
(
ctgTestEnableSleep
)
{
usleep
(
r
and
()
%
5
);
taosUsleep
(
taosR
and
()
%
5
);
}
if
(
++
n
%
ctgTestPrintNum
==
0
)
{
printf
(
"Set:%d
\n
"
,
n
);
...
...
@@ -801,7 +801,7 @@ void *ctgTestGetCtableMetaThread(void *param) {
tfree
(
tbMeta
);
if
(
ctgTestEnableSleep
)
{
usleep
(
r
and
()
%
5
);
taosUsleep
(
taosR
and
()
%
5
);
}
if
(
++
n
%
ctgTestPrintNum
==
0
)
{
...
...
@@ -838,7 +838,7 @@ void *ctgTestSetCtableMetaThread(void *param) {
}
if
(
ctgTestEnableSleep
)
{
usleep
(
r
and
()
%
5
);
taosUsleep
(
taosR
and
()
%
5
);
}
if
(
++
n
%
ctgTestPrintNum
==
0
)
{
printf
(
"Set:%d
\n
"
,
n
);
...
...
@@ -880,7 +880,7 @@ TEST(tableMeta, normalTable) {
ASSERT_EQ
(
vgInfo
.
epSet
.
numOfEps
,
3
);
while
(
0
==
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_DB_NUM
))
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
ctgTestSetRspTableMeta
();
...
...
@@ -901,7 +901,7 @@ TEST(tableMeta, normalTable) {
while
(
true
)
{
uint32_t
n
=
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
);
if
(
0
==
n
)
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
else
{
break
;
}
...
...
@@ -949,7 +949,7 @@ TEST(tableMeta, normalTable) {
allDbNum
+=
dbNum
;
allStbNum
+=
stbNum
;
sleep
(
2
);
taosS
sleep
(
2
);
}
ASSERT_EQ
(
allDbNum
,
1
);
...
...
@@ -996,7 +996,7 @@ TEST(tableMeta, childTableCase) {
while
(
true
)
{
uint32_t
n
=
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
);
if
(
0
==
n
)
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
else
{
break
;
}
...
...
@@ -1058,7 +1058,7 @@ TEST(tableMeta, childTableCase) {
allDbNum
+=
dbNum
;
allStbNum
+=
stbNum
;
sleep
(
2
);
taosS
sleep
(
2
);
}
ASSERT_EQ
(
allDbNum
,
1
);
...
...
@@ -1105,7 +1105,7 @@ TEST(tableMeta, superTableCase) {
while
(
true
)
{
uint32_t
n
=
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
);
if
(
0
==
n
)
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
else
{
break
;
}
...
...
@@ -1132,7 +1132,7 @@ TEST(tableMeta, superTableCase) {
while
(
true
)
{
uint32_t
n
=
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
);
if
(
2
!=
n
)
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
else
{
break
;
}
...
...
@@ -1181,7 +1181,7 @@ TEST(tableMeta, superTableCase) {
allDbNum
+=
dbNum
;
allStbNum
+=
stbNum
;
sleep
(
2
);
taosS
sleep
(
2
);
}
ASSERT_EQ
(
allDbNum
,
1
);
...
...
@@ -1230,7 +1230,7 @@ TEST(tableMeta, rmStbMeta) {
while
(
true
)
{
uint32_t
n
=
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
);
if
(
0
==
n
)
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
else
{
break
;
}
...
...
@@ -1244,7 +1244,7 @@ TEST(tableMeta, rmStbMeta) {
int32_t
n
=
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
);
int32_t
m
=
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_STB_RENT_NUM
);
if
(
n
||
m
)
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
else
{
break
;
}
...
...
@@ -1300,7 +1300,7 @@ TEST(tableMeta, updateStbMeta) {
while
(
true
)
{
uint32_t
n
=
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
);
if
(
0
==
n
)
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
else
{
break
;
}
...
...
@@ -1320,7 +1320,7 @@ TEST(tableMeta, updateStbMeta) {
uint64_t
n
=
0
;
ctgDbgGetStatNum
(
"runtime.qDoneNum"
,
(
void
*
)
&
n
);
if
(
n
!=
3
)
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
else
{
break
;
}
...
...
@@ -1392,7 +1392,7 @@ TEST(refreshGetMeta, normal2normal) {
if
(
n
>
0
)
{
break
;
}
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
STableMeta
*
tableMeta
=
NULL
;
...
...
@@ -1410,7 +1410,7 @@ TEST(refreshGetMeta, normal2normal) {
tfree
(
tableMeta
);
while
(
0
==
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
))
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
code
=
catalogRefreshGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
tableMeta
,
0
);
...
...
@@ -1471,7 +1471,7 @@ TEST(refreshGetMeta, normal2notexist) {
if
(
n
>
0
)
{
break
;
}
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
STableMeta
*
tableMeta
=
NULL
;
...
...
@@ -1489,7 +1489,7 @@ TEST(refreshGetMeta, normal2notexist) {
tfree
(
tableMeta
);
while
(
0
==
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
))
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
code
=
catalogRefreshGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
tableMeta
,
0
);
...
...
@@ -1545,7 +1545,7 @@ TEST(refreshGetMeta, normal2child) {
if
(
n
>
0
)
{
break
;
}
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
STableMeta
*
tableMeta
=
NULL
;
...
...
@@ -1563,7 +1563,7 @@ TEST(refreshGetMeta, normal2child) {
tfree
(
tableMeta
);
while
(
0
==
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
))
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
code
=
catalogRefreshGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
tableMeta
,
0
);
...
...
@@ -1629,7 +1629,7 @@ TEST(refreshGetMeta, stable2child) {
if
(
n
>
0
)
{
break
;
}
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
STableMeta
*
tableMeta
=
NULL
;
...
...
@@ -1648,7 +1648,7 @@ TEST(refreshGetMeta, stable2child) {
tfree
(
tableMeta
);
while
(
0
==
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
))
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
ctgTestCurrentSTableName
=
ctgTestSTablename
;
...
...
@@ -1714,7 +1714,7 @@ TEST(refreshGetMeta, stable2stable) {
if
(
n
>
0
)
{
break
;
}
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
STableMeta
*
tableMeta
=
NULL
;
...
...
@@ -1733,7 +1733,7 @@ TEST(refreshGetMeta, stable2stable) {
tfree
(
tableMeta
);
while
(
0
==
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
))
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
code
=
catalogRefreshGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
tableMeta
,
0
);
...
...
@@ -1802,7 +1802,7 @@ TEST(refreshGetMeta, child2stable) {
if
(
n
>
0
)
{
break
;
}
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
STableMeta
*
tableMeta
=
NULL
;
...
...
@@ -1819,7 +1819,7 @@ TEST(refreshGetMeta, child2stable) {
tfree
(
tableMeta
);
while
(
2
!=
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
))
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
ctgTestCurrentSTableName
=
ctgTestTablename
;
...
...
@@ -2019,7 +2019,7 @@ TEST(dbVgroup, getSetDbVgroupCase) {
if
(
n
>
0
)
{
break
;
}
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
code
=
catalogGetTableHashVgroup
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
vgInfo
);
...
...
@@ -2043,7 +2043,7 @@ TEST(dbVgroup, getSetDbVgroupCase) {
uint64_t
n
=
0
;
ctgDbgGetStatNum
(
"runtime.qDoneNum"
,
(
void
*
)
&
n
);
if
(
n
!=
3
)
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
else
{
break
;
}
...
...
@@ -2100,20 +2100,20 @@ TEST(multiThread, getSetRmSameDbVgroup) {
pthread_t
thread1
,
thread2
;
pthread_create
(
&
(
thread1
),
&
thattr
,
ctgTestSetSameDbVgroupThread
,
pCtg
);
sleep
(
1
);
taosS
sleep
(
1
);
pthread_create
(
&
(
thread2
),
&
thattr
,
ctgTestGetDbVgroupThread
,
pCtg
);
while
(
true
)
{
if
(
ctgTestDeadLoop
)
{
sleep
(
1
);
taosS
sleep
(
1
);
}
else
{
sleep
(
ctgTestMTRunSec
);
taosS
sleep
(
ctgTestMTRunSec
);
break
;
}
}
ctgTestStop
=
true
;
sleep
(
1
);
taosS
sleep
(
1
);
catalogDestroy
();
memset
(
&
gCtgMgmt
,
0
,
sizeof
(
gCtgMgmt
));
...
...
@@ -2152,20 +2152,20 @@ TEST(multiThread, getSetRmDiffDbVgroup) {
pthread_t
thread1
,
thread2
;
pthread_create
(
&
(
thread1
),
&
thattr
,
ctgTestSetDiffDbVgroupThread
,
pCtg
);
sleep
(
1
);
taosS
sleep
(
1
);
pthread_create
(
&
(
thread2
),
&
thattr
,
ctgTestGetDbVgroupThread
,
pCtg
);
while
(
true
)
{
if
(
ctgTestDeadLoop
)
{
sleep
(
1
);
taosS
sleep
(
1
);
}
else
{
sleep
(
ctgTestMTRunSec
);
taosS
sleep
(
ctgTestMTRunSec
);
break
;
}
}
ctgTestStop
=
true
;
sleep
(
1
);
taosS
sleep
(
1
);
catalogDestroy
();
memset
(
&
gCtgMgmt
,
0
,
sizeof
(
gCtgMgmt
));
...
...
@@ -2203,20 +2203,20 @@ TEST(multiThread, ctableMeta) {
pthread_t
thread1
,
thread2
;
pthread_create
(
&
(
thread1
),
&
thattr
,
ctgTestSetCtableMetaThread
,
pCtg
);
sleep
(
1
);
taosS
sleep
(
1
);
pthread_create
(
&
(
thread1
),
&
thattr
,
ctgTestGetCtableMetaThread
,
pCtg
);
while
(
true
)
{
if
(
ctgTestDeadLoop
)
{
sleep
(
1
);
taosS
sleep
(
1
);
}
else
{
sleep
(
ctgTestMTRunSec
);
taosS
sleep
(
ctgTestMTRunSec
);
break
;
}
}
ctgTestStop
=
true
;
sleep
(
2
);
taosS
sleep
(
2
);
catalogDestroy
();
memset
(
&
gCtgMgmt
,
0
,
sizeof
(
gCtgMgmt
));
...
...
@@ -2267,7 +2267,7 @@ TEST(rentTest, allRent) {
ASSERT_EQ
(
tableMeta
->
tableInfo
.
rowSize
,
12
);
while
(
ctgDbgGetClusterCacheNum
(
pCtg
,
CTG_DBG_META_NUM
)
<
i
)
{
usleep
(
5000
0
);
taosMsleep
(
5
0
);
}
code
=
catalogGetExpiredDBs
(
pCtg
,
&
dbs
,
&
num
);
...
...
@@ -2292,7 +2292,7 @@ TEST(rentTest, allRent) {
}
printf
(
"*************************************************
\n
"
);
sleep
(
2
);
taosS
sleep
(
2
);
}
catalogDestroy
();
...
...
source/libs/executor/src/executorimpl.c
浏览文件 @
901b5976
...
...
@@ -61,7 +61,7 @@ typedef enum SResultTsInterpType {
#if 0
static UNUSED_FUNC void *u_malloc (size_t __size) {
uint32_t v =
r
and();
uint32_t v =
taosR
and();
if (v % 1000 <= 0) {
return NULL;
...
...
@@ -71,7 +71,7 @@ static UNUSED_FUNC void *u_malloc (size_t __size) {
}
static UNUSED_FUNC void* u_calloc(size_t num, size_t __size) {
uint32_t v =
r
and();
uint32_t v =
taosR
and();
if (v % 1000 <= 0) {
return NULL;
} else {
...
...
@@ -80,7 +80,7 @@ static UNUSED_FUNC void* u_calloc(size_t num, size_t __size) {
}
static UNUSED_FUNC void* u_realloc(void* p, size_t __size) {
uint32_t v =
r
and();
uint32_t v =
taosR
and();
if (v % 5 <= 1) {
return NULL;
} else {
...
...
source/libs/executor/test/executorTests.cpp
浏览文件 @
901b5976
...
...
@@ -869,7 +869,7 @@ TEST(testCase, external_sort_Test) {
#if 0
su* v = static_cast<su*>(calloc(1000000, sizeof(su)));
for(int32_t i = 0; i < 1000000; ++i) {
v[i].v =
r
and();
v[i].v =
taosR
and();
v[i].c = static_cast<char*>(malloc(4));
*(int32_t*) v[i].c = i;
}
...
...
@@ -882,7 +882,7 @@ TEST(testCase, external_sort_Test) {
return;
#endif
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
SArray
*
pOrderVal
=
taosArrayInit
(
4
,
sizeof
(
SOrder
));
SOrder
o
=
{
0
};
...
...
@@ -943,7 +943,7 @@ TEST(testCase, external_sort_Test) {
}
TEST
(
testCase
,
sorted_merge_Test
)
{
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
SArray
*
pOrderVal
=
taosArrayInit
(
4
,
sizeof
(
SOrder
));
SOrder
o
=
{
0
};
...
...
@@ -1015,7 +1015,7 @@ TEST(testCase, sorted_merge_Test) {
}
TEST
(
testCase
,
time_interval_Operator_Test
)
{
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
SArray
*
pOrderVal
=
taosArrayInit
(
4
,
sizeof
(
SOrder
));
SOrder
o
=
{
0
};
...
...
source/libs/executor/test/lhashTests.cpp
浏览文件 @
901b5976
...
...
@@ -25,7 +25,7 @@
#pragma GCC diagnostic ignored "-Wsign-compare"
TEST
(
testCase
,
linear_hash_Tests
)
{
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
_hash_fn_t
fn
=
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_INT
);
#if 0
...
...
source/libs/index/test/indexTests.cc
浏览文件 @
901b5976
...
...
@@ -699,7 +699,7 @@ class IndexObj {
for
(
int
i
=
0
;
i
<
numOfTable
;
i
++
)
{
for
(
int
k
=
0
;
k
<
10
&&
k
<
colVal
.
size
();
k
++
)
{
// opt
tColVal
[
r
and
()
%
colValSize
]
=
'a'
+
k
%
26
;
tColVal
[
taosR
and
()
%
colValSize
]
=
'a'
+
k
%
26
;
}
SIndexTerm
*
term
=
indexTermCreate
(
0
,
ADD_VALUE
,
TSDB_DATA_TYPE_BINARY
,
colName
.
c_str
(),
colName
.
size
(),
tColVal
.
c_str
(),
tColVal
.
size
());
...
...
source/libs/qcom/test/queryTest.cpp
浏览文件 @
901b5976
...
...
@@ -63,7 +63,7 @@ int main(int argc, char** argv) {
TEST
(
testCase
,
async_task_test
)
{
SParam
*
p
=
(
SParam
*
)
calloc
(
1
,
sizeof
(
SParam
));
taosAsyncExec
(
testPrint
,
p
,
NULL
);
usleep
(
5000
);
taosMsleep
(
5
);
}
TEST
(
testCase
,
many_async_task_test
)
{
...
...
@@ -73,14 +73,14 @@ TEST(testCase, many_async_task_test) {
taosAsyncExec
(
testPrint
,
p
,
NULL
);
}
usleep
(
1000
0
);
taosMsleep
(
1
0
);
}
TEST
(
testCase
,
error_in_async_test
)
{
int32_t
code
=
0
;
SParam
*
p
=
(
SParam
*
)
calloc
(
1
,
sizeof
(
SParam
));
taosAsyncExec
(
testPrintError
,
p
,
&
code
);
usleep
(
1000
);
taosMsleep
(
1
);
printf
(
"Error code:%d after asynchronously exec function
\n
"
,
code
);
}
...
...
source/libs/qworker/test/qworkerTests.cpp
浏览文件 @
901b5976
...
...
@@ -266,7 +266,7 @@ int32_t qwtCreateExecTask(void* tsdb, int32_t vgId, struct SSubplan* pPlan, qTas
int32_t
idx
=
abs
((
++
qwtTestCaseIdx
)
%
qwtTestCaseNum
);
qwtTestSinkBlockNum
=
0
;
qwtTestSinkMaxBlockNum
=
r
and
()
%
100
+
1
;
qwtTestSinkMaxBlockNum
=
taosR
and
()
%
100
+
1
;
qwtTestSinkQueryEnd
=
false
;
if
(
0
==
idx
)
{
...
...
@@ -295,29 +295,29 @@ int32_t qwtExecTask(qTaskInfo_t tinfo, SSDataBlock** pRes, uint64_t *useconds) {
}
else
{
if
(
qwtTestSinkQueryEnd
)
{
*
pRes
=
NULL
;
*
useconds
=
r
and
()
%
10
;
*
useconds
=
taosR
and
()
%
10
;
return
0
;
}
endExec
=
r
and
()
%
5
;
endExec
=
taosR
and
()
%
5
;
int32_t
runTime
=
0
;
if
(
qwtTestEnableSleep
&&
qwtTestMaxExecTaskUsec
>
0
)
{
runTime
=
r
and
()
%
qwtTestMaxExecTaskUsec
;
runTime
=
taosR
and
()
%
qwtTestMaxExecTaskUsec
;
}
if
(
qwtTestEnableSleep
)
{
if
(
runTime
)
{
u
sleep
(
runTime
);
taosU
sleep
(
runTime
);
}
}
if
(
endExec
)
{
*
pRes
=
(
SSDataBlock
*
)
calloc
(
1
,
sizeof
(
SSDataBlock
));
(
*
pRes
)
->
info
.
rows
=
r
and
()
%
1000
;
(
*
pRes
)
->
info
.
rows
=
taosR
and
()
%
1000
;
}
else
{
*
pRes
=
NULL
;
*
useconds
=
r
and
()
%
10
;
*
useconds
=
taosR
and
()
%
10
;
}
}
...
...
@@ -376,7 +376,7 @@ void qwtGetDataLength(DataSinkHandle handle, int32_t* pLen, bool* pQueryEnd) {
taosWLockLatch
(
&
qwtTestSinkLock
);
if
(
qwtTestSinkBlockNum
>
0
)
{
*
pLen
=
r
and
()
%
100
+
1
;
*
pLen
=
taosR
and
()
%
100
+
1
;
qwtTestSinkBlockNum
--
;
}
else
{
*
pLen
=
0
;
...
...
@@ -392,7 +392,7 @@ void qwtGetDataLength(DataSinkHandle handle, int32_t* pLen, bool* pQueryEnd) {
int32_t
qwtGetDataBlock
(
DataSinkHandle
handle
,
SOutputData
*
pOutput
)
{
taosWLockLatch
(
&
qwtTestSinkLock
);
if
(
qwtTestSinkLastLen
>
0
)
{
pOutput
->
numOfRows
=
r
and
()
%
10
+
1
;
pOutput
->
numOfRows
=
taosR
and
()
%
10
+
1
;
pOutput
->
compressed
=
1
;
pOutput
->
queryEnd
=
qwtTestSinkQueryEnd
;
if
(
qwtTestSinkBlockNum
==
0
)
{
...
...
@@ -402,7 +402,7 @@ int32_t qwtGetDataBlock(DataSinkHandle handle, SOutputData* pOutput) {
}
else
{
pOutput
->
bufStatus
=
DS_BUF_FULL
;
}
pOutput
->
useconds
=
r
and
()
%
10
+
1
;
pOutput
->
useconds
=
taosR
and
()
%
10
+
1
;
pOutput
->
precision
=
1
;
}
else
if
(
qwtTestSinkLastLen
==
0
)
{
pOutput
->
numOfRows
=
0
;
...
...
@@ -416,7 +416,7 @@ int32_t qwtGetDataBlock(DataSinkHandle handle, SOutputData* pOutput) {
}
else
{
pOutput
->
bufStatus
=
DS_BUF_FULL
;
}
pOutput
->
useconds
=
r
and
()
%
10
+
1
;
pOutput
->
useconds
=
taosR
and
()
%
10
+
1
;
pOutput
->
precision
=
1
;
}
else
{
assert
(
0
);
...
...
@@ -590,7 +590,7 @@ void *queryThread(void *param) {
qwtBuildQueryReqMsg
(
&
queryRpc
);
qWorkerProcessQueryMsg
(
mockPointer
,
mgmt
,
&
queryRpc
);
if
(
qwtTestEnableSleep
)
{
usleep
(
r
and
()
%
5
);
taosUsleep
(
taosR
and
()
%
5
);
}
if
(
++
n
%
qwtTestPrintNum
==
0
)
{
printf
(
"query:%d
\n
"
,
n
);
...
...
@@ -612,7 +612,7 @@ void *readyThread(void *param) {
qwtBuildReadyReqMsg
(
&
readyMsg
,
&
readyRpc
);
code
=
qWorkerProcessReadyMsg
(
mockPointer
,
mgmt
,
&
readyRpc
);
if
(
qwtTestEnableSleep
)
{
usleep
(
r
and
()
%
5
);
taosUsleep
(
taosR
and
()
%
5
);
}
if
(
++
n
%
qwtTestPrintNum
==
0
)
{
printf
(
"ready:%d
\n
"
,
n
);
...
...
@@ -634,7 +634,7 @@ void *fetchThread(void *param) {
qwtBuildFetchReqMsg
(
&
fetchMsg
,
&
fetchRpc
);
code
=
qWorkerProcessFetchMsg
(
mockPointer
,
mgmt
,
&
fetchRpc
);
if
(
qwtTestEnableSleep
)
{
usleep
(
r
and
()
%
5
);
taosUsleep
(
taosR
and
()
%
5
);
}
if
(
++
n
%
qwtTestPrintNum
==
0
)
{
printf
(
"fetch:%d
\n
"
,
n
);
...
...
@@ -656,7 +656,7 @@ void *dropThread(void *param) {
qwtBuildDropReqMsg
(
&
dropMsg
,
&
dropRpc
);
code
=
qWorkerProcessDropMsg
(
mockPointer
,
mgmt
,
&
dropRpc
);
if
(
qwtTestEnableSleep
)
{
usleep
(
r
and
()
%
5
);
taosUsleep
(
taosR
and
()
%
5
);
}
if
(
++
n
%
qwtTestPrintNum
==
0
)
{
printf
(
"drop:%d
\n
"
,
n
);
...
...
@@ -678,7 +678,7 @@ void *statusThread(void *param) {
qwtBuildStatusReqMsg
(
&
statusMsg
,
&
statusRpc
);
code
=
qWorkerProcessStatusMsg
(
mockPointer
,
mgmt
,
&
statusRpc
);
if
(
qwtTestEnableSleep
)
{
usleep
(
r
and
()
%
5
);
taosUsleep
(
taosR
and
()
%
5
);
}
if
(
++
n
%
qwtTestPrintNum
==
0
)
{
printf
(
"status:%d
\n
"
,
n
);
...
...
@@ -696,7 +696,7 @@ void *qwtclientThread(void *param) {
void
*
mockPointer
=
(
void
*
)
0x1
;
SRpcMsg
queryRpc
=
{
0
};
sleep
(
1
);
taosS
sleep
(
1
);
while
(
!
qwtTestStop
)
{
qwtTestCaseFinished
=
false
;
...
...
@@ -705,7 +705,7 @@ void *qwtclientThread(void *param) {
qwtPutReqToQueue
((
void
*
)
0x1
,
&
queryRpc
);
while
(
!
qwtTestCaseFinished
)
{
u
sleep
(
1
);
taosU
sleep
(
1
);
}
...
...
@@ -748,10 +748,10 @@ void *queryQueueThread(void *param) {
if
(
qwtTestEnableSleep
&&
qwtTestReqMaxDelayUsec
>
0
)
{
int32_t
delay
=
r
and
()
%
qwtTestReqMaxDelayUsec
;
int32_t
delay
=
taosR
and
()
%
qwtTestReqMaxDelayUsec
;
if
(
delay
)
{
u
sleep
(
delay
);
taosU
sleep
(
delay
);
}
}
...
...
@@ -804,10 +804,10 @@ void *fetchQueueThread(void *param) {
taosWUnLockLatch
(
&
qwtTestFetchQueueLock
);
if
(
qwtTestEnableSleep
&&
qwtTestReqMaxDelayUsec
>
0
)
{
int32_t
delay
=
r
and
()
%
qwtTestReqMaxDelayUsec
;
int32_t
delay
=
taosR
and
()
%
qwtTestReqMaxDelayUsec
;
if
(
delay
)
{
u
sleep
(
delay
);
taosU
sleep
(
delay
);
}
}
...
...
@@ -963,7 +963,7 @@ TEST(seqTest, randCase) {
stubSetRpcSendResponse();
stubSetCreateExecTask();
sr
and(time(NULL));
taosSeedR
and(time(NULL));
code = qWorkerInit(NODE_TYPE_VNODE, 1, NULL, &mgmt, mockPointer, qwtPutReqToQueue);
ASSERT_EQ(code, 0);
...
...
@@ -971,7 +971,7 @@ TEST(seqTest, randCase) {
int32_t t = 0;
int32_t maxr = 10001;
while (true) {
int32_t r =
r
and() % maxr;
int32_t r =
taosR
and() % maxr;
if (r >= 0 && r < maxr/5) {
printf("Query,%d\n", t++);
...
...
@@ -982,21 +982,21 @@ TEST(seqTest, randCase) {
qwtBuildReadyReqMsg(&readyMsg, &readyRpc);
code = qWorkerProcessReadyMsg(mockPointer, mgmt, &readyRpc);
if (qwtTestEnableSleep) {
u
sleep(1);
taosU
sleep(1);
}
} else if (r >= maxr * 2/5 && r < maxr* 3/5) {
printf("Fetch,%d\n", t++);
qwtBuildFetchReqMsg(&fetchMsg, &fetchRpc);
code = qWorkerProcessFetchMsg(mockPointer, mgmt, &fetchRpc);
if (qwtTestEnableSleep) {
u
sleep(1);
taosU
sleep(1);
}
} else if (r >= maxr * 3/5 && r < maxr * 4/5) {
printf("Drop,%d\n", t++);
qwtBuildDropReqMsg(&dropMsg, &dropRpc);
code = qWorkerProcessDropMsg(mockPointer, mgmt, &dropRpc);
if (qwtTestEnableSleep) {
u
sleep(1);
taosU
sleep(1);
}
} else if (r >= maxr * 4/5 && r < maxr-1) {
printf("Status,%d\n", t++);
...
...
@@ -1004,7 +1004,7 @@ TEST(seqTest, randCase) {
code = qWorkerProcessStatusMsg(mockPointer, mgmt, &statusRpc);
ASSERT_EQ(code, 0);
if (qwtTestEnableSleep) {
u
sleep(1);
taosU
sleep(1);
}
} else {
printf("QUIT RAND NOW");
...
...
@@ -1025,7 +1025,7 @@ TEST(seqTest, multithreadRand) {
stubSetStringToPlan();
stubSetRpcSendResponse();
sr
and(time(NULL));
taosSeedR
and(time(NULL));
code = qWorkerInit(NODE_TYPE_VNODE, 1, NULL, &mgmt, mockPointer, qwtPutReqToQueue);
ASSERT_EQ(code, 0);
...
...
@@ -1042,15 +1042,15 @@ TEST(seqTest, multithreadRand) {
while (true) {
if (qwtTestDeadLoop) {
sleep(1);
taosS
sleep(1);
} else {
sleep(qwtTestMTRunSec);
taosS
sleep(qwtTestMTRunSec);
break;
}
}
qwtTestStop = true;
sleep(3);
taosS
sleep(3);
qWorkerDestroy(&mgmt);
}
...
...
@@ -1076,7 +1076,7 @@ TEST(rcTest, shortExecshortDelay) {
stubSetPutDataBlock
();
stubSetGetDataBlock
();
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
qwtTestStop
=
false
;
qwtTestQuitThreadNum
=
0
;
...
...
@@ -1099,9 +1099,9 @@ TEST(rcTest, shortExecshortDelay) {
while
(
true
)
{
if
(
qwtTestDeadLoop
)
{
sleep
(
1
);
taosS
sleep
(
1
);
}
else
{
sleep
(
qwtTestMTRunSec
);
taosS
sleep
(
qwtTestMTRunSec
);
break
;
}
}
...
...
@@ -1113,14 +1113,14 @@ TEST(rcTest, shortExecshortDelay) {
break
;
}
sleep
(
1
);
taosS
sleep
(
1
);
if
(
qwtTestCaseFinished
)
{
if
(
qwtTestQuitThreadNum
<
3
)
{
tsem_post
(
&
qwtTestQuerySem
);
tsem_post
(
&
qwtTestFetchSem
);
u
sleep
(
10
);
taosU
sleep
(
10
);
}
}
...
...
@@ -1157,7 +1157,7 @@ TEST(rcTest, longExecshortDelay) {
stubSetPutDataBlock
();
stubSetGetDataBlock
();
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
qwtTestStop
=
false
;
qwtTestQuitThreadNum
=
0
;
...
...
@@ -1180,9 +1180,9 @@ TEST(rcTest, longExecshortDelay) {
while
(
true
)
{
if
(
qwtTestDeadLoop
)
{
sleep
(
1
);
taosS
sleep
(
1
);
}
else
{
sleep
(
qwtTestMTRunSec
);
taosS
sleep
(
qwtTestMTRunSec
);
break
;
}
}
...
...
@@ -1195,14 +1195,14 @@ TEST(rcTest, longExecshortDelay) {
break
;
}
sleep
(
1
);
taosS
sleep
(
1
);
if
(
qwtTestCaseFinished
)
{
if
(
qwtTestQuitThreadNum
<
3
)
{
tsem_post
(
&
qwtTestQuerySem
);
tsem_post
(
&
qwtTestFetchSem
);
u
sleep
(
10
);
taosU
sleep
(
10
);
}
}
...
...
@@ -1240,7 +1240,7 @@ TEST(rcTest, shortExeclongDelay) {
stubSetPutDataBlock
();
stubSetGetDataBlock
();
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
qwtTestStop
=
false
;
qwtTestQuitThreadNum
=
0
;
...
...
@@ -1263,9 +1263,9 @@ TEST(rcTest, shortExeclongDelay) {
while
(
true
)
{
if
(
qwtTestDeadLoop
)
{
sleep
(
1
);
taosS
sleep
(
1
);
}
else
{
sleep
(
qwtTestMTRunSec
);
taosS
sleep
(
qwtTestMTRunSec
);
break
;
}
}
...
...
@@ -1278,14 +1278,14 @@ TEST(rcTest, shortExeclongDelay) {
break
;
}
sleep
(
1
);
taosS
sleep
(
1
);
if
(
qwtTestCaseFinished
)
{
if
(
qwtTestQuitThreadNum
<
3
)
{
tsem_post
(
&
qwtTestQuerySem
);
tsem_post
(
&
qwtTestFetchSem
);
u
sleep
(
10
);
taosU
sleep
(
10
);
}
}
...
...
@@ -1324,7 +1324,7 @@ TEST(rcTest, dropTest) {
stubSetPutDataBlock();
stubSetGetDataBlock();
sr
and(time(NULL));
taosSeedR
and(time(NULL));
code = qWorkerInit(NODE_TYPE_VNODE, 1, NULL, &mgmt, mockPointer, qwtPutReqToQueue);
ASSERT_EQ(code, 0);
...
...
@@ -1342,15 +1342,15 @@ TEST(rcTest, dropTest) {
while (true) {
if (qwtTestDeadLoop) {
sleep(1);
taosS
sleep(1);
} else {
sleep(qwtTestMTRunSec);
taosS
sleep(qwtTestMTRunSec);
break;
}
}
qwtTestStop = true;
sleep(3);
taosS
sleep(3);
qWorkerDestroy(&mgmt);
}
...
...
@@ -1358,7 +1358,7 @@ TEST(rcTest, dropTest) {
int
main
(
int
argc
,
char
**
argv
)
{
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
testing
::
InitGoogleTest
(
&
argc
,
argv
);
return
RUN_ALL_TESTS
();
}
...
...
source/libs/scalar/test/filter/filterTests.cpp
浏览文件 @
901b5976
...
...
@@ -1286,7 +1286,7 @@ TEST(scalarModelogicTest, diff_columns_or_and_or) {
int
main
(
int
argc
,
char
**
argv
)
{
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
testing
::
InitGoogleTest
(
&
argc
,
argv
);
return
RUN_ALL_TESTS
();
}
...
...
source/libs/scalar/test/scalar/scalarTests.cpp
浏览文件 @
901b5976
...
...
@@ -1427,7 +1427,7 @@ TEST(columnTest, greater_and_lower) {
int
main
(
int
argc
,
char
**
argv
)
{
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
testing
::
InitGoogleTest
(
&
argc
,
argv
);
return
RUN_ALL_TESTS
();
}
...
...
source/libs/scheduler/test/schedulerTests.cpp
浏览文件 @
901b5976
...
...
@@ -278,7 +278,7 @@ void *schtSendRsp(void *param) {
break
;
}
usleep
(
1000
);
taosMsleep
(
1
);
}
pJob
=
schAcquireJob
(
job
);
...
...
@@ -303,7 +303,7 @@ void *schtCreateFetchRspThread(void *param) {
int64_t
job
=
*
(
int64_t
*
)
param
;
SSchJob
*
pJob
=
schAcquireJob
(
job
);
sleep
(
1
);
taosS
sleep
(
1
);
int32_t
code
=
0
;
SRetrieveTableRsp
*
rsp
=
(
SRetrieveTableRsp
*
)
calloc
(
1
,
sizeof
(
SRetrieveTableRsp
));
...
...
@@ -327,7 +327,7 @@ void *schtFetchRspThread(void *aa) {
continue
;
}
u
sleep
(
1
);
taosU
sleep
(
1
);
param
=
(
SSchCallbackParam
*
)
calloc
(
1
,
sizeof
(
*
param
));
...
...
@@ -532,7 +532,7 @@ void* schtRunJobThread(void *aa) {
void
*
schtFreeJobThread
(
void
*
aa
)
{
while
(
!
schtTestStop
)
{
usleep
(
r
and
()
%
100
);
taosUsleep
(
taosR
and
()
%
100
);
schtFreeQueryJob
(
1
);
}
}
...
...
@@ -701,19 +701,19 @@ TEST(multiThread, forceFree) {
while
(
true
)
{
if
(
schtTestDeadLoop
)
{
sleep
(
1
);
taosS
sleep
(
1
);
}
else
{
sleep
(
schtTestMTRunSec
);
taosS
sleep
(
schtTestMTRunSec
);
break
;
}
}
schtTestStop
=
true
;
sleep
(
3
);
taosS
sleep
(
3
);
}
int
main
(
int
argc
,
char
**
argv
)
{
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
testing
::
InitGoogleTest
(
&
argc
,
argv
);
return
RUN_ALL_TESTS
();
}
...
...
source/libs/sync/src/syncEnv.c
浏览文件 @
901b5976
...
...
@@ -28,7 +28,7 @@ static void doSyncEnvStopTimer(SSyncEnv *pSyncEnv, tmr_h *pTimer);
int32_t
syncEnvStart
()
{
int32_t
ret
;
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
gSyncEnv
=
(
SSyncEnv
*
)
malloc
(
sizeof
(
SSyncEnv
));
assert
(
gSyncEnv
!=
NULL
);
ret
=
doSyncEnvStart
(
gSyncEnv
);
...
...
source/libs/sync/src/syncIO.c
浏览文件 @
901b5976
...
...
@@ -44,7 +44,7 @@ int32_t syncIOStart(char *host, uint16_t port) {
gSyncIO
=
syncIOCreate
(
host
,
port
);
assert
(
gSyncIO
!=
NULL
);
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
int32_t
ret
=
syncIOStartInternal
(
gSyncIO
);
assert
(
ret
==
0
);
...
...
source/libs/sync/src/syncUtil.c
浏览文件 @
901b5976
...
...
@@ -95,7 +95,7 @@ void syncUtilbufCopyDeep(const SSyncBuffer* src, SSyncBuffer* dest) {
// ---- misc ----
int32_t
syncUtilRand
(
int32_t
max
)
{
return
r
and
()
%
max
;
}
int32_t
syncUtilRand
(
int32_t
max
)
{
return
taosR
and
()
%
max
;
}
int32_t
syncUtilElectRandomMS
()
{
return
ELECT_TIMER_MS_MIN
+
syncUtilRand
(
ELECT_TIMER_MS_RANGE
);
}
...
...
source/libs/sync/test/syncIOSendMsgClientTest.cpp
浏览文件 @
901b5976
...
...
@@ -39,11 +39,11 @@ int main() {
rpcMsg
.
msgType
=
77
;
syncIOSendMsg
(
gSyncIO
->
clientRpc
,
&
epSet
,
&
rpcMsg
);
sleep
(
1
);
taosS
sleep
(
1
);
}
while
(
1
)
{
sleep
(
1
);
taosS
sleep
(
1
);
}
return
0
;
...
...
source/libs/sync/test/syncIOSendMsgServerTest.cpp
浏览文件 @
901b5976
...
...
@@ -26,7 +26,7 @@ int main() {
assert
(
ret
==
0
);
while
(
1
)
{
sleep
(
1
);
taosS
sleep
(
1
);
}
return
0
;
...
...
source/libs/sync/test/syncIOSendMsgTest.cpp
浏览文件 @
901b5976
...
...
@@ -39,11 +39,11 @@ int main() {
rpcMsg
.
msgType
=
77
;
syncIOSendMsg
(
gSyncIO
->
clientRpc
,
&
epSet
,
&
rpcMsg
);
sleep
(
1
);
taosS
sleep
(
1
);
}
while
(
1
)
{
sleep
(
1
);
taosS
sleep
(
1
);
}
return
0
;
...
...
source/libs/sync/test/syncIOTickPingTest.cpp
浏览文件 @
901b5976
...
...
@@ -29,7 +29,7 @@ int main() {
assert
(
ret
==
0
);
while
(
1
)
{
sleep
(
1
);
taosS
sleep
(
1
);
}
return
0
;
}
source/libs/sync/test/syncIOTickQTest.cpp
浏览文件 @
901b5976
...
...
@@ -29,7 +29,7 @@ int main() {
assert
(
ret
==
0
);
while
(
1
)
{
sleep
(
1
);
taosS
sleep
(
1
);
}
return
0
;
}
source/libs/tdb/src/db/tdbUtil.c
浏览文件 @
901b5976
...
...
@@ -27,7 +27,7 @@ int tdbGnrtFileID(const char *fname, uint8_t *fileid, bool unique) {
((
uint64_t
*
)
fileid
)[
0
]
=
stDev
;
((
uint64_t
*
)
fileid
)[
1
]
=
stIno
;
if
(
unique
)
{
((
uint64_t
*
)
fileid
)[
2
]
=
r
and
();
((
uint64_t
*
)
fileid
)[
2
]
=
taosR
and
();
}
return
0
;
...
...
source/libs/transport/src/rpcMain.c
浏览文件 @
901b5976
...
...
@@ -749,7 +749,7 @@ static SRpcConn *rpcAllocateServerConn(SRpcInfo *pRpc, SRecvInfo *pRecv) {
memcpy
(
pConn
->
user
,
pHead
->
user
,
tListLen
(
pConn
->
user
));
pConn
->
pRpc
=
pRpc
;
pConn
->
sid
=
sid
;
pConn
->
tranId
=
(
uint16_t
)(
r
and
()
&
0xFFFF
);
pConn
->
tranId
=
(
uint16_t
)(
taosR
and
()
&
0xFFFF
);
pConn
->
ownId
=
htonl
(
pConn
->
sid
);
pConn
->
linkUid
=
pHead
->
linkUid
;
if
(
pRpc
->
afp
)
{
...
...
source/libs/transport/test/pushClient.c
浏览文件 @
901b5976
...
...
@@ -107,7 +107,7 @@ static void *sendRequest(void *param) {
tDebug
(
"recv response succefully"
);
//
usleep(1000000
00);
//
taosSsleep(1
00);
}
tError
(
"send and recv sum: %d, %d, %d, %d"
,
u100
,
u500
,
u1000
,
u10000
);
...
...
@@ -223,7 +223,7 @@ int main(int argc, char *argv[]) {
}
do
{
u
sleep
(
1
);
taosU
sleep
(
1
);
}
while
(
tcount
<
appThreads
);
gettimeofday
(
&
systemTime
,
NULL
);
...
...
source/libs/transport/test/pushServer.c
浏览文件 @
901b5976
...
...
@@ -77,7 +77,7 @@ void processShellMsg() {
taosFreeQitem
(
pRpcMsg
);
{
// sleep(1);
//
taosS
sleep(1);
SRpcMsg
nRpcMsg
=
{
0
};
nRpcMsg
.
pCont
=
rpcMallocCont
(
msgSize
);
nRpcMsg
.
contLen
=
msgSize
;
...
...
@@ -176,7 +176,7 @@ int main(int argc, char *argv[]) {
tError
(
"failed to start RPC server"
);
return
-
1
;
}
// sleep(5);
//
taosS
sleep(5);
tInfo
(
"RPC server is running, ctrl-c to exit"
);
...
...
source/libs/transport/test/rclient.c
浏览文件 @
901b5976
...
...
@@ -84,7 +84,7 @@ static void *sendRequest(void *param) {
tDebug
(
"recv response succefully"
);
//
usleep(1000000
00);
//
taosSsleep(1
00);
}
tError
(
"send and recv sum: %d, %d, %d, %d"
,
u100
,
u500
,
u1000
,
u10000
);
...
...
@@ -200,7 +200,7 @@ int main(int argc, char *argv[]) {
}
do
{
u
sleep
(
1
);
taosU
sleep
(
1
);
}
while
(
tcount
<
appThreads
);
gettimeofday
(
&
systemTime
,
NULL
);
...
...
source/libs/transport/test/rsclient.c
浏览文件 @
901b5976
...
...
@@ -178,7 +178,7 @@ int main(int argc, char *argv[]) {
}
do
{
u
sleep
(
1
);
taosU
sleep
(
1
);
}
while
(
tcount
<
appThreads
);
gettimeofday
(
&
systemTime
,
NULL
);
...
...
source/libs/transport/test/syncClient.c
浏览文件 @
901b5976
...
...
@@ -85,7 +85,7 @@ static void *sendRequest(void *param) {
tDebug
(
"recv response succefully"
);
//
usleep(1000000
00);
//
taosSsleep(1
00);
}
tError
(
"send and recv sum: %d, %d, %d, %d"
,
u100
,
u500
,
u1000
,
u10000
);
...
...
@@ -201,7 +201,7 @@ int main(int argc, char *argv[]) {
}
do
{
u
sleep
(
1
);
taosU
sleep
(
1
);
}
while
(
tcount
<
appThreads
);
gettimeofday
(
&
systemTime
,
NULL
);
...
...
source/libs/wal/test/walMetaTest.cpp
浏览文件 @
901b5976
...
...
@@ -300,7 +300,7 @@ TEST_F(WalKeepEnv, readHandleRead) {
ASSERT_EQ
(
code
,
0
);
}
for
(
int
i
=
0
;
i
<
1000
;
i
++
)
{
int
ver
=
r
and
()
%
100
;
int
ver
=
taosR
and
()
%
100
;
code
=
walReadWithHandle
(
pRead
,
ver
);
ASSERT_EQ
(
code
,
0
);
...
...
@@ -352,7 +352,7 @@ TEST_F(WalRetentionEnv, repairMeta1) {
ASSERT
(
pRead
!=
NULL
);
for
(
int
i
=
0
;
i
<
1000
;
i
++
)
{
int
ver
=
r
and
()
%
100
;
int
ver
=
taosR
and
()
%
100
;
code
=
walReadWithHandle
(
pRead
,
ver
);
ASSERT_EQ
(
code
,
0
);
...
...
@@ -382,7 +382,7 @@ TEST_F(WalRetentionEnv, repairMeta1) {
}
for
(
int
i
=
0
;
i
<
1000
;
i
++
)
{
int
ver
=
r
and
()
%
200
;
int
ver
=
taosR
and
()
%
200
;
code
=
walReadWithHandle
(
pRead
,
ver
);
ASSERT_EQ
(
code
,
0
);
...
...
source/os/src/osEnv.c
浏览文件 @
901b5976
...
...
@@ -38,7 +38,7 @@ float tsNumOfCores = 0;
int64_t
tsTotalMemoryKB
=
0
;
void
osInit
()
{
sr
and
(
taosSafeRand
());
taosSeedR
and
(
taosSafeRand
());
taosGetSystemLocale
(
tsLocale
,
tsCharset
);
taosGetSystemTimezone
(
tsTimezone
);
taosSetSystemTimezone
(
tsTimezone
,
tsTimezone
,
&
tsDaylight
);
...
...
source/os/src/osRand.c
浏览文件 @
901b5976
...
...
@@ -12,7 +12,7 @@
* 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 ALLOW_FORBID_FUNC
#define _DEFAULT_SOURCE
#include "os.h"
#if defined(_TD_WINDOWS_64) || defined(_TD_WINDOWS_32)
...
...
@@ -21,8 +21,12 @@
#include <unistd.h>
#endif
void
taosSeedRand
(
uint32_t
seed
)
{
return
srand
(
seed
);
}
uint32_t
taosRand
(
void
)
{
return
rand
();
}
uint32_t
taosRandR
(
uint32_t
*
pSeed
)
{
return
rand_r
(
pSeed
);
}
uint32_t
taosSafeRand
(
void
)
{
TdFilePtr
pFile
;
int
seed
;
...
...
source/os/src/osSleep.c
浏览文件 @
901b5976
...
...
@@ -13,47 +13,35 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define ALLOW_FORBID_FUNC
#define _DEFAULT_SOURCE
#include "os.h"
#if defined(_TD_WINDOWS_64) || defined(_TD_WINDOWS_32)
void
taosMsleep
(
int32_t
ms
)
{
Sleep
(
ms
);
}
#else
#if !(defined(_TD_WINDOWS_64) || defined(_TD_WINDOWS_32))
#include <unistd.h>
#endif
/*
to make taosMsleep work,
signal SIGALRM shall be blocked in the calling thread,
sigset_t set;
sigemptyset(&set);
sigaddset(&set, SIGALRM);
pthread_sigmask(SIG_BLOCK, &set, NULL);
*/
void
taosMsleep
(
int32_t
mseconds
)
{
#if 1
usleep
(
mseconds
*
1000
);
void
taosSsleep
(
int32_t
s
)
{
#if defined(_TD_WINDOWS_64) || defined(_TD_WINDOWS_32)
Sleep
(
1000
*
s
);
#else
struct
timeval
timeout
;
int32_t
seconds
,
useconds
;
seconds
=
mseconds
/
1000
;
useconds
=
(
mseconds
%
1000
)
*
1000
;
timeout
.
tv_sec
=
seconds
;
timeout
.
tv_usec
=
useconds
;
/* sigset_t set; */
/* sigemptyset(&set); */
/* sigaddset(&set, SIGALRM); */
/* pthread_sigmask(SIG_BLOCK, &set, NULL); */
select
(
0
,
NULL
,
NULL
,
NULL
,
&
timeout
);
sleep
(
s
);
#endif
}
/* pthread_sigmask(SIG_UNBLOCK, &set, NULL); */
void
taosMsleep
(
int32_t
ms
)
{
#if defined(_TD_WINDOWS_64) || defined(_TD_WINDOWS_32)
Sleep
(
ms
);
#else
usleep
(
ms
*
1000
);
#endif
}
void
taosUsleep
(
int32_t
us
)
{
#if defined(_TD_WINDOWS_64) || defined(_TD_WINDOWS_32)
nanosleep
(
1000
*
us
);
#else
usleep
(
us
);
#endif
}
source/os/src/osString.c
浏览文件 @
901b5976
...
...
@@ -291,11 +291,10 @@ int32_t twcslen(const wchar_t *wcs) {
return
n
;
}
int32_t
tasoUcs4Compare
(
void
*
f1_ucs4
,
void
*
f2_ucs4
,
int32_t
bytes
)
{
for
(
int32_t
i
=
0
;
i
<
bytes
;
++
i
)
{
int32_t
f1
=
*
(
int32_t
*
)((
char
*
)
f1_ucs4
+
i
*
4
);
int32_t
f2
=
*
(
int32_t
*
)((
char
*
)
f2_ucs4
+
i
*
4
);
for
(
int32_t
i
=
0
;
i
<
bytes
;
i
+=
TSDB_NCHAR_SIZE
)
{
int32_t
f1
=
*
(
int32_t
*
)((
char
*
)
f1_ucs4
+
i
);
int32_t
f2
=
*
(
int32_t
*
)((
char
*
)
f2_ucs4
+
i
);
if
((
f1
==
0
&&
f2
!=
0
)
||
(
f1
!=
0
&&
f2
==
0
))
{
return
f1
-
f2
;
...
...
source/os/src/osSysinfo.c
浏览文件 @
901b5976
此差异已折叠。
点击以展开。
source/util/src/tdes.c
浏览文件 @
901b5976
...
...
@@ -32,7 +32,7 @@ void process_message(uint8_t* message_piece, uint8_t* processed_piece, key_set*
#if 0
int64_t taosDesGenKey() {
uint32_t iseed = (uint32_t)time(NULL);
sr
and(iseed);
taosSeedR
and(iseed);
uint8_t key[8] = {0};
generate_key(key);
...
...
source/util/src/tskiplist.c
浏览文件 @
901b5976
...
...
@@ -51,7 +51,7 @@ SSkipList *tSkipListCreate(uint8_t maxLevel, uint8_t keyType, uint16_t keyLen, _
pSkipList
->
len
=
keyLen
;
pSkipList
->
flags
=
flags
;
pSkipList
->
keyFn
=
fn
;
pSkipList
->
seed
=
r
and
();
pSkipList
->
seed
=
taosR
and
();
#if 0
// the function getkeycomparfunc is defined in common
...
...
@@ -82,7 +82,7 @@ SSkipList *tSkipListCreate(uint8_t maxLevel, uint8_t keyType, uint16_t keyLen, _
}
}
sr
and
((
uint32_t
)
time
(
NULL
));
taosSeedR
and
((
uint32_t
)
time
(
NULL
));
#if SKIP_LIST_RECORD_PERFORMANCE
pSkipList
->
state
.
nTotalMemSize
+=
sizeof
(
SSkipList
);
...
...
@@ -560,9 +560,9 @@ static FORCE_INLINE int32_t getSkipListNodeRandomHeight(SSkipList *pSkipList) {
int32_t
n
=
1
;
#if defined(_TD_WINDOWS_64) || defined(_TD_WINDOWS_32)
while
((
r
and
()
%
factor
)
==
0
&&
n
<=
pSkipList
->
maxLevel
)
{
while
((
taosR
and
()
%
factor
)
==
0
&&
n
<=
pSkipList
->
maxLevel
)
{
#else
while
((
rand_r
(
&
(
pSkipList
->
seed
))
%
factor
)
==
0
&&
n
<=
pSkipList
->
maxLevel
)
{
while
((
taosRandR
(
&
(
pSkipList
->
seed
))
%
factor
)
==
0
&&
n
<=
pSkipList
->
maxLevel
)
{
#endif
n
++
;
}
...
...
source/util/test/cacheTest.cpp
浏览文件 @
901b5976
...
...
@@ -14,7 +14,7 @@ TEST(cacheTest, client_cache_test) {
char
data1
[]
=
"test11"
;
char
*
cachedObj
=
(
char
*
)
taosCachePut
(
tscMetaCache
,
key1
,
strlen
(
key1
),
data1
,
strlen
(
data1
)
+
1
,
1
);
sleep
(
REFRESH_TIME_IN_SEC
+
1
);
taosS
sleep
(
REFRESH_TIME_IN_SEC
+
1
);
printf
(
"obj is still valid: %s
\n
"
,
cachedObj
);
...
...
@@ -37,7 +37,7 @@ TEST(cacheTest, client_cache_test) {
taosCacheRelease
(
tscMetaCache
,
(
void
**
)
&
cachedObj2
,
false
);
sleep
(
3
);
taosS
sleep
(
3
);
char
*
d
=
(
char
*
)
taosCacheAcquireByKey
(
tscMetaCache
,
key3
,
strlen
(
key3
));
assert
(
d
==
NULL
);
...
...
source/util/test/codingTests.cpp
浏览文件 @
901b5976
...
...
@@ -150,7 +150,7 @@ static bool test_variant_int64(int64_t value) {
}
TEST
(
codingTest
,
fixed_encode_decode
)
{
sr
and
(
time
(
0
));
taosSeedR
and
(
time
(
0
));
// uint16_t
for
(
uint16_t
value
=
0
;
value
<=
UINT16_MAX
;
value
++
)
{
...
...
@@ -204,7 +204,7 @@ TEST(codingTest, fixed_encode_decode) {
}
TEST
(
codingTest
,
variant_encode_decode
)
{
sr
and
(
time
(
0
));
taosSeedR
and
(
time
(
0
));
// uint16_t
for
(
uint16_t
value
=
0
;
value
<=
UINT16_MAX
;
value
++
)
{
...
...
source/util/test/pageBufferTest.cpp
浏览文件 @
901b5976
...
...
@@ -161,7 +161,7 @@ void recyclePageTest() {
TEST
(
testCase
,
resultBufferTest
)
{
sr
and
(
time
(
NULL
));
taosSeedR
and
(
time
(
NULL
));
simpleTest
();
writeDownTest
();
recyclePageTest
();
...
...
source/util/test/skiplistTest.cpp
浏览文件 @
901b5976
...
...
@@ -47,7 +47,7 @@ void doubleSkipListTest() {
SSkipListKey sk;
for (int32_t i = 0; i < 100; ++i) {
sk.nType = TSDB_DATA_TYPE_DOUBLE;
int32_t idx = abs((i *
r
and()) % 1000);
int32_t idx = abs((i *
taosR
and()) % 1000);
sk.dKey = doubleVal[idx];
...
...
@@ -74,7 +74,7 @@ void randKeyTest() {
false, getkey);
int32_t size = 200000;
sr
and(time(NULL));
taosSeedR
and(time(NULL));
printf("generated %d keys is: \n", size);
...
...
@@ -87,7 +87,7 @@ void randKeyTest() {
d->level = level;
int32_t* key = (int32_t*)SL_GET_NODE_KEY(pSkipList, d);
key[0] =
r
and() % 1000000000;
key[0] =
taosR
and() % 1000000000;
key[1] = key[0];
...
...
@@ -337,7 +337,7 @@ void duplicatedKeyTest() {
TEST(testCase, skiplist_test) {
assert(sizeof(SSkipListKey) == 8);
sr
and(time(NULL));
taosSeedR
and(time(NULL));
stringKeySkiplistTest();
doubleSkipListTest();
...
...
source/util/test/trefTest.c
浏览文件 @
901b5976
...
...
@@ -42,7 +42,7 @@ void *addRef(void *param) {
pSpace
->
p
[
id
]
=
malloc
(
128
);
pSpace
->
rid
[
id
]
=
taosAddRef
(
pSpace
->
rsetId
,
pSpace
->
p
[
id
]);
}
u
sleep
(
100
);
taosU
sleep
(
100
);
}
return
NULL
;
...
...
@@ -60,7 +60,7 @@ void *removeRef(void *param) {
if
(
code
==
0
)
pSpace
->
rid
[
id
]
=
0
;
}
u
sleep
(
100
);
taosU
sleep
(
100
);
}
return
NULL
;
...
...
@@ -76,7 +76,7 @@ void *acquireRelease(void *param) {
id
=
random
()
%
pSpace
->
refNum
;
void
*
p
=
taosAcquireRef
(
pSpace
->
rsetId
,
(
int64_t
)
pSpace
->
p
[
id
]);
if
(
p
)
{
u
sleep
(
id
%
5
+
1
);
taosU
sleep
(
id
%
5
+
1
);
taosReleaseRef
(
pSpace
->
rsetId
,
(
int64_t
)
pSpace
->
p
[
id
]);
}
}
...
...
tests/script/api/batchprepare.c
浏览文件 @
901b5976
...
...
@@ -5089,7 +5089,7 @@ int main(int argc, char *argv[])
//pthread_create(&(pThreadList[3]), &thattr, runcase, (void *)&par[3]);
while
(
1
)
{
sleep
(
1
);
taosS
sleep
(
1
);
}
return
0
;
}
...
...
tools/CMakeLists.txt
浏览文件 @
901b5976
add_subdirectory
(
shell
)
\ No newline at end of file
IF
(
TD_TAOS_TOOLS
)
INCLUDE_DIRECTORIES
(
${
CMAKE_SOURCE_DIR
}
/tools/taos_tools/deps/avro/lang/c/src
)
INCLUDE_DIRECTORIES
(
${
CMAKE_SOURCE_DIR
}
/include/client
)
INCLUDE_DIRECTORIES
(
${
CMAKE_SOURCE_DIR
}
/include/common
)
INCLUDE_DIRECTORIES
(
${
CMAKE_SOURCE_DIR
}
/include/util
)
INCLUDE_DIRECTORIES
(
${
CMAKE_SOURCE_DIR
}
/include/os
)
ADD_SUBDIRECTORY
(
taos-tools
)
ENDIF
()
add_subdirectory
(
shell
)
taos-tools
@
f36b07f7
Subproject commit f36b07f710d661dca88fdd70e73b5e3e16a960e0
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录