Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
39215ec1
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
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看板
提交
39215ec1
编写于
9月 01, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
差异文件
Merge branch '3.0' of
https://github.com/taosdata/TDengine
into refact/tsdb_optimize
上级
12cbd1c8
4bc13fe0
变更
36
显示空白变更内容
内联
并排
Showing
36 changed file
with
248 addition
and
160 deletion
+248
-160
docs/en/07-develop/01-connect/index.md
docs/en/07-develop/01-connect/index.md
+3
-2
docs/en/12-taos-sql/14-stream.md
docs/en/12-taos-sql/14-stream.md
+1
-1
docs/en/14-reference/03-connector/05-go.mdx
docs/en/14-reference/03-connector/05-go.mdx
+1
-1
docs/en/14-reference/03-connector/06-rust.mdx
docs/en/14-reference/03-connector/06-rust.mdx
+1
-1
docs/en/14-reference/03-connector/08-node.mdx
docs/en/14-reference/03-connector/08-node.mdx
+1
-1
docs/en/14-reference/03-connector/09-csharp.mdx
docs/en/14-reference/03-connector/09-csharp.mdx
+1
-1
docs/zh/12-taos-sql/10-function.md
docs/zh/12-taos-sql/10-function.md
+2
-2
docs/zh/12-taos-sql/14-stream.md
docs/zh/12-taos-sql/14-stream.md
+1
-1
docs/zh/14-reference/05-taosbenchmark.md
docs/zh/14-reference/05-taosbenchmark.md
+2
-32
include/common/ttypes.h
include/common/ttypes.h
+5
-3
source/libs/function/src/builtins.c
source/libs/function/src/builtins.c
+26
-10
source/libs/function/src/builtinsimpl.c
source/libs/function/src/builtinsimpl.c
+4
-4
source/libs/sync/src/syncSnapshot.c
source/libs/sync/src/syncSnapshot.c
+1
-1
source/libs/sync/src/syncTimeout.c
source/libs/sync/src/syncTimeout.c
+4
-4
source/util/src/terror.c
source/util/src/terror.c
+1
-1
tests/pytest/tools/taosdumpTest2.py
tests/pytest/tools/taosdumpTest2.py
+24
-11
tests/script/tsim/stable/alter_comment.sim
tests/script/tsim/stable/alter_comment.sim
+1
-1
tests/script/tsim/stable/alter_count.sim
tests/script/tsim/stable/alter_count.sim
+4
-4
tests/script/tsim/stable/alter_import.sim
tests/script/tsim/stable/alter_import.sim
+2
-2
tests/script/tsim/stable/alter_insert1.sim
tests/script/tsim/stable/alter_insert1.sim
+2
-2
tests/script/tsim/stable/alter_insert2.sim
tests/script/tsim/stable/alter_insert2.sim
+2
-2
tests/script/tsim/stable/alter_metrics.sim
tests/script/tsim/stable/alter_metrics.sim
+3
-3
tests/script/tsim/stable/column_add.sim
tests/script/tsim/stable/column_add.sim
+3
-3
tests/script/tsim/stable/column_modify.sim
tests/script/tsim/stable/column_modify.sim
+3
-3
tests/script/tsim/stable/disk.sim
tests/script/tsim/stable/disk.sim
+1
-1
tests/script/tsim/stable/refcount.sim
tests/script/tsim/stable/refcount.sim
+1
-1
tests/script/tsim/stable/tag_add.sim
tests/script/tsim/stable/tag_add.sim
+3
-3
tests/script/tsim/stable/tag_drop.sim
tests/script/tsim/stable/tag_drop.sim
+6
-6
tests/script/tsim/stable/tag_filter.sim
tests/script/tsim/stable/tag_filter.sim
+33
-33
tests/script/tsim/stable/tag_modify.sim
tests/script/tsim/stable/tag_modify.sim
+3
-3
tests/script/tsim/stable/tag_rename.sim
tests/script/tsim/stable/tag_rename.sim
+3
-3
tests/script/tsim/sync/create-mnode.sim
tests/script/tsim/sync/create-mnode.sim
+20
-0
tests/system-test/2-query/max.py
tests/system-test/2-query/max.py
+25
-2
tests/system-test/2-query/min.py
tests/system-test/2-query/min.py
+39
-6
tests/system-test/7-tmq/tmqShow.py
tests/system-test/7-tmq/tmqShow.py
+13
-4
tests/system-test/fulltest.sh
tests/system-test/fulltest.sh
+3
-2
未找到文件。
docs/en/07-develop/01-connect/index.md
浏览文件 @
39215ec1
---
---
title
:
Connect
sidebar_label
:
Connect
description
:
"
This
document
explains
how
to
establish
connections
to
TDengine
and
how
to
install
and
use
TDengine
connectors."
title
:
Connect to TDengine
description
:
"
How
to
establish
connections
to
TDengine
and
how
to
install
and
use
TDengine
connectors."
---
---
import Tabs from "@theme/Tabs";
import Tabs from "@theme/Tabs";
...
...
docs/en/12-taos-sql/14-stream.md
浏览文件 @
39215ec1
...
@@ -50,7 +50,7 @@ SELECT _wstartts, count(*), avg(voltage) FROM meters PARTITION BY tbname INTERVA
...
@@ -50,7 +50,7 @@ SELECT _wstartts, count(*), avg(voltage) FROM meters PARTITION BY tbname INTERVA
## Delete a Stream
## Delete a Stream
```
sql
```
sql
DROP
STREAM
[
IF
NOT
EXISTS
]
stream_name
DROP
STREAM
[
IF
EXISTS
]
stream_name
```
```
This statement deletes the stream processing service only. The data generated by the stream is retained.
This statement deletes the stream processing service only. The data generated by the stream is retained.
...
...
docs/en/14-reference/03-connector/05-go.mdx
浏览文件 @
39215ec1
...
@@ -7,7 +7,7 @@ title: TDengine Go Connector
...
@@ -7,7 +7,7 @@ title: TDengine Go Connector
import
Tabs
from
'@theme/Tabs'
;
import
Tabs
from
'@theme/Tabs'
;
import
TabItem
from
'@theme/TabItem'
;
import
TabItem
from
'@theme/TabItem'
;
import
Preparition
from
"./_prepar
i
tion.mdx"
import
Preparition
from
"./_prepar
a
tion.mdx"
import
GoInsert
from
"../../07-develop/03-insert-data/_go_sql.mdx"
import
GoInsert
from
"../../07-develop/03-insert-data/_go_sql.mdx"
import
GoInfluxLine
from
"../../07-develop/03-insert-data/_go_line.mdx"
import
GoInfluxLine
from
"../../07-develop/03-insert-data/_go_line.mdx"
import
GoOpenTSDBTelnet
from
"../../07-develop/03-insert-data/_go_opts_telnet.mdx"
import
GoOpenTSDBTelnet
from
"../../07-develop/03-insert-data/_go_opts_telnet.mdx"
...
...
docs/en/14-reference/03-connector/06-rust.mdx
浏览文件 @
39215ec1
...
@@ -7,7 +7,7 @@ title: TDengine Rust Connector
...
@@ -7,7 +7,7 @@ title: TDengine Rust Connector
import Tabs from '@theme/Tabs';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import TabItem from '@theme/TabItem';
import Preparition from "./_prepar
i
tion.mdx"
import Preparition from "./_prepar
a
tion.mdx"
import RustInsert from "../../07-develop/03-insert-data/_rust_sql.mdx"
import RustInsert from "../../07-develop/03-insert-data/_rust_sql.mdx"
import RustBind from "../../07-develop/03-insert-data/_rust_stmt.mdx"
import RustBind from "../../07-develop/03-insert-data/_rust_stmt.mdx"
import RustQuery from "../../07-develop/04-query-data/_rust.mdx"
import RustQuery from "../../07-develop/04-query-data/_rust.mdx"
...
...
docs/en/14-reference/03-connector/08-node.mdx
浏览文件 @
39215ec1
...
@@ -7,7 +7,7 @@ title: TDengine Node.js Connector
...
@@ -7,7 +7,7 @@ title: TDengine Node.js Connector
import Tabs from "@theme/Tabs";
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import TabItem from "@theme/TabItem";
import Preparition from "./_prepar
i
tion.mdx";
import Preparition from "./_prepar
a
tion.mdx";
import NodeInsert from "../../07-develop/03-insert-data/_js_sql.mdx";
import NodeInsert from "../../07-develop/03-insert-data/_js_sql.mdx";
import NodeInfluxLine from "../../07-develop/03-insert-data/_js_line.mdx";
import NodeInfluxLine from "../../07-develop/03-insert-data/_js_line.mdx";
import NodeOpenTSDBTelnet from "../../07-develop/03-insert-data/_js_opts_telnet.mdx";
import NodeOpenTSDBTelnet from "../../07-develop/03-insert-data/_js_opts_telnet.mdx";
...
...
docs/en/14-reference/03-connector/09-csharp.mdx
浏览文件 @
39215ec1
...
@@ -7,7 +7,7 @@ title: C# Connector
...
@@ -7,7 +7,7 @@ title: C# Connector
import Tabs from '@theme/Tabs';
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import TabItem from '@theme/TabItem';
import Preparition from "./_prepar
i
tion.mdx"
import Preparition from "./_prepar
a
tion.mdx"
import CSInsert from "../../07-develop/03-insert-data/_cs_sql.mdx"
import CSInsert from "../../07-develop/03-insert-data/_cs_sql.mdx"
import CSInfluxLine from "../../07-develop/03-insert-data/_cs_line.mdx"
import CSInfluxLine from "../../07-develop/03-insert-data/_cs_line.mdx"
import CSOpenTSDBTelnet from "../../07-develop/03-insert-data/_cs_opts_telnet.mdx"
import CSOpenTSDBTelnet from "../../07-develop/03-insert-data/_cs_opts_telnet.mdx"
...
...
docs/zh/12-taos-sql/10-function.md
浏览文件 @
39215ec1
...
@@ -917,7 +917,7 @@ SELECT MAX(field_name) FROM { tb_name | stb_name } [WHERE clause];
...
@@ -917,7 +917,7 @@ SELECT MAX(field_name) FROM { tb_name | stb_name } [WHERE clause];
**返回数据类型**
:同应用的字段。
**返回数据类型**
:同应用的字段。
**适用数据类型**
:数值类型。
**适用数据类型**
:数值类型
,时间戳类型
。
**适用于**
:表和超级表。
**适用于**
:表和超级表。
...
@@ -932,7 +932,7 @@ SELECT MIN(field_name) FROM {tb_name | stb_name} [WHERE clause];
...
@@ -932,7 +932,7 @@ SELECT MIN(field_name) FROM {tb_name | stb_name} [WHERE clause];
**返回数据类型**
:同应用的字段。
**返回数据类型**
:同应用的字段。
**适用数据类型**
:数值类型。
**适用数据类型**
:数值类型
,时间戳类型
。
**适用于**
:表和超级表。
**适用于**
:表和超级表。
...
...
docs/zh/12-taos-sql/14-stream.md
浏览文件 @
39215ec1
...
@@ -58,7 +58,7 @@ SELECT _wstartts, count(*), avg(voltage) FROM meters PARTITION BY tbname INTERVA
...
@@ -58,7 +58,7 @@ SELECT _wstartts, count(*), avg(voltage) FROM meters PARTITION BY tbname INTERVA
## 删除流式计算
## 删除流式计算
```
sql
```
sql
DROP
STREAM
[
IF
NOT
EXISTS
]
stream_name
;
DROP
STREAM
[
IF
EXISTS
]
stream_name
;
```
```
仅删除流式计算任务,由流式计算写入的数据不会被删除。
仅删除流式计算任务,由流式计算写入的数据不会被删除。
...
...
docs/zh/14-reference/05-taosbenchmark.md
浏览文件 @
39215ec1
...
@@ -87,7 +87,7 @@ taosBenchmark -f <json file>
...
@@ -87,7 +87,7 @@ taosBenchmark -f <json file>
<summary>
subscribe.json
</summary>
<summary>
subscribe.json
</summary>
```
json
```
json
{{
#include
/taos-tools/example/
subscribe
.json
}}
{{
#include
/taos-tools/example/
tmq
.json
}}
```
```
</details>
</details>
...
@@ -405,37 +405,7 @@ taosBenchmark -A INT,DOUBLE,NCHAR,BINARY\(16\)
...
@@ -405,37 +405,7 @@ taosBenchmark -A INT,DOUBLE,NCHAR,BINARY\(16\)
订阅子表或者普通表的配置参数在
`specified_table_query`
中设置。
订阅子表或者普通表的配置参数在
`specified_table_query`
中设置。
-
**threads**
: 执行 SQL 的线程数,默认为 1。
-
**threads/concurrent**
: 执行 SQL 的线程数,默认为 1。
-
**interval**
: 执行订阅的时间间隔,单位为秒,默认为 0。
-
**restart**
: "yes" 表示开始新的订阅,"no" 表示继续之前的订阅,默认值为 "no"。
-
**keepProgress**
: "yes" 表示保留订阅进度,"no" 表示不保留,默认值为 "no"。
-
**resubAfterConsume**
: "yes" 表示取消之前的订阅然后再次订阅, "no" 表示继续之前的订阅,默认值为 "no"。
-
**sqls**
:
-
**sqls**
:
-
**sql**
: 执行的 SQL 命令,必填。
-
**sql**
: 执行的 SQL 命令,必填。
-
**result**
: 保存查询结果的文件,未指定则不保存。
#### 订阅超级表的配置参数
订阅超级表的配置参数在
`super_table_query`
中设置。
-
**stblname**
: 要订阅的超级表名称,必填。
-
**threads**
: 执行 SQL 的线程数,默认为 1。
-
**interval**
: 执行订阅的时间间隔,单位为秒,默认为 0。
-
**restart**
: "yes" 表示开始新的订阅,"no" 表示继续之前的订阅,默认值为 "no"。
-
**keepProgress**
: "yes" 表示保留订阅进度,"no" 表示不保留,默认值为 "no"。
-
**resubAfterConsume**
: "yes" 表示取消之前的订阅然后再次订阅, "no" 表示继续之前的订阅,默认值为 "no"。
-
**sqls**
:
-
**sql**
: 执行的 SQL 命令,必填;对于超级表的查询 SQL,在 SQL 命令中保留 "xxxx",程序会自动将其替换为超级表的所有子表名。
替换为超级表中所有的子表名。
-
**result**
: 保存查询结果的文件,未指定则不保存。
include/common/ttypes.h
浏览文件 @
39215ec1
...
@@ -49,9 +49,6 @@ typedef struct {
...
@@ -49,9 +49,6 @@ typedef struct {
#define varDataCopy(dst, v) memcpy((dst), (void *)(v), varDataTLen(v))
#define varDataCopy(dst, v) memcpy((dst), (void *)(v), varDataTLen(v))
#define varDataLenByData(v) (*(VarDataLenT *)(((char *)(v)) - VARSTR_HEADER_SIZE))
#define varDataLenByData(v) (*(VarDataLenT *)(((char *)(v)) - VARSTR_HEADER_SIZE))
#define varDataSetLen(v, _len) (((VarDataLenT *)(v))[0] = (VarDataLenT)(_len))
#define varDataSetLen(v, _len) (((VarDataLenT *)(v))[0] = (VarDataLenT)(_len))
#define IS_VAR_DATA_TYPE(t) \
(((t) == TSDB_DATA_TYPE_VARCHAR) || ((t) == TSDB_DATA_TYPE_NCHAR) || ((t) == TSDB_DATA_TYPE_JSON))
#define IS_STR_DATA_TYPE(t) (((t) == TSDB_DATA_TYPE_VARCHAR) || ((t) == TSDB_DATA_TYPE_NCHAR))
#define varDataNetLen(v) (htons(((VarDataLenT *)(v))[0]))
#define varDataNetLen(v) (htons(((VarDataLenT *)(v))[0]))
#define varDataNetTLen(v) (sizeof(VarDataLenT) + varDataNetLen(v))
#define varDataNetTLen(v) (sizeof(VarDataLenT) + varDataNetLen(v))
...
@@ -268,11 +265,16 @@ typedef struct {
...
@@ -268,11 +265,16 @@ typedef struct {
#define IS_UNSIGNED_NUMERIC_TYPE(_t) ((_t) >= TSDB_DATA_TYPE_UTINYINT && (_t) <= TSDB_DATA_TYPE_UBIGINT)
#define IS_UNSIGNED_NUMERIC_TYPE(_t) ((_t) >= TSDB_DATA_TYPE_UTINYINT && (_t) <= TSDB_DATA_TYPE_UBIGINT)
#define IS_FLOAT_TYPE(_t) ((_t) == TSDB_DATA_TYPE_FLOAT || (_t) == TSDB_DATA_TYPE_DOUBLE)
#define IS_FLOAT_TYPE(_t) ((_t) == TSDB_DATA_TYPE_FLOAT || (_t) == TSDB_DATA_TYPE_DOUBLE)
#define IS_INTEGER_TYPE(_t) ((IS_SIGNED_NUMERIC_TYPE(_t)) || (IS_UNSIGNED_NUMERIC_TYPE(_t)))
#define IS_INTEGER_TYPE(_t) ((IS_SIGNED_NUMERIC_TYPE(_t)) || (IS_UNSIGNED_NUMERIC_TYPE(_t)))
#define IS_TIMESTAMP_TYPE(_t) ((_t) == TSDB_DATA_TYPE_TIMESTAMP)
#define IS_NUMERIC_TYPE(_t) ((IS_SIGNED_NUMERIC_TYPE(_t)) || (IS_UNSIGNED_NUMERIC_TYPE(_t)) || (IS_FLOAT_TYPE(_t)))
#define IS_NUMERIC_TYPE(_t) ((IS_SIGNED_NUMERIC_TYPE(_t)) || (IS_UNSIGNED_NUMERIC_TYPE(_t)) || (IS_FLOAT_TYPE(_t)))
#define IS_MATHABLE_TYPE(_t) \
#define IS_MATHABLE_TYPE(_t) \
(IS_NUMERIC_TYPE(_t) || (_t) == (TSDB_DATA_TYPE_BOOL) || (_t) == (TSDB_DATA_TYPE_TIMESTAMP))
(IS_NUMERIC_TYPE(_t) || (_t) == (TSDB_DATA_TYPE_BOOL) || (_t) == (TSDB_DATA_TYPE_TIMESTAMP))
#define IS_VAR_DATA_TYPE(t) \
(((t) == TSDB_DATA_TYPE_VARCHAR) || ((t) == TSDB_DATA_TYPE_NCHAR) || ((t) == TSDB_DATA_TYPE_JSON))
#define IS_STR_DATA_TYPE(t) (((t) == TSDB_DATA_TYPE_VARCHAR) || ((t) == TSDB_DATA_TYPE_NCHAR))
#define IS_VALID_TINYINT(_t) ((_t) >= INT8_MIN && (_t) <= INT8_MAX)
#define IS_VALID_TINYINT(_t) ((_t) >= INT8_MIN && (_t) <= INT8_MAX)
#define IS_VALID_SMALLINT(_t) ((_t) >= INT16_MIN && (_t) <= INT16_MAX)
#define IS_VALID_SMALLINT(_t) ((_t) >= INT16_MIN && (_t) <= INT16_MAX)
#define IS_VALID_INT(_t) ((_t) >= INT32_MIN && (_t) <= INT32_MAX)
#define IS_VALID_INT(_t) ((_t) >= INT32_MIN && (_t) <= INT32_MAX)
...
...
source/libs/function/src/builtins.c
浏览文件 @
39215ec1
...
@@ -311,6 +311,22 @@ static int32_t translateInOutStr(SFunctionNode* pFunc, char* pErrBuf, int32_t le
...
@@ -311,6 +311,22 @@ static int32_t translateInOutStr(SFunctionNode* pFunc, char* pErrBuf, int32_t le
return
TSDB_CODE_SUCCESS
;
return
TSDB_CODE_SUCCESS
;
}
}
static
int32_t
translateMinMax
(
SFunctionNode
*
pFunc
,
char
*
pErrBuf
,
int32_t
len
)
{
if
(
1
!=
LIST_LENGTH
(
pFunc
->
pParameterList
))
{
return
invaildFuncParaNumErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
}
uint8_t
paraType
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
0
))
->
resType
.
type
;
if
(
!
IS_TIMESTAMP_TYPE
(
paraType
)
&&
!
IS_NUMERIC_TYPE
(
paraType
)
&&
!
IS_NULL_TYPE
(
paraType
))
{
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
}
else
if
(
IS_NULL_TYPE
(
paraType
))
{
paraType
=
TSDB_DATA_TYPE_BIGINT
;
}
pFunc
->
node
.
resType
=
(
SDataType
){.
bytes
=
tDataTypes
[
paraType
].
bytes
,
.
type
=
paraType
};
return
TSDB_CODE_SUCCESS
;
}
static
int32_t
translateTrimStr
(
SFunctionNode
*
pFunc
,
char
*
pErrBuf
,
int32_t
len
,
bool
isLtrim
)
{
static
int32_t
translateTrimStr
(
SFunctionNode
*
pFunc
,
char
*
pErrBuf
,
int32_t
len
,
bool
isLtrim
)
{
if
(
1
!=
LIST_LENGTH
(
pFunc
->
pParameterList
))
{
if
(
1
!=
LIST_LENGTH
(
pFunc
->
pParameterList
))
{
return
invaildFuncParaNumErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
return
invaildFuncParaNumErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
...
@@ -698,7 +714,7 @@ static int32_t translateSpread(SFunctionNode* pFunc, char* pErrBuf, int32_t len)
...
@@ -698,7 +714,7 @@ static int32_t translateSpread(SFunctionNode* pFunc, char* pErrBuf, int32_t len)
}
}
uint8_t
paraType
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
0
))
->
resType
.
type
;
uint8_t
paraType
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
0
))
->
resType
.
type
;
if
(
!
IS_NUMERIC_TYPE
(
paraType
)
&&
TSDB_DATA_TYPE_TIMESTAMP
!=
paraType
)
{
if
(
!
IS_NUMERIC_TYPE
(
paraType
)
&&
!
IS_TIMESTAMP_TYPE
(
paraType
)
)
{
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
}
}
...
@@ -713,7 +729,7 @@ static int32_t translateSpreadImpl(SFunctionNode* pFunc, char* pErrBuf, int32_t
...
@@ -713,7 +729,7 @@ static int32_t translateSpreadImpl(SFunctionNode* pFunc, char* pErrBuf, int32_t
uint8_t
paraType
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
0
))
->
resType
.
type
;
uint8_t
paraType
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
0
))
->
resType
.
type
;
if
(
isPartial
)
{
if
(
isPartial
)
{
if
(
!
IS_NUMERIC_TYPE
(
paraType
)
&&
TSDB_DATA_TYPE_TIMESTAMP
!=
paraType
)
{
if
(
!
IS_NUMERIC_TYPE
(
paraType
)
&&
!
IS_TIMESTAMP_TYPE
(
paraType
)
)
{
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
}
}
pFunc
->
node
.
resType
=
(
SDataType
){.
bytes
=
getSpreadInfoSize
()
+
VARSTR_HEADER_SIZE
,
.
type
=
TSDB_DATA_TYPE_BINARY
};
pFunc
->
node
.
resType
=
(
SDataType
){.
bytes
=
getSpreadInfoSize
()
+
VARSTR_HEADER_SIZE
,
.
type
=
TSDB_DATA_TYPE_BINARY
};
...
@@ -788,7 +804,7 @@ static int32_t translateElapsedImpl(SFunctionNode* pFunc, char* pErrBuf, int32_t
...
@@ -788,7 +804,7 @@ static int32_t translateElapsedImpl(SFunctionNode* pFunc, char* pErrBuf, int32_t
}
}
uint8_t
paraType
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
0
))
->
resType
.
type
;
uint8_t
paraType
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
0
))
->
resType
.
type
;
if
(
TSDB_DATA_TYPE_TIMESTAMP
!=
paraType
)
{
if
(
!
IS_TIMESTAMP_TYPE
(
paraType
)
)
{
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
}
}
...
@@ -1634,7 +1650,7 @@ static int32_t translateDiff(SFunctionNode* pFunc, char* pErrBuf, int32_t len) {
...
@@ -1634,7 +1650,7 @@ static int32_t translateDiff(SFunctionNode* pFunc, char* pErrBuf, int32_t len) {
uint8_t
colType
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
0
))
->
resType
.
type
;
uint8_t
colType
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
0
))
->
resType
.
type
;
if
(
!
IS_SIGNED_NUMERIC_TYPE
(
colType
)
&&
!
IS_FLOAT_TYPE
(
colType
)
&&
TSDB_DATA_TYPE_BOOL
!=
colType
&&
if
(
!
IS_SIGNED_NUMERIC_TYPE
(
colType
)
&&
!
IS_FLOAT_TYPE
(
colType
)
&&
TSDB_DATA_TYPE_BOOL
!=
colType
&&
TSDB_DATA_TYPE_TIMESTAMP
!=
colType
)
{
!
IS_TIMESTAMP_TYPE
(
colType
)
)
{
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
}
}
...
@@ -1660,7 +1676,7 @@ static int32_t translateDiff(SFunctionNode* pFunc, char* pErrBuf, int32_t len) {
...
@@ -1660,7 +1676,7 @@ static int32_t translateDiff(SFunctionNode* pFunc, char* pErrBuf, int32_t len) {
}
}
uint8_t
resType
;
uint8_t
resType
;
if
(
IS_SIGNED_NUMERIC_TYPE
(
colType
)
||
TSDB_DATA_TYPE_BOOL
==
colType
||
TSDB_DATA_TYPE_TIMESTAMP
==
colType
)
{
if
(
IS_SIGNED_NUMERIC_TYPE
(
colType
)
||
IS_TIMESTAMP_TYPE
(
colType
)
||
TSDB_DATA_TYPE_BOOL
==
colType
)
{
resType
=
TSDB_DATA_TYPE_BIGINT
;
resType
=
TSDB_DATA_TYPE_BIGINT
;
}
else
{
}
else
{
resType
=
TSDB_DATA_TYPE_DOUBLE
;
resType
=
TSDB_DATA_TYPE_DOUBLE
;
...
@@ -1825,7 +1841,7 @@ static int32_t translateToIso8601(SFunctionNode* pFunc, char* pErrBuf, int32_t l
...
@@ -1825,7 +1841,7 @@ static int32_t translateToIso8601(SFunctionNode* pFunc, char* pErrBuf, int32_t l
// param0
// param0
uint8_t
paraType
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
0
))
->
resType
.
type
;
uint8_t
paraType
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
0
))
->
resType
.
type
;
if
(
!
IS_INTEGER_TYPE
(
paraType
)
&&
TSDB_DATA_TYPE_TIMESTAMP
!=
paraType
)
{
if
(
!
IS_INTEGER_TYPE
(
paraType
)
&&
!
IS_TIMESTAMP_TYPE
(
paraType
)
)
{
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
}
}
...
@@ -1878,7 +1894,7 @@ static int32_t translateTimeTruncate(SFunctionNode* pFunc, char* pErrBuf, int32_
...
@@ -1878,7 +1894,7 @@ static int32_t translateTimeTruncate(SFunctionNode* pFunc, char* pErrBuf, int32_
uint8_t
para1Type
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
0
))
->
resType
.
type
;
uint8_t
para1Type
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
0
))
->
resType
.
type
;
uint8_t
para2Type
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
1
))
->
resType
.
type
;
uint8_t
para2Type
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
1
))
->
resType
.
type
;
if
((
!
IS_STR_DATA_TYPE
(
para1Type
)
&&
!
IS_INTEGER_TYPE
(
para1Type
)
&&
TSDB_DATA_TYPE_TIMESTAMP
!=
para1Type
)
||
if
((
!
IS_STR_DATA_TYPE
(
para1Type
)
&&
!
IS_INTEGER_TYPE
(
para1Type
)
&&
!
IS_TIMESTAMP_TYPE
(
para1Type
)
)
||
!
IS_INTEGER_TYPE
(
para2Type
))
{
!
IS_INTEGER_TYPE
(
para2Type
))
{
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
}
}
...
@@ -1911,7 +1927,7 @@ static int32_t translateTimeDiff(SFunctionNode* pFunc, char* pErrBuf, int32_t le
...
@@ -1911,7 +1927,7 @@ static int32_t translateTimeDiff(SFunctionNode* pFunc, char* pErrBuf, int32_t le
for
(
int32_t
i
=
0
;
i
<
2
;
++
i
)
{
for
(
int32_t
i
=
0
;
i
<
2
;
++
i
)
{
uint8_t
paraType
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
i
))
->
resType
.
type
;
uint8_t
paraType
=
((
SExprNode
*
)
nodesListGetNode
(
pFunc
->
pParameterList
,
i
))
->
resType
.
type
;
if
(
!
IS_STR_DATA_TYPE
(
paraType
)
&&
!
IS_INTEGER_TYPE
(
paraType
)
&&
TSDB_DATA_TYPE_TIMESTAMP
!=
paraType
)
{
if
(
!
IS_STR_DATA_TYPE
(
paraType
)
&&
!
IS_INTEGER_TYPE
(
paraType
)
&&
!
IS_TIMESTAMP_TYPE
(
paraType
)
)
{
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
return
invaildFuncParaTypeErrMsg
(
pErrBuf
,
len
,
pFunc
->
functionName
);
}
}
}
}
...
@@ -2060,7 +2076,7 @@ const SBuiltinFuncDefinition funcMgtBuiltins[] = {
...
@@ -2060,7 +2076,7 @@ const SBuiltinFuncDefinition funcMgtBuiltins[] = {
.
name
=
"min"
,
.
name
=
"min"
,
.
type
=
FUNCTION_TYPE_MIN
,
.
type
=
FUNCTION_TYPE_MIN
,
.
classification
=
FUNC_MGT_AGG_FUNC
|
FUNC_MGT_SPECIAL_DATA_REQUIRED
|
FUNC_MGT_SELECT_FUNC
,
.
classification
=
FUNC_MGT_AGG_FUNC
|
FUNC_MGT_SPECIAL_DATA_REQUIRED
|
FUNC_MGT_SELECT_FUNC
,
.
translateFunc
=
translate
InOutNum
,
.
translateFunc
=
translate
MinMax
,
.
dataRequiredFunc
=
statisDataRequired
,
.
dataRequiredFunc
=
statisDataRequired
,
.
getEnvFunc
=
getMinmaxFuncEnv
,
.
getEnvFunc
=
getMinmaxFuncEnv
,
.
initFunc
=
minmaxFunctionSetup
,
.
initFunc
=
minmaxFunctionSetup
,
...
@@ -2075,7 +2091,7 @@ const SBuiltinFuncDefinition funcMgtBuiltins[] = {
...
@@ -2075,7 +2091,7 @@ const SBuiltinFuncDefinition funcMgtBuiltins[] = {
.
name
=
"max"
,
.
name
=
"max"
,
.
type
=
FUNCTION_TYPE_MAX
,
.
type
=
FUNCTION_TYPE_MAX
,
.
classification
=
FUNC_MGT_AGG_FUNC
|
FUNC_MGT_SPECIAL_DATA_REQUIRED
|
FUNC_MGT_SELECT_FUNC
,
.
classification
=
FUNC_MGT_AGG_FUNC
|
FUNC_MGT_SPECIAL_DATA_REQUIRED
|
FUNC_MGT_SELECT_FUNC
,
.
translateFunc
=
translate
InOutNum
,
.
translateFunc
=
translate
MinMax
,
.
dataRequiredFunc
=
statisDataRequired
,
.
dataRequiredFunc
=
statisDataRequired
,
.
getEnvFunc
=
getMinmaxFuncEnv
,
.
getEnvFunc
=
getMinmaxFuncEnv
,
.
initFunc
=
minmaxFunctionSetup
,
.
initFunc
=
minmaxFunctionSetup
,
...
...
source/libs/function/src/builtinsimpl.c
浏览文件 @
39215ec1
...
@@ -1204,7 +1204,7 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc) {
...
@@ -1204,7 +1204,7 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc) {
pBuf
->
tuplePos
=
saveTupleData
(
pCtx
,
index
,
pCtx
->
pSrcBlock
);
pBuf
->
tuplePos
=
saveTupleData
(
pCtx
,
index
,
pCtx
->
pSrcBlock
);
}
}
}
else
{
}
else
{
if
(
IS_SIGNED_NUMERIC_TYPE
(
type
))
{
if
(
IS_SIGNED_NUMERIC_TYPE
(
type
)
||
IS_TIMESTAMP_TYPE
(
type
)
)
{
int64_t
prev
=
0
;
int64_t
prev
=
0
;
GET_TYPED_DATA
(
prev
,
int64_t
,
type
,
&
pBuf
->
v
);
GET_TYPED_DATA
(
prev
,
int64_t
,
type
,
&
pBuf
->
v
);
...
@@ -1216,7 +1216,6 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc) {
...
@@ -1216,7 +1216,6 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc) {
pBuf
->
tuplePos
=
saveTupleData
(
pCtx
,
index
,
pCtx
->
pSrcBlock
);
pBuf
->
tuplePos
=
saveTupleData
(
pCtx
,
index
,
pCtx
->
pSrcBlock
);
}
}
}
}
}
else
if
(
IS_UNSIGNED_NUMERIC_TYPE
(
type
))
{
}
else
if
(
IS_UNSIGNED_NUMERIC_TYPE
(
type
))
{
uint64_t
prev
=
0
;
uint64_t
prev
=
0
;
GET_TYPED_DATA
(
prev
,
uint64_t
,
type
,
&
pBuf
->
v
);
GET_TYPED_DATA
(
prev
,
uint64_t
,
type
,
&
pBuf
->
v
);
...
@@ -1264,7 +1263,7 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc) {
...
@@ -1264,7 +1263,7 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc) {
int32_t
start
=
pInput
->
startRowIndex
;
int32_t
start
=
pInput
->
startRowIndex
;
int32_t
numOfRows
=
pInput
->
numOfRows
;
int32_t
numOfRows
=
pInput
->
numOfRows
;
if
(
IS_SIGNED_NUMERIC_TYPE
(
type
)
||
type
==
TSDB_DATA_TYPE_BOOL
)
{
if
(
IS_SIGNED_NUMERIC_TYPE
(
type
)
||
IS_TIMESTAMP_TYPE
(
type
)
||
type
==
TSDB_DATA_TYPE_BOOL
)
{
if
(
type
==
TSDB_DATA_TYPE_TINYINT
||
type
==
TSDB_DATA_TYPE_BOOL
)
{
if
(
type
==
TSDB_DATA_TYPE_TINYINT
||
type
==
TSDB_DATA_TYPE_BOOL
)
{
int8_t
*
pData
=
(
int8_t
*
)
pCol
->
pData
;
int8_t
*
pData
=
(
int8_t
*
)
pCol
->
pData
;
int8_t
*
val
=
(
int8_t
*
)
&
pBuf
->
v
;
int8_t
*
val
=
(
int8_t
*
)
&
pBuf
->
v
;
...
@@ -1358,7 +1357,8 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc) {
...
@@ -1358,7 +1357,8 @@ int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc) {
numOfElems
+=
1
;
numOfElems
+=
1
;
}
}
}
else
if
(
type
==
TSDB_DATA_TYPE_BIGINT
)
{
}
else
if
(
type
==
TSDB_DATA_TYPE_BIGINT
||
type
==
TSDB_DATA_TYPE_TIMESTAMP
)
{
int64_t
*
pData
=
(
int64_t
*
)
pCol
->
pData
;
int64_t
*
pData
=
(
int64_t
*
)
pCol
->
pData
;
int64_t
*
val
=
(
int64_t
*
)
&
pBuf
->
v
;
int64_t
*
val
=
(
int64_t
*
)
&
pBuf
->
v
;
...
...
source/libs/sync/src/syncSnapshot.c
浏览文件 @
39215ec1
...
@@ -583,7 +583,7 @@ static int32_t snapshotReceiverFinish(SSyncSnapshotReceiver *pReceiver, SyncSnap
...
@@ -583,7 +583,7 @@ static int32_t snapshotReceiverFinish(SSyncSnapshotReceiver *pReceiver, SyncSnap
&
(
pReceiver
->
snapshot
));
&
(
pReceiver
->
snapshot
));
if
(
code
!=
0
)
{
if
(
code
!=
0
)
{
syncNodeErrorLog
(
pReceiver
->
pSyncNode
,
"snapshot stop writer true error"
);
syncNodeErrorLog
(
pReceiver
->
pSyncNode
,
"snapshot stop writer true error"
);
ASSERT
(
0
);
//
ASSERT(0);
return
-
1
;
return
-
1
;
}
}
pReceiver
->
pWriter
=
NULL
;
pReceiver
->
pWriter
=
NULL
;
...
...
source/libs/sync/src/syncTimeout.c
浏览文件 @
39215ec1
...
@@ -91,7 +91,7 @@ int32_t syncNodeOnTimeoutCb(SSyncNode* ths, SyncTimeout* pMsg) {
...
@@ -91,7 +91,7 @@ int32_t syncNodeOnTimeoutCb(SSyncNode* ths, SyncTimeout* pMsg) {
}
else
if
(
pMsg
->
timeoutType
==
SYNC_TIMEOUT_ELECTION
)
{
}
else
if
(
pMsg
->
timeoutType
==
SYNC_TIMEOUT_ELECTION
)
{
if
(
atomic_load_64
(
&
ths
->
electTimerLogicClockUser
)
<=
pMsg
->
logicClock
)
{
if
(
atomic_load_64
(
&
ths
->
electTimerLogicClockUser
)
<=
pMsg
->
logicClock
)
{
++
(
ths
->
electTimerCounter
);
++
(
ths
->
electTimerCounter
);
s
Info
(
"vgId:%d, sync timeout
, type:election count:%d, electTimerLogicClockUser:%ld"
,
ths
->
vgId
,
s
Trace
(
"vgId:%d, sync timer
, type:election count:%d, electTimerLogicClockUser:%ld"
,
ths
->
vgId
,
ths
->
electTimerCounter
,
ths
->
electTimerLogicClockUser
);
ths
->
electTimerCounter
,
ths
->
electTimerLogicClockUser
);
syncNodeElect
(
ths
);
syncNodeElect
(
ths
);
}
}
...
@@ -99,7 +99,7 @@ int32_t syncNodeOnTimeoutCb(SSyncNode* ths, SyncTimeout* pMsg) {
...
@@ -99,7 +99,7 @@ int32_t syncNodeOnTimeoutCb(SSyncNode* ths, SyncTimeout* pMsg) {
}
else
if
(
pMsg
->
timeoutType
==
SYNC_TIMEOUT_HEARTBEAT
)
{
}
else
if
(
pMsg
->
timeoutType
==
SYNC_TIMEOUT_HEARTBEAT
)
{
if
(
atomic_load_64
(
&
ths
->
heartbeatTimerLogicClockUser
)
<=
pMsg
->
logicClock
)
{
if
(
atomic_load_64
(
&
ths
->
heartbeatTimerLogicClockUser
)
<=
pMsg
->
logicClock
)
{
++
(
ths
->
heartbeatTimerCounter
);
++
(
ths
->
heartbeatTimerCounter
);
s
Info
(
"vgId:%d, sync timeout
, type:replicate count:%d, heartbeatTimerLogicClockUser:%ld"
,
ths
->
vgId
,
s
Trace
(
"vgId:%d, sync timer
, type:replicate count:%d, heartbeatTimerLogicClockUser:%ld"
,
ths
->
vgId
,
ths
->
heartbeatTimerCounter
,
ths
->
heartbeatTimerLogicClockUser
);
ths
->
heartbeatTimerCounter
,
ths
->
heartbeatTimerLogicClockUser
);
syncNodeReplicate
(
ths
,
true
);
syncNodeReplicate
(
ths
,
true
);
}
}
...
...
source/util/src/terror.c
浏览文件 @
39215ec1
...
@@ -621,7 +621,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_RSMA_INVALID_SCHEMA, "Rsma invalid schema
...
@@ -621,7 +621,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_RSMA_INVALID_SCHEMA, "Rsma invalid schema
//index
//index
TAOS_DEFINE_ERROR
(
TSDB_CODE_INDEX_REBUILDING
,
"Index is rebuilding"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_INDEX_REBUILDING
,
"Index is rebuilding"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_INDEX_
REBUILDING
,
"Invalid index file
"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_INDEX_
INVALID_FILE
,
"Index file is invalid
"
)
//tmq
//tmq
TAOS_DEFINE_ERROR
(
TSDB_CODE_TMQ_INVALID_MSG
,
"Invalid message"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_TMQ_INVALID_MSG
,
"Invalid message"
)
...
...
tests/pytest/tools/taosdumpTest2.py
浏览文件 @
39215ec1
...
@@ -11,15 +11,19 @@
...
@@ -11,15 +11,19 @@
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
from
logging.config
import
dictConfig
import
sys
import
sys
import
os
import
os
from
util.log
import
*
from
util.log
import
*
from
util.cases
import
*
from
util.cases
import
*
from
util.sql
import
*
from
util.sql
import
*
from
util.dnodes
import
*
from
util.dnodes
import
*
import
string
import
random
class
TDTestCase
:
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
"start to execute %s"
%
__file__
)
tdLog
.
debug
(
"start to execute %s"
%
__file__
)
tdSql
.
init
(
conn
.
cursor
(),
logSql
)
tdSql
.
init
(
conn
.
cursor
(),
logSql
)
...
@@ -47,12 +51,19 @@ class TDTestCase:
...
@@ -47,12 +51,19 @@ class TDTestCase:
return
""
return
""
return
paths
[
0
]
return
paths
[
0
]
def
generateString
(
self
,
length
):
chars
=
string
.
ascii_uppercase
+
string
.
ascii_lowercase
v
=
""
for
i
in
range
(
length
):
v
+=
random
.
choice
(
chars
)
return
v
def
run
(
self
):
def
run
(
self
):
if
not
os
.
path
.
exists
(
"./taosdumptest/tmp"
):
if
not
os
.
path
.
exists
(
"./taosdumptest/tmp"
):
os
.
makedirs
(
"./taosdumptest/tmp"
)
os
.
makedirs
(
"./taosdumptest/tmp"
)
else
:
else
:
os
.
system
(
"rm -rf ./taosdumptest/tmp
"
)
print
(
"directory exists
"
)
os
.
makedirs
(
"./taosdumptest/tmp
"
)
os
.
system
(
"rm -rf ./taosdumptest/tmp/*
"
)
tdSql
.
prepare
()
tdSql
.
prepare
()
...
@@ -76,17 +87,19 @@ class TDTestCase:
...
@@ -76,17 +87,19 @@ class TDTestCase:
tdLog
.
info
(
"taosdump found in %s"
%
binPath
)
tdLog
.
info
(
"taosdump found in %s"
%
binPath
)
os
.
system
(
"rm ./taosdumptest/tmp/*.sql"
)
os
.
system
(
"rm ./taosdumptest/tmp/*.sql"
)
os
.
system
(
"rm ./taosdumptest/tmp/*.avro*"
)
os
.
system
(
"rm -rf ./taosdumptest/taosdump.*"
)
os
.
system
(
os
.
system
(
"%s --databases db -o ./taosdumptest/tmp
-B 32766 -L 1048576
"
%
"%s --databases db -o ./taosdumptest/tmp "
%
binPath
)
binPath
)
tdSql
.
execute
(
"drop database db"
)
tdSql
.
execute
(
"drop database db"
)
tdSql
.
query
(
"s
elect * from information_schema.ins_
databases"
)
tdSql
.
query
(
"s
how
databases"
)
tdSql
.
checkRows
(
2
)
tdSql
.
checkRows
(
2
)
os
.
system
(
"%s -i ./taosdumptest/tmp"
%
binPath
)
os
.
system
(
"%s -i ./taosdumptest/tmp
-y
"
%
binPath
)
tdSql
.
query
(
"s
elect * from information_schema.ins_
databases"
)
tdSql
.
query
(
"s
how
databases"
)
tdSql
.
checkRows
(
3
)
tdSql
.
checkRows
(
3
)
tdSql
.
checkData
(
2
,
0
,
'db'
)
tdSql
.
checkData
(
2
,
0
,
'db'
)
...
@@ -105,17 +118,17 @@ class TDTestCase:
...
@@ -105,17 +118,17 @@ class TDTestCase:
"create table stb(ts timestamp, c1 binary(16374), c2 binary(16374), c3 binary(16374)) tags(t1 nchar(256))"
)
"create table stb(ts timestamp, c1 binary(16374), c2 binary(16374), c3 binary(16374)) tags(t1 nchar(256))"
)
tdSql
.
execute
(
tdSql
.
execute
(
"insert into t1 using stb tags('t1') values(now, '%s', '%s', '%s')"
%
"insert into t1 using stb tags('t1') values(now, '%s', '%s', '%s')"
%
(
"16374"
,
(
self
.
generateString
(
16374
)
,
"16374"
,
self
.
generateString
(
16374
)
,
"16374"
))
self
.
generateString
(
16374
)
))
# sys.exit(0)
os
.
system
(
"rm ./taosdumptest/tmp/*.sql"
)
os
.
system
(
"rm ./taosdumptest/tmp/*.sql"
)
os
.
system
(
"rm ./taosdumptest/tmp/*.avro*"
)
os
.
system
(
"rm ./taosdumptest/tmp/*.avro*"
)
os
.
system
(
"rm -rf ./taosdumptest/tmp/taosdump.*"
)
os
.
system
(
"%s -D test -o ./taosdumptest/tmp -y"
%
binPath
)
os
.
system
(
"%s -D test -o ./taosdumptest/tmp -y"
%
binPath
)
tdSql
.
execute
(
"drop database test"
)
tdSql
.
execute
(
"drop database test"
)
tdSql
.
query
(
"s
elect * from information_schema.ins_
databases"
)
tdSql
.
query
(
"s
how
databases"
)
tdSql
.
checkRows
(
3
)
tdSql
.
checkRows
(
3
)
os
.
system
(
"%s -i ./taosdumptest/tmp -y"
%
binPath
)
os
.
system
(
"%s -i ./taosdumptest/tmp -y"
%
binPath
)
...
...
tests/script/tsim/stable/alter_comment.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/alter_count.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/alter_import.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/alter_insert1.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/alter_insert2.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/alter_metrics.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/column_add.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/column_modify.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/disk.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/refcount.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/tag_add.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/tag_drop.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/tag_filter.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/tag_modify.sim
浏览文件 @
39215ec1
tests/script/tsim/stable/tag_rename.sim
浏览文件 @
39215ec1
tests/script/tsim/sync/create-mnode.sim
0 → 100644
浏览文件 @
39215ec1
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/deploy.sh -n dnode2 -i 2
system sh/deploy.sh -n dnode3 -i 3
system sh/deploy.sh -n dnode4 -i 4
system sh/cfg.sh -n dnode1 -c supportVnodes -v 0
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
system sh/exec.sh -n dnode3 -s start
system sh/exec.sh -n dnode4 -s start
sql connect
sql create dnode $hostname port 7200
sql create dnode $hostname port 7300
sql create dnode $hostname port 7400
sql create mnode on dnode 2
sql create mnode on dnode 3
tests/system-test/2-query/max.py
浏览文件 @
39215ec1
...
@@ -26,7 +26,7 @@ class TDTestCase:
...
@@ -26,7 +26,7 @@ class TDTestCase:
%
(
self
.
ts
+
i
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
0.1
,
i
+
0.1
,
i
%
2
,
i
+
1
,
i
+
1
))
%
(
self
.
ts
+
i
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
0.1
,
i
+
0.1
,
i
%
2
,
i
+
1
,
i
+
1
))
intData
.
append
(
i
+
1
)
intData
.
append
(
i
+
1
)
floatData
.
append
(
i
+
0.1
)
floatData
.
append
(
i
+
0.1
)
for
i
in
[
'
ts'
,
'
col11'
,
'col12'
,
'col13'
]:
for
i
in
[
'col11'
,
'col12'
,
'col13'
]:
for
j
in
[
'stb'
,
'stb_1'
]:
for
j
in
[
'stb'
,
'stb_1'
]:
tdSql
.
error
(
f
'select max(
{
i
}
from
{
dbname
}
.
{
j
}
)'
)
tdSql
.
error
(
f
'select max(
{
i
}
from
{
dbname
}
.
{
j
}
)'
)
...
@@ -37,6 +37,20 @@ class TDTestCase:
...
@@ -37,6 +37,20 @@ class TDTestCase:
tdSql
.
checkData
(
0
,
0
,
np
.
max
(
intData
))
tdSql
.
checkData
(
0
,
0
,
np
.
max
(
intData
))
elif
i
>=
9
:
elif
i
>=
9
:
tdSql
.
checkData
(
0
,
0
,
np
.
max
(
floatData
))
tdSql
.
checkData
(
0
,
0
,
np
.
max
(
floatData
))
tdSql
.
query
(
f
"select max(now()) from
{
dbname
}
.stb_1"
)
tdSql
.
checkRows
(
1
)
tdSql
.
query
(
f
"select last(ts) from
{
dbname
}
.stb_1"
)
lastTs
=
tdSql
.
getData
(
0
,
0
)
tdSql
.
query
(
f
"select max(ts) from
{
dbname
}
.stb_1"
)
tdSql
.
checkData
(
0
,
0
,
lastTs
)
tdSql
.
query
(
f
"select last(ts) from
{
dbname
}
.stb"
)
lastTs
=
tdSql
.
getData
(
0
,
0
)
tdSql
.
query
(
f
"select max(ts) from
{
dbname
}
.stb"
)
tdSql
.
checkData
(
0
,
0
,
lastTs
)
tdSql
.
query
(
f
"select max(col1) from
{
dbname
}
.stb_1 where col2<=5"
)
tdSql
.
query
(
f
"select max(col1) from
{
dbname
}
.stb_1 where col2<=5"
)
tdSql
.
checkData
(
0
,
0
,
5
)
tdSql
.
checkData
(
0
,
0
,
5
)
tdSql
.
query
(
f
"select max(col1) from
{
dbname
}
.stb where col2<=5"
)
tdSql
.
query
(
f
"select max(col1) from
{
dbname
}
.stb where col2<=5"
)
...
@@ -53,7 +67,7 @@ class TDTestCase:
...
@@ -53,7 +67,7 @@ class TDTestCase:
%
(
self
.
ts
+
i
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
0.1
,
i
+
0.1
,
i
%
2
,
i
+
1
,
i
+
1
))
%
(
self
.
ts
+
i
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
1
,
i
+
0.1
,
i
+
0.1
,
i
%
2
,
i
+
1
,
i
+
1
))
intData
.
append
(
i
+
1
)
intData
.
append
(
i
+
1
)
floatData
.
append
(
i
+
0.1
)
floatData
.
append
(
i
+
0.1
)
for
i
in
[
'
ts'
,
'
col11'
,
'col12'
,
'col13'
]:
for
i
in
[
'col11'
,
'col12'
,
'col13'
]:
for
j
in
[
'ntb'
]:
for
j
in
[
'ntb'
]:
tdSql
.
error
(
f
'select max(
{
i
}
from
{
dbname
}
.
{
j
}
)'
)
tdSql
.
error
(
f
'select max(
{
i
}
from
{
dbname
}
.
{
j
}
)'
)
for
i
in
range
(
1
,
11
):
for
i
in
range
(
1
,
11
):
...
@@ -63,6 +77,15 @@ class TDTestCase:
...
@@ -63,6 +77,15 @@ class TDTestCase:
tdSql
.
checkData
(
0
,
0
,
np
.
max
(
intData
))
tdSql
.
checkData
(
0
,
0
,
np
.
max
(
intData
))
elif
i
>=
9
:
elif
i
>=
9
:
tdSql
.
checkData
(
0
,
0
,
np
.
max
(
floatData
))
tdSql
.
checkData
(
0
,
0
,
np
.
max
(
floatData
))
tdSql
.
query
(
f
"select max(now()) from
{
dbname
}
.ntb"
)
tdSql
.
checkRows
(
1
)
tdSql
.
query
(
f
"select last(ts) from
{
dbname
}
.ntb"
)
lastTs
=
tdSql
.
getData
(
0
,
0
)
tdSql
.
query
(
f
"select max(ts) from
{
dbname
}
.ntb"
)
tdSql
.
checkData
(
0
,
0
,
lastTs
)
tdSql
.
query
(
f
"select max(col1) from
{
dbname
}
.ntb where col2<=5"
)
tdSql
.
query
(
f
"select max(col1) from
{
dbname
}
.ntb where col2<=5"
)
tdSql
.
checkData
(
0
,
0
,
5
)
tdSql
.
checkData
(
0
,
0
,
5
)
...
...
tests/system-test/2-query/min.py
浏览文件 @
39215ec1
...
@@ -37,13 +37,11 @@ class TDTestCase:
...
@@ -37,13 +37,11 @@ class TDTestCase:
floatData
.
append
(
i
+
0.1
)
floatData
.
append
(
i
+
0.1
)
# max verifacation
# max verifacation
tdSql
.
error
(
f
"select min(ts) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(col7) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(col7) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(col8) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(col8) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(col9) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(col9) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(a) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(a) from
{
dbname
}
.stb_1"
)
tdSql
.
query
(
f
"select min(1) from
{
dbname
}
.stb_1"
)
tdSql
.
query
(
f
"select min(1) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(now()) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(count(c1),count(c2)) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(count(c1),count(c2)) from
{
dbname
}
.stb_1"
)
tdSql
.
query
(
f
"select min(col1) from
{
dbname
}
.stb_1"
)
tdSql
.
query
(
f
"select min(col1) from
{
dbname
}
.stb_1"
)
...
@@ -69,14 +67,25 @@ class TDTestCase:
...
@@ -69,14 +67,25 @@ class TDTestCase:
tdSql
.
query
(
f
"select min(col1) from
{
dbname
}
.stb_1 where col2>=5"
)
tdSql
.
query
(
f
"select min(col1) from
{
dbname
}
.stb_1 where col2>=5"
)
tdSql
.
checkData
(
0
,
0
,
5
)
tdSql
.
checkData
(
0
,
0
,
5
)
tdSql
.
query
(
f
"select min(now()) from
{
dbname
}
.stb_1"
)
tdSql
.
checkRows
(
1
)
tdSql
.
query
(
f
"select first(ts) from
{
dbname
}
.stb_1"
)
firstTs
=
tdSql
.
getData
(
0
,
0
)
tdSql
.
query
(
f
"select min(ts) from
{
dbname
}
.stb_1"
)
tdSql
.
checkData
(
0
,
0
,
firstTs
)
tdSql
.
query
(
f
"select first(ts) from
{
dbname
}
.stb_1"
)
firstTs
=
tdSql
.
getData
(
0
,
0
)
tdSql
.
query
(
f
"select min(ts) from
{
dbname
}
.stb_1"
)
tdSql
.
checkData
(
0
,
0
,
firstTs
)
tdSql
.
error
(
f
"select min(ts) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(col7) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(col7) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(col8) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(col8) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(col9) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(col9) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(a) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(a) from
{
dbname
}
.stb_1"
)
tdSql
.
query
(
f
"select min(1) from
{
dbname
}
.stb_1"
)
tdSql
.
query
(
f
"select min(1) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(now()) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(count(c1),count(c2)) from
{
dbname
}
.stb_1"
)
tdSql
.
error
(
f
"select min(count(c1),count(c2)) from
{
dbname
}
.stb_1"
)
tdSql
.
query
(
f
"select min(col1) from
{
dbname
}
.stb"
)
tdSql
.
query
(
f
"select min(col1) from
{
dbname
}
.stb"
)
...
@@ -102,13 +111,24 @@ class TDTestCase:
...
@@ -102,13 +111,24 @@ class TDTestCase:
tdSql
.
query
(
f
"select min(col1) from
{
dbname
}
.stb where col2>=5"
)
tdSql
.
query
(
f
"select min(col1) from
{
dbname
}
.stb where col2>=5"
)
tdSql
.
checkData
(
0
,
0
,
5
)
tdSql
.
checkData
(
0
,
0
,
5
)
tdSql
.
error
(
f
"select min(ts) from
{
dbname
}
.ntb"
)
tdSql
.
query
(
f
"select min(now()) from
{
dbname
}
.stb_1"
)
tdSql
.
checkRows
(
1
)
tdSql
.
query
(
f
"select first(ts) from
{
dbname
}
.stb_1"
)
firstTs
=
tdSql
.
getData
(
0
,
0
)
tdSql
.
query
(
f
"select min(ts) from
{
dbname
}
.stb_1"
)
tdSql
.
checkData
(
0
,
0
,
firstTs
)
tdSql
.
query
(
f
"select first(ts) from
{
dbname
}
.stb_1"
)
firstTs
=
tdSql
.
getData
(
0
,
0
)
tdSql
.
query
(
f
"select min(ts) from
{
dbname
}
.stb_1"
)
tdSql
.
checkData
(
0
,
0
,
firstTs
)
tdSql
.
error
(
f
"select min(col7) from
{
dbname
}
.ntb"
)
tdSql
.
error
(
f
"select min(col7) from
{
dbname
}
.ntb"
)
tdSql
.
error
(
f
"select min(col8) from
{
dbname
}
.ntb"
)
tdSql
.
error
(
f
"select min(col8) from
{
dbname
}
.ntb"
)
tdSql
.
error
(
f
"select min(col9) from
{
dbname
}
.ntb"
)
tdSql
.
error
(
f
"select min(col9) from
{
dbname
}
.ntb"
)
tdSql
.
error
(
f
"select min(a) from
{
dbname
}
.ntb"
)
tdSql
.
error
(
f
"select min(a) from
{
dbname
}
.ntb"
)
tdSql
.
query
(
f
"select min(1) from
{
dbname
}
.ntb"
)
tdSql
.
query
(
f
"select min(1) from
{
dbname
}
.ntb"
)
tdSql
.
error
(
f
"select min(now()) from
{
dbname
}
.ntb"
)
tdSql
.
error
(
f
"select min(count(c1),count(c2)) from
{
dbname
}
.ntb"
)
tdSql
.
error
(
f
"select min(count(c1),count(c2)) from
{
dbname
}
.ntb"
)
tdSql
.
query
(
f
"select min(col1) from
{
dbname
}
.ntb"
)
tdSql
.
query
(
f
"select min(col1) from
{
dbname
}
.ntb"
)
...
@@ -134,6 +154,19 @@ class TDTestCase:
...
@@ -134,6 +154,19 @@ class TDTestCase:
tdSql
.
query
(
f
"select min(col1) from
{
dbname
}
.ntb where col2>=5"
)
tdSql
.
query
(
f
"select min(col1) from
{
dbname
}
.ntb where col2>=5"
)
tdSql
.
checkData
(
0
,
0
,
5
)
tdSql
.
checkData
(
0
,
0
,
5
)
tdSql
.
query
(
f
"select min(now()) from
{
dbname
}
.stb_1"
)
tdSql
.
checkRows
(
1
)
tdSql
.
query
(
f
"select first(ts) from
{
dbname
}
.stb_1"
)
firstTs
=
tdSql
.
getData
(
0
,
0
)
tdSql
.
query
(
f
"select min(ts) from
{
dbname
}
.stb_1"
)
tdSql
.
checkData
(
0
,
0
,
firstTs
)
tdSql
.
query
(
f
"select first(ts) from
{
dbname
}
.stb_1"
)
firstTs
=
tdSql
.
getData
(
0
,
0
)
tdSql
.
query
(
f
"select min(ts) from
{
dbname
}
.stb_1"
)
tdSql
.
checkData
(
0
,
0
,
firstTs
)
def
stop
(
self
):
def
stop
(
self
):
tdSql
.
close
()
tdSql
.
close
()
...
...
tests/system-test/7-tmq/tmqShow.py
浏览文件 @
39215ec1
...
@@ -19,6 +19,11 @@ class TDTestCase:
...
@@ -19,6 +19,11 @@ class TDTestCase:
tdLog
.
debug
(
f
"start to excute
{
__file__
}
"
)
tdLog
.
debug
(
f
"start to excute
{
__file__
}
"
)
tdSql
.
init
(
conn
.
cursor
())
tdSql
.
init
(
conn
.
cursor
())
#tdSql.init(conn.cursor(), logSql) # output sql.txt file
#tdSql.init(conn.cursor(), logSql) # output sql.txt file
def
insertConsumerInfo
(
self
,
consumerId
,
expectrowcnt
,
topicList
,
keyList
,
ifcheckdata
,
ifmanualcommit
,
offset
=
1
,
cdbName
=
'cdb'
):
sql
=
"insert into %s.consumeinfo values "
%
cdbName
sql
+=
"(now+%ds, %d, '%s', '%s', %d, %d, %d)"
%
(
offset
,
consumerId
,
topicList
,
keyList
,
expectrowcnt
,
ifcheckdata
,
ifmanualcommit
)
tdLog
.
info
(
"consume info sql: %s"
%
sql
)
tdSql
.
query
(
sql
)
def
tmqCase1
(
self
):
def
tmqCase1
(
self
):
tdLog
.
printNoPrefix
(
"======== test case 1: "
)
tdLog
.
printNoPrefix
(
"======== test case 1: "
)
...
@@ -95,19 +100,23 @@ class TDTestCase:
...
@@ -95,19 +100,23 @@ class TDTestCase:
ifcheckdata
=
0
ifcheckdata
=
0
ifManualCommit
=
0
ifManualCommit
=
0
keyList
=
'group.id:%s, enable.auto.commit:false, auto.commit.interval.ms:6000, auto.offset.reset:earliest'
%
consumeGroupIdList
[
0
]
keyList
=
'group.id:%s, enable.auto.commit:false, auto.commit.interval.ms:6000, auto.offset.reset:earliest'
%
consumeGroupIdList
[
0
]
tmqCom
.
insertConsumerInfo
(
consumerIdList
[
0
],
expectrowcnt
,
topicList
,
keyList
,
ifcheckdata
,
ifManualCommit
)
tsOffset
=
1
self
.
insertConsumerInfo
(
consumerIdList
[
0
],
expectrowcnt
,
topicList
,
keyList
,
ifcheckdata
,
ifManualCommit
,
tsOffset
)
topicList
=
topicNameList
[
1
]
topicList
=
topicNameList
[
1
]
keyList
=
'group.id:%s, enable.auto.commit:false, auto.commit.interval.ms:6000, auto.offset.reset:earliest'
%
consumeGroupIdList
[
1
]
keyList
=
'group.id:%s, enable.auto.commit:false, auto.commit.interval.ms:6000, auto.offset.reset:earliest'
%
consumeGroupIdList
[
1
]
tmqCom
.
insertConsumerInfo
(
consumerIdList
[
1
],
expectrowcnt
,
topicList
,
keyList
,
ifcheckdata
,
ifManualCommit
)
tsOffset
=
2
self
.
insertConsumerInfo
(
consumerIdList
[
1
],
expectrowcnt
,
topicList
,
keyList
,
ifcheckdata
,
ifManualCommit
,
tsOffset
)
topicList
=
topicNameList
[
2
]
topicList
=
topicNameList
[
2
]
keyList
=
'group.id:%s, enable.auto.commit:false, auto.commit.interval.ms:6000, auto.offset.reset:earliest'
%
consumeGroupIdList
[
2
]
keyList
=
'group.id:%s, enable.auto.commit:false, auto.commit.interval.ms:6000, auto.offset.reset:earliest'
%
consumeGroupIdList
[
2
]
tmqCom
.
insertConsumerInfo
(
consumerIdList
[
2
],
expectrowcnt
,
topicList
,
keyList
,
ifcheckdata
,
ifManualCommit
)
tsOffset
=
3
self
.
insertConsumerInfo
(
consumerIdList
[
2
],
expectrowcnt
,
topicList
,
keyList
,
ifcheckdata
,
ifManualCommit
,
tsOffset
)
topicList
=
topicNameList
[
3
]
topicList
=
topicNameList
[
3
]
keyList
=
'group.id:%s, enable.auto.commit:false, auto.commit.interval.ms:6000, auto.offset.reset:earliest'
%
consumeGroupIdList
[
3
]
keyList
=
'group.id:%s, enable.auto.commit:false, auto.commit.interval.ms:6000, auto.offset.reset:earliest'
%
consumeGroupIdList
[
3
]
tmqCom
.
insertConsumerInfo
(
consumerIdList
[
3
],
expectrowcnt
,
topicList
,
keyList
,
ifcheckdata
,
ifManualCommit
)
tsOffset
=
4
self
.
insertConsumerInfo
(
consumerIdList
[
3
],
expectrowcnt
,
topicList
,
keyList
,
ifcheckdata
,
ifManualCommit
,
tsOffset
)
tdLog
.
info
(
"start consume processor"
)
tdLog
.
info
(
"start consume processor"
)
tmqCom
.
startTmqSimProcess
(
paraDict
[
'pollDelay'
],
paraDict
[
"dbName"
],
paraDict
[
'showMsg'
],
paraDict
[
'showRow'
])
tmqCom
.
startTmqSimProcess
(
paraDict
[
'pollDelay'
],
paraDict
[
"dbName"
],
paraDict
[
'showMsg'
],
paraDict
[
'showRow'
])
...
...
tests/system-test/fulltest.sh
浏览文件 @
39215ec1
...
@@ -314,8 +314,8 @@ python3 ./test.py -f 7-tmq/tmqConsFromTsdb-mutilVg-mutilCtb.py
...
@@ -314,8 +314,8 @@ python3 ./test.py -f 7-tmq/tmqConsFromTsdb-mutilVg-mutilCtb.py
python3 ./test.py
-f
7-tmq/tmqConsFromTsdb1-1ctb-funcNFilter.py
python3 ./test.py
-f
7-tmq/tmqConsFromTsdb1-1ctb-funcNFilter.py
python3 ./test.py
-f
7-tmq/tmqConsFromTsdb1-mutilVg-mutilCtb-funcNFilter.py
python3 ./test.py
-f
7-tmq/tmqConsFromTsdb1-mutilVg-mutilCtb-funcNFilter.py
python3 ./test.py
-f
7-tmq/tmqConsFromTsdb1-mutilVg-mutilCtb.py
python3 ./test.py
-f
7-tmq/tmqConsFromTsdb1-mutilVg-mutilCtb.py
#
python3 ./test.py -f 7-tmq/tmqAutoCreateTbl.py
python3 ./test.py
-f
7-tmq/tmqAutoCreateTbl.py
#
python3 ./test.py -f 7-tmq/tmqDnodeRestart.py
python3 ./test.py
-f
7-tmq/tmqDnodeRestart.py
python3 ./test.py
-f
7-tmq/tmqUpdate-1ctb.py
python3 ./test.py
-f
7-tmq/tmqUpdate-1ctb.py
python3 ./test.py
-f
7-tmq/tmqUpdateWithConsume.py
python3 ./test.py
-f
7-tmq/tmqUpdateWithConsume.py
python3 ./test.py
-f
7-tmq/tmqUpdate-multiCtb-snapshot0.py
python3 ./test.py
-f
7-tmq/tmqUpdate-multiCtb-snapshot0.py
...
@@ -514,3 +514,4 @@ python3 ./test.py -f 2-query/last_row.py -Q 3
...
@@ -514,3 +514,4 @@ python3 ./test.py -f 2-query/last_row.py -Q 3
python3 ./test.py
-f
2-query/tsbsQuery.py
-Q
3
python3 ./test.py
-f
2-query/tsbsQuery.py
-Q
3
python3 ./test.py
-f
2-query/sml.py
-Q
3
python3 ./test.py
-f
2-query/sml.py
-Q
3
python3 ./test.py
-f
2-query/interp.py
-Q
3
python3 ./test.py
-f
2-query/interp.py
-Q
3
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录