Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
68d8acf6
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1193
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看板
提交
68d8acf6
编写于
7月 21, 2022
作者:
G
Ganlin Zhao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(query): fix test cases
上级
7332b508
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
102 addition
and
102 deletion
+102
-102
tests/system-test/2-query/distribute_agg_max.py
tests/system-test/2-query/distribute_agg_max.py
+28
-28
tests/system-test/2-query/distribute_agg_min.py
tests/system-test/2-query/distribute_agg_min.py
+28
-28
tests/system-test/2-query/distribute_agg_spread.py
tests/system-test/2-query/distribute_agg_spread.py
+24
-24
tests/system-test/2-query/distribute_agg_sum.py
tests/system-test/2-query/distribute_agg_sum.py
+22
-22
未找到文件。
tests/system-test/2-query/distribute_agg_max.py
浏览文件 @
68d8acf6
...
@@ -2,11 +2,11 @@ from util.log import *
...
@@ -2,11 +2,11 @@ from util.log import *
from
util.cases
import
*
from
util.cases
import
*
from
util.sql
import
*
from
util.sql
import
*
import
numpy
as
np
import
numpy
as
np
import
random
import
random
class
TDTestCase
:
class
TDTestCase
:
updatecfgDict
=
{
'debugFlag'
:
143
,
"cDebugFlag"
:
143
,
"uDebugFlag"
:
143
,
"rpcDebugFlag"
:
143
,
"tmrDebugFlag"
:
143
,
updatecfgDict
=
{
'debugFlag'
:
143
,
"cDebugFlag"
:
143
,
"uDebugFlag"
:
143
,
"rpcDebugFlag"
:
143
,
"tmrDebugFlag"
:
143
,
"jniDebugFlag"
:
143
,
"simDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"vDebugFlag"
:
143
,
"mDebugFlag"
:
143
,
"qDebugFlag"
:
143
,
"jniDebugFlag"
:
143
,
"simDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"vDebugFlag"
:
143
,
"mDebugFlag"
:
143
,
"qDebugFlag"
:
143
,
"wDebugFlag"
:
143
,
"sDebugFlag"
:
143
,
"tsdbDebugFlag"
:
143
,
"tqDebugFlag"
:
143
,
"fsDebugFlag"
:
143
,
"udfDebugFlag"
:
143
,
"wDebugFlag"
:
143
,
"sDebugFlag"
:
143
,
"tsdbDebugFlag"
:
143
,
"tqDebugFlag"
:
143
,
"fsDebugFlag"
:
143
,
"udfDebugFlag"
:
143
,
"maxTablesPerVnode"
:
2
,
"minTablesPerVnode"
:
2
,
"tableIncStepPerVnode"
:
2
}
"maxTablesPerVnode"
:
2
,
"minTablesPerVnode"
:
2
,
"tableIncStepPerVnode"
:
2
}
...
@@ -25,7 +25,7 @@ class TDTestCase:
...
@@ -25,7 +25,7 @@ class TDTestCase:
same_sql
=
f
"select
{
col_name
}
from
{
tbname
}
order by
{
col_name
}
desc limit 1"
same_sql
=
f
"select
{
col_name
}
from
{
tbname
}
order by
{
col_name
}
desc limit 1"
tdSql
.
query
(
max_sql
)
tdSql
.
query
(
max_sql
)
max_result
=
tdSql
.
queryResult
max_result
=
tdSql
.
queryResult
tdSql
.
query
(
same_sql
)
tdSql
.
query
(
same_sql
)
same_result
=
tdSql
.
queryResult
same_result
=
tdSql
.
queryResult
...
@@ -37,7 +37,7 @@ class TDTestCase:
...
@@ -37,7 +37,7 @@ class TDTestCase:
def
prepare_datas_of_distribute
(
self
):
def
prepare_datas_of_distribute
(
self
):
# prepate datas for 20 tables distributed at different vgroups
# prepate datas for 20 tables distributed at different vgroups
tdSql
.
execute
(
"create database if not exists testdb keep 3650 duration 1000 vgroups 5"
)
tdSql
.
execute
(
"create database if not exists testdb keep 3650 duration 1000 vgroups 5"
)
tdSql
.
execute
(
" use testdb "
)
tdSql
.
execute
(
" use testdb "
)
...
@@ -108,17 +108,17 @@ class TDTestCase:
...
@@ -108,17 +108,17 @@ class TDTestCase:
vgroups
=
tdSql
.
queryResult
vgroups
=
tdSql
.
queryResult
vnode_tables
=
{}
vnode_tables
=
{}
for
vgroup_id
in
vgroups
:
for
vgroup_id
in
vgroups
:
vnode_tables
[
vgroup_id
[
0
]]
=
[]
vnode_tables
[
vgroup_id
[
0
]]
=
[]
# check sub_table of per vnode ,make sure sub_table has been distributed
# check sub_table of per vnode ,make sure sub_table has been distributed
tdSql
.
query
(
"show tables like 'ct%'"
)
tdSql
.
query
(
"show tables like 'ct%'"
)
table_names
=
tdSql
.
queryResult
table_names
=
tdSql
.
queryResult
tablenames
=
[]
tablenames
=
[]
for
table_name
in
table_names
:
for
table_name
in
table_names
:
vnode_tables
[
table_name
[
6
]].
append
(
table_name
[
0
])
vnode_tables
[
table_name
[
6
]].
append
(
table_name
[
0
])
self
.
vnode_disbutes
=
vnode_tables
self
.
vnode_disbutes
=
vnode_tables
count
=
0
count
=
0
...
@@ -129,14 +129,14 @@ class TDTestCase:
...
@@ -129,14 +129,14 @@ class TDTestCase:
tdLog
.
exit
(
" the datas of all not satisfy sub_table has been distributed "
)
tdLog
.
exit
(
" the datas of all not satisfy sub_table has been distributed "
)
def
check_max_distribute_diff_vnode
(
self
,
col_name
):
def
check_max_distribute_diff_vnode
(
self
,
col_name
):
vgroup_ids
=
[]
vgroup_ids
=
[]
for
k
,
v
in
self
.
vnode_disbutes
.
items
():
for
k
,
v
in
self
.
vnode_disbutes
.
items
():
if
len
(
v
)
>=
2
:
if
len
(
v
)
>=
2
:
vgroup_ids
.
append
(
k
)
vgroup_ids
.
append
(
k
)
distribute_tbnames
=
[]
distribute_tbnames
=
[]
for
vgroup_id
in
vgroup_ids
:
for
vgroup_id
in
vgroup_ids
:
vnode_tables
=
self
.
vnode_disbutes
[
vgroup_id
]
vnode_tables
=
self
.
vnode_disbutes
[
vgroup_id
]
distribute_tbnames
.
append
(
random
.
sample
(
vnode_tables
,
1
)[
0
])
distribute_tbnames
.
append
(
random
.
sample
(
vnode_tables
,
1
)[
0
])
...
@@ -145,13 +145,13 @@ class TDTestCase:
...
@@ -145,13 +145,13 @@ class TDTestCase:
tbname_ins
+=
"'%s' ,"
%
tbname
tbname_ins
+=
"'%s' ,"
%
tbname
tbname_filters
=
tbname_ins
[:
-
1
]
tbname_filters
=
tbname_ins
[:
-
1
]
max_sql
=
f
"select max(
{
col_name
}
) from stb1 where tbname in (
{
tbname_filters
}
);"
max_sql
=
f
"select max(
{
col_name
}
) from stb1 where tbname in (
{
tbname_filters
}
);"
same_sql
=
f
"select
{
col_name
}
from stb1 where tbname in (
{
tbname_filters
}
) order by
{
col_name
}
desc limit 1"
same_sql
=
f
"select
{
col_name
}
from stb1 where tbname in (
{
tbname_filters
}
) order by
{
col_name
}
desc limit 1"
tdSql
.
query
(
max_sql
)
tdSql
.
query
(
max_sql
)
max_result
=
tdSql
.
queryResult
max_result
=
tdSql
.
queryResult
tdSql
.
query
(
same_sql
)
tdSql
.
query
(
same_sql
)
same_result
=
tdSql
.
queryResult
same_result
=
tdSql
.
queryResult
...
@@ -162,8 +162,8 @@ class TDTestCase:
...
@@ -162,8 +162,8 @@ class TDTestCase:
tdLog
.
info
(
" max function work as expected, sql : %s "
%
max_sql
)
tdLog
.
info
(
" max function work as expected, sql : %s "
%
max_sql
)
def
check_max_status
(
self
):
def
check_max_status
(
self
):
# check max function work status
# check max function work status
tdSql
.
query
(
"show tables like 'ct%'"
)
tdSql
.
query
(
"show tables like 'ct%'"
)
table_names
=
tdSql
.
queryResult
table_names
=
tdSql
.
queryResult
tablenames
=
[]
tablenames
=
[]
...
@@ -172,26 +172,26 @@ class TDTestCase:
...
@@ -172,26 +172,26 @@ class TDTestCase:
tdSql
.
query
(
"desc stb1"
)
tdSql
.
query
(
"desc stb1"
)
col_names
=
tdSql
.
queryResult
col_names
=
tdSql
.
queryResult
colnames
=
[]
colnames
=
[]
for
col_name
in
col_names
:
for
col_name
in
col_names
:
if
col_name
[
1
]
in
[
"INT"
,
"BIGINT"
,
"SMALLINT"
,
"TINYINT"
,
"FLOAT"
,
"DOUBLE"
]:
if
col_name
[
1
]
in
[
"INT"
,
"BIGINT"
,
"SMALLINT"
,
"TINYINT"
,
"FLOAT"
,
"DOUBLE"
]:
colnames
.
append
(
col_name
[
0
])
colnames
.
append
(
col_name
[
0
])
for
tablename
in
tablenames
:
for
tablename
in
tablenames
:
for
colname
in
colnames
:
for
colname
in
colnames
:
self
.
check_max_functions
(
tablename
,
colname
)
self
.
check_max_functions
(
tablename
,
colname
)
# check max function for different vnode
# check max function for different vnode
for
colname
in
colnames
:
for
colname
in
colnames
:
if
colname
.
startswith
(
"c"
):
if
colname
.
startswith
(
"c"
):
self
.
check_max_distribute_diff_vnode
(
colname
)
self
.
check_max_distribute_diff_vnode
(
colname
)
else
:
else
:
# self.check_max_distribute_diff_vnode(colname) # bug for tag
# self.check_max_distribute_diff_vnode(colname) # bug for tag
pass
pass
def
distribute_agg_query
(
self
):
def
distribute_agg_query
(
self
):
# basic filter
# basic filter
tdSql
.
query
(
"select max(c1) from stb1 where c1 is null"
)
tdSql
.
query
(
"select max(c1) from stb1 where c1 is null"
)
...
@@ -212,12 +212,12 @@ class TDTestCase:
...
@@ -212,12 +212,12 @@ class TDTestCase:
tdSql
.
query
(
"select max(c1) from stb1 where t1> 4 partition by tbname"
)
tdSql
.
query
(
"select max(c1) from stb1 where t1> 4 partition by tbname"
)
tdSql
.
checkRows
(
15
)
tdSql
.
checkRows
(
15
)
# union all
# union all
tdSql
.
query
(
"select max(c1) from stb1 union all select max(c1) from stb1 "
)
tdSql
.
query
(
"select max(c1) from stb1 union all select max(c1) from stb1 "
)
tdSql
.
checkRows
(
2
)
tdSql
.
checkRows
(
2
)
tdSql
.
checkData
(
0
,
0
,
28
)
tdSql
.
checkData
(
0
,
0
,
28
)
# join
# join
tdSql
.
execute
(
" create database if not exists db "
)
tdSql
.
execute
(
" create database if not exists db "
)
tdSql
.
execute
(
" use db "
)
tdSql
.
execute
(
" use db "
)
...
@@ -225,7 +225,7 @@ class TDTestCase:
...
@@ -225,7 +225,7 @@ class TDTestCase:
tdSql
.
execute
(
" create table tb1 using st tags(1) "
)
tdSql
.
execute
(
" create table tb1 using st tags(1) "
)
tdSql
.
execute
(
" create table tb2 using st tags(2) "
)
tdSql
.
execute
(
" create table tb2 using st tags(2) "
)
for
i
in
range
(
10
):
for
i
in
range
(
10
):
ts
=
i
*
10
+
self
.
ts
ts
=
i
*
10
+
self
.
ts
tdSql
.
execute
(
f
" insert into tb1 values(
{
ts
}
,
{
i
}
,
{
i
}
.0)"
)
tdSql
.
execute
(
f
" insert into tb1 values(
{
ts
}
,
{
i
}
,
{
i
}
.0)"
)
...
@@ -236,7 +236,7 @@ class TDTestCase:
...
@@ -236,7 +236,7 @@ class TDTestCase:
tdSql
.
checkData
(
0
,
0
,
9
)
tdSql
.
checkData
(
0
,
0
,
9
)
tdSql
.
checkData
(
0
,
0
,
9.00000
)
tdSql
.
checkData
(
0
,
0
,
9.00000
)
# group by
# group by
tdSql
.
execute
(
" use testdb "
)
tdSql
.
execute
(
" use testdb "
)
tdSql
.
query
(
" select max(c1),c1 from stb1 group by t1 "
)
tdSql
.
query
(
" select max(c1),c1 from stb1 group by t1 "
)
tdSql
.
checkRows
(
20
)
tdSql
.
checkRows
(
20
)
...
@@ -263,13 +263,13 @@ class TDTestCase:
...
@@ -263,13 +263,13 @@ class TDTestCase:
tdSql
.
checkRows
(
1
)
tdSql
.
checkRows
(
1
)
tdSql
.
checkData
(
0
,
0
,
28
)
tdSql
.
checkData
(
0
,
0
,
28
)
tdSql
.
checkData
(
0
,
1
,
19
)
tdSql
.
checkData
(
0
,
1
,
19
)
tdSql
.
checkData
(
0
,
2
,
311110.000000000
)
tdSql
.
checkData
(
0
,
2
,
311110.000000000
)
tdSql
.
checkData
(
0
,
3
,
2109
)
tdSql
.
checkData
(
0
,
3
,
2109
)
# partition by tbname or partition by tag
# partition by tbname or partition by tag
tdSql
.
query
(
"select max(c1),tbname from stb1 partition by tbname"
)
tdSql
.
query
(
"select max(c1),tbname from stb1 partition by tbname"
)
query_data
=
tdSql
.
queryResult
query_data
=
tdSql
.
queryResult
for
row
in
query_data
:
for
row
in
query_data
:
tbname
=
row
[
1
]
tbname
=
row
[
1
]
tdSql
.
query
(
" select max(c1) from %s "
%
tbname
)
tdSql
.
query
(
" select max(c1) from %s "
%
tbname
)
...
@@ -277,7 +277,7 @@ class TDTestCase:
...
@@ -277,7 +277,7 @@ class TDTestCase:
tdSql
.
query
(
"select max(c1),tbname from stb1 partition by t1"
)
tdSql
.
query
(
"select max(c1),tbname from stb1 partition by t1"
)
query_data
=
tdSql
.
queryResult
query_data
=
tdSql
.
queryResult
for
row
in
query_data
:
for
row
in
query_data
:
tbname
=
row
[
1
]
tbname
=
row
[
1
]
tdSql
.
query
(
" select max(c1) from %s "
%
tbname
)
tdSql
.
query
(
" select max(c1) from %s "
%
tbname
)
...
@@ -305,7 +305,7 @@ class TDTestCase:
...
@@ -305,7 +305,7 @@ class TDTestCase:
self
.
check_max_status
()
self
.
check_max_status
()
self
.
distribute_agg_query
()
self
.
distribute_agg_query
()
def
stop
(
self
):
def
stop
(
self
):
tdSql
.
close
()
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
...
...
tests/system-test/2-query/distribute_agg_min.py
浏览文件 @
68d8acf6
...
@@ -2,11 +2,11 @@ from util.log import *
...
@@ -2,11 +2,11 @@ from util.log import *
from
util.cases
import
*
from
util.cases
import
*
from
util.sql
import
*
from
util.sql
import
*
import
numpy
as
np
import
numpy
as
np
import
random
import
random
class
TDTestCase
:
class
TDTestCase
:
updatecfgDict
=
{
'debugFlag'
:
143
,
"cDebugFlag"
:
143
,
"uDebugFlag"
:
143
,
"rpcDebugFlag"
:
143
,
"tmrDebugFlag"
:
143
,
updatecfgDict
=
{
'debugFlag'
:
143
,
"cDebugFlag"
:
143
,
"uDebugFlag"
:
143
,
"rpcDebugFlag"
:
143
,
"tmrDebugFlag"
:
143
,
"jniDebugFlag"
:
143
,
"simDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"vDebugFlag"
:
143
,
"mDebugFlag"
:
143
,
"qDebugFlag"
:
143
,
"jniDebugFlag"
:
143
,
"simDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"vDebugFlag"
:
143
,
"mDebugFlag"
:
143
,
"qDebugFlag"
:
143
,
"wDebugFlag"
:
143
,
"sDebugFlag"
:
143
,
"tsdbDebugFlag"
:
143
,
"tqDebugFlag"
:
143
,
"fsDebugFlag"
:
143
,
"udfDebugFlag"
:
143
,
"wDebugFlag"
:
143
,
"sDebugFlag"
:
143
,
"tsdbDebugFlag"
:
143
,
"tqDebugFlag"
:
143
,
"fsDebugFlag"
:
143
,
"udfDebugFlag"
:
143
,
"maxTablesPerVnode"
:
2
,
"minTablesPerVnode"
:
2
,
"tableIncStepPerVnode"
:
2
}
"maxTablesPerVnode"
:
2
,
"minTablesPerVnode"
:
2
,
"tableIncStepPerVnode"
:
2
}
...
@@ -25,7 +25,7 @@ class TDTestCase:
...
@@ -25,7 +25,7 @@ class TDTestCase:
same_sql
=
f
"select
{
col_name
}
from
{
tbname
}
where
{
col_name
}
is not null order by
{
col_name
}
asc limit 1"
same_sql
=
f
"select
{
col_name
}
from
{
tbname
}
where
{
col_name
}
is not null order by
{
col_name
}
asc limit 1"
tdSql
.
query
(
min_sql
)
tdSql
.
query
(
min_sql
)
min_result
=
tdSql
.
queryResult
min_result
=
tdSql
.
queryResult
tdSql
.
query
(
same_sql
)
tdSql
.
query
(
same_sql
)
same_result
=
tdSql
.
queryResult
same_result
=
tdSql
.
queryResult
...
@@ -37,7 +37,7 @@ class TDTestCase:
...
@@ -37,7 +37,7 @@ class TDTestCase:
def
prepare_datas_of_distribute
(
self
):
def
prepare_datas_of_distribute
(
self
):
# prepate datas for 20 tables distributed at different vgroups
# prepate datas for 20 tables distributed at different vgroups
tdSql
.
execute
(
"create database if not exists testdb keep 3650 duration 1000 vgroups 5"
)
tdSql
.
execute
(
"create database if not exists testdb keep 3650 duration 1000 vgroups 5"
)
tdSql
.
execute
(
" use testdb "
)
tdSql
.
execute
(
" use testdb "
)
...
@@ -108,17 +108,17 @@ class TDTestCase:
...
@@ -108,17 +108,17 @@ class TDTestCase:
vgroups
=
tdSql
.
queryResult
vgroups
=
tdSql
.
queryResult
vnode_tables
=
{}
vnode_tables
=
{}
for
vgroup_id
in
vgroups
:
for
vgroup_id
in
vgroups
:
vnode_tables
[
vgroup_id
[
0
]]
=
[]
vnode_tables
[
vgroup_id
[
0
]]
=
[]
# check sub_table of per vnode ,make sure sub_table has been distributed
# check sub_table of per vnode ,make sure sub_table has been distributed
tdSql
.
query
(
"show tables like 'ct%'"
)
tdSql
.
query
(
"show tables like 'ct%'"
)
table_names
=
tdSql
.
queryResult
table_names
=
tdSql
.
queryResult
tablenames
=
[]
tablenames
=
[]
for
table_name
in
table_names
:
for
table_name
in
table_names
:
vnode_tables
[
table_name
[
6
]].
append
(
table_name
[
0
])
vnode_tables
[
table_name
[
6
]].
append
(
table_name
[
0
])
self
.
vnode_disbutes
=
vnode_tables
self
.
vnode_disbutes
=
vnode_tables
count
=
0
count
=
0
...
@@ -129,14 +129,14 @@ class TDTestCase:
...
@@ -129,14 +129,14 @@ class TDTestCase:
tdLog
.
exit
(
" the datas of all not satisfy sub_table has been distributed "
)
tdLog
.
exit
(
" the datas of all not satisfy sub_table has been distributed "
)
def
check_min_distribute_diff_vnode
(
self
,
col_name
):
def
check_min_distribute_diff_vnode
(
self
,
col_name
):
vgroup_ids
=
[]
vgroup_ids
=
[]
for
k
,
v
in
self
.
vnode_disbutes
.
items
():
for
k
,
v
in
self
.
vnode_disbutes
.
items
():
if
len
(
v
)
>=
2
:
if
len
(
v
)
>=
2
:
vgroup_ids
.
append
(
k
)
vgroup_ids
.
append
(
k
)
distribute_tbnames
=
[]
distribute_tbnames
=
[]
for
vgroup_id
in
vgroup_ids
:
for
vgroup_id
in
vgroup_ids
:
vnode_tables
=
self
.
vnode_disbutes
[
vgroup_id
]
vnode_tables
=
self
.
vnode_disbutes
[
vgroup_id
]
distribute_tbnames
.
append
(
random
.
sample
(
vnode_tables
,
1
)[
0
])
distribute_tbnames
.
append
(
random
.
sample
(
vnode_tables
,
1
)[
0
])
...
@@ -145,13 +145,13 @@ class TDTestCase:
...
@@ -145,13 +145,13 @@ class TDTestCase:
tbname_ins
+=
"'%s' ,"
%
tbname
tbname_ins
+=
"'%s' ,"
%
tbname
tbname_filters
=
tbname_ins
[:
-
1
]
tbname_filters
=
tbname_ins
[:
-
1
]
min_sql
=
f
"select min(
{
col_name
}
) from stb1 where tbname in (
{
tbname_filters
}
);"
min_sql
=
f
"select min(
{
col_name
}
) from stb1 where tbname in (
{
tbname_filters
}
);"
same_sql
=
f
"select
{
col_name
}
from stb1 where tbname in (
{
tbname_filters
}
) and
{
col_name
}
is not null order by
{
col_name
}
asc limit 1"
same_sql
=
f
"select
{
col_name
}
from stb1 where tbname in (
{
tbname_filters
}
) and
{
col_name
}
is not null order by
{
col_name
}
asc limit 1"
tdSql
.
query
(
min_sql
)
tdSql
.
query
(
min_sql
)
min_result
=
tdSql
.
queryResult
min_result
=
tdSql
.
queryResult
tdSql
.
query
(
same_sql
)
tdSql
.
query
(
same_sql
)
same_result
=
tdSql
.
queryResult
same_result
=
tdSql
.
queryResult
...
@@ -162,8 +162,8 @@ class TDTestCase:
...
@@ -162,8 +162,8 @@ class TDTestCase:
tdLog
.
info
(
" min function work as expected, sql : %s "
%
min_sql
)
tdLog
.
info
(
" min function work as expected, sql : %s "
%
min_sql
)
def
check_min_status
(
self
):
def
check_min_status
(
self
):
# check max function work status
# check max function work status
tdSql
.
query
(
"show tables like 'ct%'"
)
tdSql
.
query
(
"show tables like 'ct%'"
)
table_names
=
tdSql
.
queryResult
table_names
=
tdSql
.
queryResult
tablenames
=
[]
tablenames
=
[]
...
@@ -172,26 +172,26 @@ class TDTestCase:
...
@@ -172,26 +172,26 @@ class TDTestCase:
tdSql
.
query
(
"desc stb1"
)
tdSql
.
query
(
"desc stb1"
)
col_names
=
tdSql
.
queryResult
col_names
=
tdSql
.
queryResult
colnames
=
[]
colnames
=
[]
for
col_name
in
col_names
:
for
col_name
in
col_names
:
if
col_name
[
1
]
in
[
"INT"
,
"BIGINT"
,
"SMALLINT"
,
"TINYINT"
,
"FLOAT"
,
"DOUBLE"
]:
if
col_name
[
1
]
in
[
"INT"
,
"BIGINT"
,
"SMALLINT"
,
"TINYINT"
,
"FLOAT"
,
"DOUBLE"
]:
colnames
.
append
(
col_name
[
0
])
colnames
.
append
(
col_name
[
0
])
for
tablename
in
tablenames
:
for
tablename
in
tablenames
:
for
colname
in
colnames
:
for
colname
in
colnames
:
self
.
check_min_functions
(
tablename
,
colname
)
self
.
check_min_functions
(
tablename
,
colname
)
# check max function for different vnode
# check max function for different vnode
for
colname
in
colnames
:
for
colname
in
colnames
:
if
colname
.
startswith
(
"c"
):
if
colname
.
startswith
(
"c"
):
self
.
check_min_distribute_diff_vnode
(
colname
)
self
.
check_min_distribute_diff_vnode
(
colname
)
else
:
else
:
# self.check_min_distribute_diff_vnode(colname) # bug for tag
# self.check_min_distribute_diff_vnode(colname) # bug for tag
pass
pass
def
distribute_agg_query
(
self
):
def
distribute_agg_query
(
self
):
# basic filter
# basic filter
tdSql
.
query
(
"select min(c1) from stb1 where c1 is null"
)
tdSql
.
query
(
"select min(c1) from stb1 where c1 is null"
)
...
@@ -212,12 +212,12 @@ class TDTestCase:
...
@@ -212,12 +212,12 @@ class TDTestCase:
tdSql
.
query
(
"select min(c1) from stb1 where t1> 4 partition by tbname"
)
tdSql
.
query
(
"select min(c1) from stb1 where t1> 4 partition by tbname"
)
tdSql
.
checkRows
(
15
)
tdSql
.
checkRows
(
15
)
# union all
# union all
tdSql
.
query
(
"select min(c1) from stb1 union all select min(c1) from stb1 "
)
tdSql
.
query
(
"select min(c1) from stb1 union all select min(c1) from stb1 "
)
tdSql
.
checkRows
(
2
)
tdSql
.
checkRows
(
2
)
tdSql
.
checkData
(
0
,
0
,
0
)
tdSql
.
checkData
(
0
,
0
,
0
)
# join
# join
tdSql
.
execute
(
" create database if not exists db "
)
tdSql
.
execute
(
" create database if not exists db "
)
tdSql
.
execute
(
" use db "
)
tdSql
.
execute
(
" use db "
)
...
@@ -225,7 +225,7 @@ class TDTestCase:
...
@@ -225,7 +225,7 @@ class TDTestCase:
tdSql
.
execute
(
" create table tb1 using st tags(1) "
)
tdSql
.
execute
(
" create table tb1 using st tags(1) "
)
tdSql
.
execute
(
" create table tb2 using st tags(2) "
)
tdSql
.
execute
(
" create table tb2 using st tags(2) "
)
for
i
in
range
(
10
):
for
i
in
range
(
10
):
ts
=
i
*
10
+
self
.
ts
ts
=
i
*
10
+
self
.
ts
tdSql
.
execute
(
f
" insert into tb1 values(
{
ts
}
,
{
i
}
,
{
i
}
.0)"
)
tdSql
.
execute
(
f
" insert into tb1 values(
{
ts
}
,
{
i
}
,
{
i
}
.0)"
)
...
@@ -236,7 +236,7 @@ class TDTestCase:
...
@@ -236,7 +236,7 @@ class TDTestCase:
tdSql
.
checkData
(
0
,
0
,
0
)
tdSql
.
checkData
(
0
,
0
,
0
)
tdSql
.
checkData
(
0
,
0
,
0.00000
)
tdSql
.
checkData
(
0
,
0
,
0.00000
)
# group by
# group by
tdSql
.
execute
(
" use testdb "
)
tdSql
.
execute
(
" use testdb "
)
tdSql
.
query
(
" select min(c1),c1 from stb1 group by t1 "
)
tdSql
.
query
(
" select min(c1),c1 from stb1 group by t1 "
)
tdSql
.
checkRows
(
20
)
tdSql
.
checkRows
(
20
)
...
@@ -261,12 +261,12 @@ class TDTestCase:
...
@@ -261,12 +261,12 @@ class TDTestCase:
tdSql
.
query
(
"select min(c1),ceil(t1),pow(c2,1)+2,abs(t3) from stb1 where c1>12"
)
tdSql
.
query
(
"select min(c1),ceil(t1),pow(c2,1)+2,abs(t3) from stb1 where c1>12"
)
tdSql
.
checkRows
(
1
)
tdSql
.
checkRows
(
1
)
tdSql
.
checkData
(
0
,
0
,
13
)
tdSql
.
checkData
(
0
,
0
,
13
)
tdSql
.
checkData
(
0
,
2
,
144445.000000000
)
tdSql
.
checkData
(
0
,
2
,
144445.000000000
)
# partition by tbname or partition by tag
# partition by tbname or partition by tag
tdSql
.
query
(
"select min(c1),tbname from stb1 partition by tbname"
)
tdSql
.
query
(
"select min(c1),tbname from stb1 partition by tbname"
)
query_data
=
tdSql
.
queryResult
query_data
=
tdSql
.
queryResult
for
row
in
query_data
:
for
row
in
query_data
:
tbname
=
row
[
1
]
tbname
=
row
[
1
]
tdSql
.
query
(
" select min(c1) from %s "
%
tbname
)
tdSql
.
query
(
" select min(c1) from %s "
%
tbname
)
...
@@ -274,7 +274,7 @@ class TDTestCase:
...
@@ -274,7 +274,7 @@ class TDTestCase:
tdSql
.
query
(
"select min(c1),tbname from stb1 partition by t1"
)
tdSql
.
query
(
"select min(c1),tbname from stb1 partition by t1"
)
query_data
=
tdSql
.
queryResult
query_data
=
tdSql
.
queryResult
for
row
in
query_data
:
for
row
in
query_data
:
tbname
=
row
[
1
]
tbname
=
row
[
1
]
tdSql
.
query
(
" select min(c1) from %s "
%
tbname
)
tdSql
.
query
(
" select min(c1) from %s "
%
tbname
)
...
@@ -303,7 +303,7 @@ class TDTestCase:
...
@@ -303,7 +303,7 @@ class TDTestCase:
self
.
check_min_status
()
self
.
check_min_status
()
self
.
distribute_agg_query
()
self
.
distribute_agg_query
()
def
stop
(
self
):
def
stop
(
self
):
tdSql
.
close
()
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
...
...
tests/system-test/2-query/distribute_agg_spread.py
浏览文件 @
68d8acf6
...
@@ -2,11 +2,11 @@ from util.log import *
...
@@ -2,11 +2,11 @@ from util.log import *
from
util.cases
import
*
from
util.cases
import
*
from
util.sql
import
*
from
util.sql
import
*
import
numpy
as
np
import
numpy
as
np
import
random
import
random
class
TDTestCase
:
class
TDTestCase
:
updatecfgDict
=
{
'debugFlag'
:
143
,
"cDebugFlag"
:
143
,
"uDebugFlag"
:
143
,
"rpcDebugFlag"
:
143
,
"tmrDebugFlag"
:
143
,
updatecfgDict
=
{
'debugFlag'
:
143
,
"cDebugFlag"
:
143
,
"uDebugFlag"
:
143
,
"rpcDebugFlag"
:
143
,
"tmrDebugFlag"
:
143
,
"jniDebugFlag"
:
143
,
"simDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"vDebugFlag"
:
143
,
"mDebugFlag"
:
143
,
"qDebugFlag"
:
143
,
"jniDebugFlag"
:
143
,
"simDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"vDebugFlag"
:
143
,
"mDebugFlag"
:
143
,
"qDebugFlag"
:
143
,
"wDebugFlag"
:
143
,
"sDebugFlag"
:
143
,
"tsdbDebugFlag"
:
143
,
"tqDebugFlag"
:
143
,
"fsDebugFlag"
:
143
,
"udfDebugFlag"
:
143
,
"wDebugFlag"
:
143
,
"sDebugFlag"
:
143
,
"tsdbDebugFlag"
:
143
,
"tqDebugFlag"
:
143
,
"fsDebugFlag"
:
143
,
"udfDebugFlag"
:
143
,
"maxTablesPerVnode"
:
2
,
"minTablesPerVnode"
:
2
,
"tableIncStepPerVnode"
:
2
}
"maxTablesPerVnode"
:
2
,
"minTablesPerVnode"
:
2
,
"tableIncStepPerVnode"
:
2
}
...
@@ -25,7 +25,7 @@ class TDTestCase:
...
@@ -25,7 +25,7 @@ class TDTestCase:
same_sql
=
f
"select max(
{
col_name
}
)-min(
{
col_name
}
) from
{
tbname
}
"
same_sql
=
f
"select max(
{
col_name
}
)-min(
{
col_name
}
) from
{
tbname
}
"
tdSql
.
query
(
spread_sql
)
tdSql
.
query
(
spread_sql
)
spread_result
=
tdSql
.
queryResult
spread_result
=
tdSql
.
queryResult
tdSql
.
query
(
same_sql
)
tdSql
.
query
(
same_sql
)
same_result
=
tdSql
.
queryResult
same_result
=
tdSql
.
queryResult
...
@@ -37,7 +37,7 @@ class TDTestCase:
...
@@ -37,7 +37,7 @@ class TDTestCase:
def
prepare_datas_of_distribute
(
self
):
def
prepare_datas_of_distribute
(
self
):
# prepate datas for 20 tables distributed at different vgroups
# prepate datas for 20 tables distributed at different vgroups
tdSql
.
execute
(
"create database if not exists testdb keep 3650 duration 1000 vgroups 5"
)
tdSql
.
execute
(
"create database if not exists testdb keep 3650 duration 1000 vgroups 5"
)
tdSql
.
execute
(
" use testdb "
)
tdSql
.
execute
(
" use testdb "
)
...
@@ -108,17 +108,17 @@ class TDTestCase:
...
@@ -108,17 +108,17 @@ class TDTestCase:
vgroups
=
tdSql
.
queryResult
vgroups
=
tdSql
.
queryResult
vnode_tables
=
{}
vnode_tables
=
{}
for
vgroup_id
in
vgroups
:
for
vgroup_id
in
vgroups
:
vnode_tables
[
vgroup_id
[
0
]]
=
[]
vnode_tables
[
vgroup_id
[
0
]]
=
[]
# check sub_table of per vnode ,make sure sub_table has been distributed
# check sub_table of per vnode ,make sure sub_table has been distributed
tdSql
.
query
(
"show tables like 'ct%'"
)
tdSql
.
query
(
"show tables like 'ct%'"
)
table_names
=
tdSql
.
queryResult
table_names
=
tdSql
.
queryResult
tablenames
=
[]
tablenames
=
[]
for
table_name
in
table_names
:
for
table_name
in
table_names
:
vnode_tables
[
table_name
[
6
]].
append
(
table_name
[
0
])
vnode_tables
[
table_name
[
6
]].
append
(
table_name
[
0
])
self
.
vnode_disbutes
=
vnode_tables
self
.
vnode_disbutes
=
vnode_tables
count
=
0
count
=
0
...
@@ -129,14 +129,14 @@ class TDTestCase:
...
@@ -129,14 +129,14 @@ class TDTestCase:
tdLog
.
exit
(
" the datas of all not satisfy sub_table has been distributed "
)
tdLog
.
exit
(
" the datas of all not satisfy sub_table has been distributed "
)
def
check_spread_distribute_diff_vnode
(
self
,
col_name
):
def
check_spread_distribute_diff_vnode
(
self
,
col_name
):
vgroup_ids
=
[]
vgroup_ids
=
[]
for
k
,
v
in
self
.
vnode_disbutes
.
items
():
for
k
,
v
in
self
.
vnode_disbutes
.
items
():
if
len
(
v
)
>=
2
:
if
len
(
v
)
>=
2
:
vgroup_ids
.
append
(
k
)
vgroup_ids
.
append
(
k
)
distribute_tbnames
=
[]
distribute_tbnames
=
[]
for
vgroup_id
in
vgroup_ids
:
for
vgroup_id
in
vgroup_ids
:
vnode_tables
=
self
.
vnode_disbutes
[
vgroup_id
]
vnode_tables
=
self
.
vnode_disbutes
[
vgroup_id
]
distribute_tbnames
.
append
(
random
.
sample
(
vnode_tables
,
1
)[
0
])
distribute_tbnames
.
append
(
random
.
sample
(
vnode_tables
,
1
)[
0
])
...
@@ -145,13 +145,13 @@ class TDTestCase:
...
@@ -145,13 +145,13 @@ class TDTestCase:
tbname_ins
+=
"'%s' ,"
%
tbname
tbname_ins
+=
"'%s' ,"
%
tbname
tbname_filters
=
tbname_ins
[:
-
1
]
tbname_filters
=
tbname_ins
[:
-
1
]
spread_sql
=
f
"select spread(
{
col_name
}
) from stb1 where tbname in (
{
tbname_filters
}
)"
spread_sql
=
f
"select spread(
{
col_name
}
) from stb1 where tbname in (
{
tbname_filters
}
)"
same_sql
=
f
"select max(
{
col_name
}
) - min(
{
col_name
}
) from stb1 where tbname in (
{
tbname_filters
}
)"
same_sql
=
f
"select max(
{
col_name
}
) - min(
{
col_name
}
) from stb1 where tbname in (
{
tbname_filters
}
)"
tdSql
.
query
(
spread_sql
)
tdSql
.
query
(
spread_sql
)
spread_result
=
tdSql
.
queryResult
spread_result
=
tdSql
.
queryResult
tdSql
.
query
(
same_sql
)
tdSql
.
query
(
same_sql
)
same_result
=
tdSql
.
queryResult
same_result
=
tdSql
.
queryResult
...
@@ -162,8 +162,8 @@ class TDTestCase:
...
@@ -162,8 +162,8 @@ class TDTestCase:
tdLog
.
info
(
" spread function work as expected, sql : %s "
%
spread_sql
)
tdLog
.
info
(
" spread function work as expected, sql : %s "
%
spread_sql
)
def
check_spread_status
(
self
):
def
check_spread_status
(
self
):
# check max function work status
# check max function work status
tdSql
.
query
(
"show tables like 'ct%'"
)
tdSql
.
query
(
"show tables like 'ct%'"
)
table_names
=
tdSql
.
queryResult
table_names
=
tdSql
.
queryResult
tablenames
=
[]
tablenames
=
[]
...
@@ -172,26 +172,26 @@ class TDTestCase:
...
@@ -172,26 +172,26 @@ class TDTestCase:
tdSql
.
query
(
"desc stb1"
)
tdSql
.
query
(
"desc stb1"
)
col_names
=
tdSql
.
queryResult
col_names
=
tdSql
.
queryResult
colnames
=
[]
colnames
=
[]
for
col_name
in
col_names
:
for
col_name
in
col_names
:
if
col_name
[
1
]
in
[
"INT"
,
"BIGINT"
,
"SMALLINT"
,
"TINYINT"
,
"FLOAT"
,
"DOUBLE"
]:
if
col_name
[
1
]
in
[
"INT"
,
"BIGINT"
,
"SMALLINT"
,
"TINYINT"
,
"FLOAT"
,
"DOUBLE"
]:
colnames
.
append
(
col_name
[
0
])
colnames
.
append
(
col_name
[
0
])
for
tablename
in
tablenames
:
for
tablename
in
tablenames
:
for
colname
in
colnames
:
for
colname
in
colnames
:
self
.
check_spread_functions
(
tablename
,
colname
)
self
.
check_spread_functions
(
tablename
,
colname
)
# check max function for different vnode
# check max function for different vnode
for
colname
in
colnames
:
for
colname
in
colnames
:
if
colname
.
startswith
(
"c"
):
if
colname
.
startswith
(
"c"
):
self
.
check_spread_distribute_diff_vnode
(
colname
)
self
.
check_spread_distribute_diff_vnode
(
colname
)
else
:
else
:
# self.check_spread_distribute_diff_vnode(colname) # bug for tag
# self.check_spread_distribute_diff_vnode(colname) # bug for tag
pass
pass
def
distribute_agg_query
(
self
):
def
distribute_agg_query
(
self
):
# basic filter
# basic filter
tdSql
.
query
(
"select spread(c1) from stb1 where c1 is null"
)
tdSql
.
query
(
"select spread(c1) from stb1 where c1 is null"
)
...
@@ -212,12 +212,12 @@ class TDTestCase:
...
@@ -212,12 +212,12 @@ class TDTestCase:
tdSql
.
query
(
"select spread(c1) from stb1 where t1> 4 partition by tbname"
)
tdSql
.
query
(
"select spread(c1) from stb1 where t1> 4 partition by tbname"
)
tdSql
.
checkRows
(
15
)
tdSql
.
checkRows
(
15
)
# union all
# union all
tdSql
.
query
(
"select spread(c1) from stb1 union all select max(c1)-min(c1) from stb1 "
)
tdSql
.
query
(
"select spread(c1) from stb1 union all select max(c1)-min(c1) from stb1 "
)
tdSql
.
checkRows
(
2
)
tdSql
.
checkRows
(
2
)
tdSql
.
checkData
(
0
,
0
,
28.000000000
)
tdSql
.
checkData
(
0
,
0
,
28.000000000
)
# join
# join
tdSql
.
execute
(
" create database if not exists db "
)
tdSql
.
execute
(
" create database if not exists db "
)
tdSql
.
execute
(
" use db "
)
tdSql
.
execute
(
" use db "
)
...
@@ -225,7 +225,7 @@ class TDTestCase:
...
@@ -225,7 +225,7 @@ class TDTestCase:
tdSql
.
execute
(
" create table tb1 using st tags(1) "
)
tdSql
.
execute
(
" create table tb1 using st tags(1) "
)
tdSql
.
execute
(
" create table tb2 using st tags(2) "
)
tdSql
.
execute
(
" create table tb2 using st tags(2) "
)
for
i
in
range
(
10
):
for
i
in
range
(
10
):
ts
=
i
*
10
+
self
.
ts
ts
=
i
*
10
+
self
.
ts
tdSql
.
execute
(
f
" insert into tb1 values(
{
ts
}
,
{
i
}
,
{
i
}
.0)"
)
tdSql
.
execute
(
f
" insert into tb1 values(
{
ts
}
,
{
i
}
,
{
i
}
.0)"
)
...
@@ -236,7 +236,7 @@ class TDTestCase:
...
@@ -236,7 +236,7 @@ class TDTestCase:
tdSql
.
checkData
(
0
,
0
,
9.000000000
)
tdSql
.
checkData
(
0
,
0
,
9.000000000
)
tdSql
.
checkData
(
0
,
0
,
9.00000
)
tdSql
.
checkData
(
0
,
0
,
9.00000
)
# group by
# group by
tdSql
.
execute
(
" use testdb "
)
tdSql
.
execute
(
" use testdb "
)
tdSql
.
query
(
" select max(c1),c1 from stb1 group by t1 "
)
tdSql
.
query
(
" select max(c1),c1 from stb1 group by t1 "
)
tdSql
.
checkRows
(
20
)
tdSql
.
checkRows
(
20
)
...
@@ -272,7 +272,7 @@ class TDTestCase:
...
@@ -272,7 +272,7 @@ class TDTestCase:
self
.
check_spread_status
()
self
.
check_spread_status
()
self
.
distribute_agg_query
()
self
.
distribute_agg_query
()
def
stop
(
self
):
def
stop
(
self
):
tdSql
.
close
()
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
...
...
tests/system-test/2-query/distribute_agg_sum.py
浏览文件 @
68d8acf6
...
@@ -7,7 +7,7 @@ import platform
...
@@ -7,7 +7,7 @@ import platform
class
TDTestCase
:
class
TDTestCase
:
updatecfgDict
=
{
'debugFlag'
:
143
,
"cDebugFlag"
:
143
,
"uDebugFlag"
:
143
,
"rpcDebugFlag"
:
143
,
"tmrDebugFlag"
:
143
,
updatecfgDict
=
{
'debugFlag'
:
143
,
"cDebugFlag"
:
143
,
"uDebugFlag"
:
143
,
"rpcDebugFlag"
:
143
,
"tmrDebugFlag"
:
143
,
"jniDebugFlag"
:
143
,
"simDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"vDebugFlag"
:
143
,
"mDebugFlag"
:
143
,
"qDebugFlag"
:
143
,
"jniDebugFlag"
:
143
,
"simDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"dDebugFlag"
:
143
,
"vDebugFlag"
:
143
,
"mDebugFlag"
:
143
,
"qDebugFlag"
:
143
,
"wDebugFlag"
:
143
,
"sDebugFlag"
:
143
,
"tsdbDebugFlag"
:
143
,
"tqDebugFlag"
:
143
,
"fsDebugFlag"
:
143
,
"udfDebugFlag"
:
143
,
"wDebugFlag"
:
143
,
"sDebugFlag"
:
143
,
"tsdbDebugFlag"
:
143
,
"tqDebugFlag"
:
143
,
"fsDebugFlag"
:
143
,
"udfDebugFlag"
:
143
,
"maxTablesPerVnode"
:
2
,
"minTablesPerVnode"
:
2
,
"tableIncStepPerVnode"
:
2
}
"maxTablesPerVnode"
:
2
,
"minTablesPerVnode"
:
2
,
"tableIncStepPerVnode"
:
2
}
...
@@ -24,7 +24,7 @@ class TDTestCase:
...
@@ -24,7 +24,7 @@ class TDTestCase:
sum_sql
=
f
"select sum(
{
col_name
}
) from
{
tbname
}
;"
sum_sql
=
f
"select sum(
{
col_name
}
) from
{
tbname
}
;"
same_sql
=
f
"select
{
col_name
}
from
{
tbname
}
where
{
col_name
}
is not null "
same_sql
=
f
"select
{
col_name
}
from
{
tbname
}
where
{
col_name
}
is not null "
tdSql
.
query
(
same_sql
)
tdSql
.
query
(
same_sql
)
pre_data
=
np
.
array
(
tdSql
.
queryResult
)[
np
.
array
(
tdSql
.
queryResult
)
!=
None
]
pre_data
=
np
.
array
(
tdSql
.
queryResult
)[
np
.
array
(
tdSql
.
queryResult
)
!=
None
]
if
(
platform
.
system
().
lower
()
==
'windows'
and
pre_data
.
dtype
==
'int32'
):
if
(
platform
.
system
().
lower
()
==
'windows'
and
pre_data
.
dtype
==
'int32'
):
...
@@ -35,7 +35,7 @@ class TDTestCase:
...
@@ -35,7 +35,7 @@ class TDTestCase:
tdSql
.
checkData
(
0
,
0
,
pre_sum
)
tdSql
.
checkData
(
0
,
0
,
pre_sum
)
def
prepare_datas_of_distribute
(
self
):
def
prepare_datas_of_distribute
(
self
):
# prepate datas for 20 tables distributed at different vgroups
# prepate datas for 20 tables distributed at different vgroups
tdSql
.
execute
(
"create database if not exists testdb keep 3650 duration 1000 vgroups 5"
)
tdSql
.
execute
(
"create database if not exists testdb keep 3650 duration 1000 vgroups 5"
)
tdSql
.
execute
(
" use testdb "
)
tdSql
.
execute
(
" use testdb "
)
...
@@ -106,17 +106,17 @@ class TDTestCase:
...
@@ -106,17 +106,17 @@ class TDTestCase:
vgroups
=
tdSql
.
queryResult
vgroups
=
tdSql
.
queryResult
vnode_tables
=
{}
vnode_tables
=
{}
for
vgroup_id
in
vgroups
:
for
vgroup_id
in
vgroups
:
vnode_tables
[
vgroup_id
[
0
]]
=
[]
vnode_tables
[
vgroup_id
[
0
]]
=
[]
# check sub_table of per vnode ,make sure sub_table has been distributed
# check sub_table of per vnode ,make sure sub_table has been distributed
tdSql
.
query
(
"show tables like 'ct%'"
)
tdSql
.
query
(
"show tables like 'ct%'"
)
table_names
=
tdSql
.
queryResult
table_names
=
tdSql
.
queryResult
tablenames
=
[]
tablenames
=
[]
for
table_name
in
table_names
:
for
table_name
in
table_names
:
vnode_tables
[
table_name
[
6
]].
append
(
table_name
[
0
])
vnode_tables
[
table_name
[
6
]].
append
(
table_name
[
0
])
self
.
vnode_disbutes
=
vnode_tables
self
.
vnode_disbutes
=
vnode_tables
count
=
0
count
=
0
...
@@ -127,14 +127,14 @@ class TDTestCase:
...
@@ -127,14 +127,14 @@ class TDTestCase:
tdLog
.
exit
(
" the datas of all not satisfy sub_table has been distributed "
)
tdLog
.
exit
(
" the datas of all not satisfy sub_table has been distributed "
)
def
check_sum_distribute_diff_vnode
(
self
,
col_name
):
def
check_sum_distribute_diff_vnode
(
self
,
col_name
):
vgroup_ids
=
[]
vgroup_ids
=
[]
for
k
,
v
in
self
.
vnode_disbutes
.
items
():
for
k
,
v
in
self
.
vnode_disbutes
.
items
():
if
len
(
v
)
>=
2
:
if
len
(
v
)
>=
2
:
vgroup_ids
.
append
(
k
)
vgroup_ids
.
append
(
k
)
distribute_tbnames
=
[]
distribute_tbnames
=
[]
for
vgroup_id
in
vgroup_ids
:
for
vgroup_id
in
vgroup_ids
:
vnode_tables
=
self
.
vnode_disbutes
[
vgroup_id
]
vnode_tables
=
self
.
vnode_disbutes
[
vgroup_id
]
distribute_tbnames
.
append
(
random
.
sample
(
vnode_tables
,
1
)[
0
])
distribute_tbnames
.
append
(
random
.
sample
(
vnode_tables
,
1
)[
0
])
...
@@ -143,7 +143,7 @@ class TDTestCase:
...
@@ -143,7 +143,7 @@ class TDTestCase:
tbname_ins
+=
"'%s' ,"
%
tbname
tbname_ins
+=
"'%s' ,"
%
tbname
tbname_filters
=
tbname_ins
[:
-
1
]
tbname_filters
=
tbname_ins
[:
-
1
]
sum_sql
=
f
"select sum(
{
col_name
}
) from stb1 where tbname in (
{
tbname_filters
}
);"
sum_sql
=
f
"select sum(
{
col_name
}
) from stb1 where tbname in (
{
tbname_filters
}
);"
same_sql
=
f
"select
{
col_name
}
from stb1 where tbname in (
{
tbname_filters
}
) and
{
col_name
}
is not null "
same_sql
=
f
"select
{
col_name
}
from stb1 where tbname in (
{
tbname_filters
}
) and
{
col_name
}
is not null "
...
@@ -158,8 +158,8 @@ class TDTestCase:
...
@@ -158,8 +158,8 @@ class TDTestCase:
tdSql
.
checkData
(
0
,
0
,
pre_sum
)
tdSql
.
checkData
(
0
,
0
,
pre_sum
)
def
check_sum_status
(
self
):
def
check_sum_status
(
self
):
# check max function work status
# check max function work status
tdSql
.
query
(
"show tables like 'ct%'"
)
tdSql
.
query
(
"show tables like 'ct%'"
)
table_names
=
tdSql
.
queryResult
table_names
=
tdSql
.
queryResult
tablenames
=
[]
tablenames
=
[]
...
@@ -168,26 +168,26 @@ class TDTestCase:
...
@@ -168,26 +168,26 @@ class TDTestCase:
tdSql
.
query
(
"desc stb1"
)
tdSql
.
query
(
"desc stb1"
)
col_names
=
tdSql
.
queryResult
col_names
=
tdSql
.
queryResult
colnames
=
[]
colnames
=
[]
for
col_name
in
col_names
:
for
col_name
in
col_names
:
if
col_name
[
1
]
in
[
"INT"
,
"BIGINT"
,
"SMALLINT"
,
"TINYINT"
,
"FLOAT"
,
"DOUBLE"
]:
if
col_name
[
1
]
in
[
"INT"
,
"BIGINT"
,
"SMALLINT"
,
"TINYINT"
,
"FLOAT"
,
"DOUBLE"
]:
colnames
.
append
(
col_name
[
0
])
colnames
.
append
(
col_name
[
0
])
for
tablename
in
tablenames
:
for
tablename
in
tablenames
:
for
colname
in
colnames
:
for
colname
in
colnames
:
self
.
check_sum_functions
(
tablename
,
colname
)
self
.
check_sum_functions
(
tablename
,
colname
)
# check max function for different vnode
# check max function for different vnode
for
colname
in
colnames
:
for
colname
in
colnames
:
if
colname
.
startswith
(
"c"
):
if
colname
.
startswith
(
"c"
):
self
.
check_sum_distribute_diff_vnode
(
colname
)
self
.
check_sum_distribute_diff_vnode
(
colname
)
else
:
else
:
# self.check_sum_distribute_diff_vnode(colname) # bug for tag
# self.check_sum_distribute_diff_vnode(colname) # bug for tag
pass
pass
def
distribute_agg_query
(
self
):
def
distribute_agg_query
(
self
):
# basic filter
# basic filter
tdSql
.
query
(
" select sum(c1) from stb1 "
)
tdSql
.
query
(
" select sum(c1) from stb1 "
)
...
@@ -211,7 +211,7 @@ class TDTestCase:
...
@@ -211,7 +211,7 @@ class TDTestCase:
tdSql
.
query
(
"select sum(c1) from stb1 where t1> 4 partition by tbname"
)
tdSql
.
query
(
"select sum(c1) from stb1 where t1> 4 partition by tbname"
)
tdSql
.
checkRows
(
15
)
tdSql
.
checkRows
(
15
)
# union all
# union all
tdSql
.
query
(
"select sum(c1) from stb1 union all select sum(c1) from stb1 "
)
tdSql
.
query
(
"select sum(c1) from stb1 union all select sum(c1) from stb1 "
)
tdSql
.
checkRows
(
2
)
tdSql
.
checkRows
(
2
)
tdSql
.
checkData
(
0
,
0
,
2592
)
tdSql
.
checkData
(
0
,
0
,
2592
)
...
@@ -220,7 +220,7 @@ class TDTestCase:
...
@@ -220,7 +220,7 @@ class TDTestCase:
tdSql
.
checkRows
(
1
)
tdSql
.
checkRows
(
1
)
tdSql
.
checkData
(
0
,
0
,
5184
)
tdSql
.
checkData
(
0
,
0
,
5184
)
# join
# join
tdSql
.
execute
(
" create database if not exists db "
)
tdSql
.
execute
(
" create database if not exists db "
)
tdSql
.
execute
(
" use db "
)
tdSql
.
execute
(
" use db "
)
...
@@ -228,7 +228,7 @@ class TDTestCase:
...
@@ -228,7 +228,7 @@ class TDTestCase:
tdSql
.
execute
(
" create table tb1 using st tags(1) "
)
tdSql
.
execute
(
" create table tb1 using st tags(1) "
)
tdSql
.
execute
(
" create table tb2 using st tags(2) "
)
tdSql
.
execute
(
" create table tb2 using st tags(2) "
)
for
i
in
range
(
10
):
for
i
in
range
(
10
):
ts
=
i
*
10
+
self
.
ts
ts
=
i
*
10
+
self
.
ts
tdSql
.
execute
(
f
" insert into tb1 values(
{
ts
}
,
{
i
}
,
{
i
}
.0)"
)
tdSql
.
execute
(
f
" insert into tb1 values(
{
ts
}
,
{
i
}
,
{
i
}
.0)"
)
...
@@ -239,7 +239,7 @@ class TDTestCase:
...
@@ -239,7 +239,7 @@ class TDTestCase:
tdSql
.
checkData
(
0
,
0
,
45
)
tdSql
.
checkData
(
0
,
0
,
45
)
tdSql
.
checkData
(
0
,
1
,
45.000000000
)
tdSql
.
checkData
(
0
,
1
,
45.000000000
)
# group by
# group by
tdSql
.
execute
(
" use testdb "
)
tdSql
.
execute
(
" use testdb "
)
# partition by tbname or partition by tag
# partition by tbname or partition by tag
...
@@ -269,7 +269,7 @@ class TDTestCase:
...
@@ -269,7 +269,7 @@ class TDTestCase:
self
.
check_sum_status
()
self
.
check_sum_status
()
self
.
distribute_agg_query
()
self
.
distribute_agg_query
()
def
stop
(
self
):
def
stop
(
self
):
tdSql
.
close
()
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录