Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
7db5c29d
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看板
提交
7db5c29d
编写于
4月 06, 2021
作者:
W
wu champion
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-3295]<test> add case for TD-3295
上级
730d7c65
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
202 addition
and
1 deletion
+202
-1
tests/pytest/fulltest.sh
tests/pytest/fulltest.sh
+1
-1
tests/pytest/query/queryJoin10tables.py
tests/pytest/query/queryJoin10tables.py
+201
-0
未找到文件。
tests/pytest/fulltest.sh
浏览文件 @
7db5c29d
...
...
@@ -216,7 +216,7 @@ python3 ./test.py -f query/floatCompare.py
python3 ./test.py
-f
query/query1970YearsAf.py
python3 ./test.py
-f
query/bug3351.py
python3 ./test.py
-f
query/bug3375.py
python3 ./test.py
-f
query/queryJoin10tables.py
#stream
...
...
tests/pytest/query/queryJoin10tables.py
0 → 100644
浏览文件 @
7db5c29d
###################################################################
# Copyright (c) 2016 by TAOS Technologies, Inc.
# All rights reserved.
#
# This file is proprietary and confidential to TAOS Technologies.
# No part of this file may be reproduced, stored, transmitted,
# disclosed or used in any form or by any means other than as
# expressly provided by the written permission from Jianhui Tao
#
###################################################################
# -*- coding: utf-8 -*-
import
taos
import
sys
from
util.log
import
*
from
util.sql
import
*
from
util.cases
import
*
from
util.dnodes
import
*
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
f
"start to excute
{
__file__
}
"
)
tdSql
.
init
(
conn
.
cursor
())
def
createtable
(
self
):
# create stbles
tdSql
.
execute
(
"create table if not exists stb1 (ts timestamp, c1 int) tags(t11 int, t12 int)"
)
tdSql
.
execute
(
"create table if not exists stb2 (ts timestamp, c2 int) tags(t21 int, t22 int)"
)
tdSql
.
execute
(
"create table if not exists stb3 (ts timestamp, c3 int) tags(t31 int, t32 int)"
)
tdSql
.
execute
(
"create table if not exists stb4 (ts timestamp, c4 int) tags(t41 int, t42 int)"
)
tdSql
.
execute
(
"create table if not exists stb5 (ts timestamp, c5 int) tags(t51 int, t52 int)"
)
tdSql
.
execute
(
"create table if not exists stb6 (ts timestamp, c6 int) tags(t61 int, t62 int)"
)
tdSql
.
execute
(
"create table if not exists stb7 (ts timestamp, c7 int) tags(t71 int, t72 int)"
)
tdSql
.
execute
(
"create table if not exists stb8 (ts timestamp, c8 int) tags(t81 int, t82 int)"
)
tdSql
.
execute
(
"create table if not exists stb9 (ts timestamp, c9 int) tags(t91 int, t92 int)"
)
tdSql
.
execute
(
"create table if not exists stb10 (ts timestamp, c10 int) tags(t101 int, t102 int)"
)
tdSql
.
execute
(
"create table if not exists stb11 (ts timestamp, c11 int) tags(t111 int, t112 int)"
)
# create normal tables
tdSql
.
execute
(
"create table t10 using stb1 tags(0, 9)"
)
tdSql
.
execute
(
"create table t11 using stb1 tags(1, 8)"
)
tdSql
.
execute
(
"create table t12 using stb1 tags(2, 7)"
)
tdSql
.
execute
(
"create table t13 using stb1 tags(3, 6)"
)
tdSql
.
execute
(
"create table t14 using stb1 tags(4, 5)"
)
tdSql
.
execute
(
"create table t15 using stb1 tags(5, 4)"
)
tdSql
.
execute
(
"create table t16 using stb1 tags(6, 3)"
)
tdSql
.
execute
(
"create table t17 using stb1 tags(7, 2)"
)
tdSql
.
execute
(
"create table t18 using stb1 tags(8, 1)"
)
tdSql
.
execute
(
"create table t19 using stb1 tags(9, 0)"
)
tdSql
.
execute
(
"create table t110 using stb1 tags(10, 10)"
)
tdSql
.
execute
(
"create table t20 using stb2 tags(0, 9)"
)
tdSql
.
execute
(
"create table t21 using stb2 tags(1, 8)"
)
tdSql
.
execute
(
"create table t22 using stb2 tags(2, 7)"
)
tdSql
.
execute
(
"create table t30 using stb3 tags(0, 9)"
)
tdSql
.
execute
(
"create table t31 using stb3 tags(1, 8)"
)
tdSql
.
execute
(
"create table t32 using stb3 tags(2, 7)"
)
def
inserttable
(
self
):
for
i
in
range
(
100
):
if
i
<
60
:
tdSql
.
execute
(
f
"insert into t20 values('2020-10-01 00:00:
{
i
}
.000',
{
i
}
)"
)
tdSql
.
execute
(
f
"insert into t21 values('2020-10-01 00:00:
{
i
}
.000',
{
i
}
)"
)
tdSql
.
execute
(
f
"insert into t22 values('2020-10-01 00:00:
{
i
}
.000',
{
i
}
)"
)
tdSql
.
execute
(
f
"insert into t30 values('2020-10-01 00:00:
{
i
}
.000',
{
i
}
)"
)
tdSql
.
execute
(
f
"insert into t31 values('2020-10-01 00:00:
{
i
}
.000',
{
i
}
)"
)
tdSql
.
execute
(
f
"insert into t32 values('2020-10-01 00:00:
{
i
}
.000',
{
i
}
)"
)
else
:
tdSql
.
execute
(
f
"insert into t20 values('2020-10-01 00:01:
{
i
-
60
}
.000',
{
i
}
)"
)
tdSql
.
execute
(
f
"insert into t21 values('2020-10-01 00:01:
{
i
-
60
}
.000',
{
i
}
)"
)
tdSql
.
execute
(
f
"insert into t22 values('2020-10-01 00:01:
{
i
-
60
}
.000',
{
i
}
)"
)
tdSql
.
execute
(
f
"insert into t30 values('2020-10-01 00:01:
{
i
-
60
}
.000',
{
i
}
)"
)
tdSql
.
execute
(
f
"insert into t31 values('2020-10-01 00:01:
{
i
-
60
}
.000',
{
i
}
)"
)
tdSql
.
execute
(
f
"insert into t32 values('2020-10-01 00:01:
{
i
-
60
}
.000',
{
i
}
)"
)
for
j
in
range
(
11
):
if
i
<
60
:
tdSql
.
execute
(
f
"insert into t1
{
j
}
values('2020-10-01 00:00:
{
i
}
.000',
{
i
}
)"
)
else
:
tdSql
.
execute
(
f
"insert into t1
{
j
}
values('2020-10-01 00:01:
{
i
-
60
}
.000',
{
i
}
)"
)
def
queryjointable
(
self
):
tdSql
.
error
(
'''select from t10,t11,t12,t13,t14,t15,t16,t17,t18,t19
where t10.ts=t11.ts and t10.ts=t12.ts and t10.ts=t13.ts and t10.ts=t14.ts and t10.ts=t15.ts
and t10.ts=t16.ts and t10.ts=t17.ts and t10.ts=t18.ts and t10.ts=t19.ts'''
)
tdSql
.
error
(
"select * from t10 where t10.ts=t11.ts"
)
tdSql
.
error
(
"select * from where t10.ts=t11.ts"
)
tdSql
.
error
(
"select * from t10,t11,t12,t13,t14,t15,t16,t17,t18,t19"
)
tdSql
.
error
(
"select * from stb1, stb2, stb3 where stb1.ts=stb2.ts and stb1.ts=stb3.ts"
)
tdSql
.
error
(
"select * from stb1, stb2, stb3 where stb1.t11=stb2.t21 and stb1.t11=stb3.t31"
)
tdSql
.
error
(
"select * from stb1, stb2, stb3"
)
tdSql
.
error
(
'''select * from stb1
join stb2 on stb1.ts=stb2.ts and stb1.t11=stb2.t21
join stb3 on stb1.ts=stb3.ts and stb1.t11=stb3.t31'''
)
tdSql
.
error
(
"select * from t10 join t11 on t10.ts=t11.ts join t12 on t11.ts=t12.ts"
)
tdSql
.
query
(
'''select * from stb1,stb2,stb3
where stb1.ts=stb2.ts and stb1.ts=stb3.ts and stb1.t11=stb2.t21 and stb1.t11 =stb3.t31'''
)
tdSql
.
checkRows
(
300
)
tdSql
.
query
(
"select * from t11,t12,t13 where t11.ts=t12.ts and t11.ts=t13.ts"
)
tdSql
.
checkRows
(
100
)
tdSql
.
error
(
"selec * from t11,t12,t13 where t11.ts=t12.ts and t11.ts=t13.ts"
)
tdSql
.
error
(
"select * form t11,t12,t13 where t11.ts=t12.ts and t11.ts=t13.ts"
)
tdSql
.
error
(
"select * from t11,t12,t13 when t11.ts=t12.ts and t11.ts=t13.ts"
)
tdSql
.
error
(
"select * from t11,t12,t13 when t11.ts <> t12.ts and t11.ts=t13.ts"
)
tdSql
.
error
(
"select * from t11,t12,t13 when t11.ts != t12.ts and t11.ts=t13.ts"
)
tdSql
.
error
(
"select * from t11,t12,t13 when t11.ts=t12.ts or t11.ts=t13.ts"
)
tdSql
.
error
(
"select * from t11,t12,t13 when t11.ts=t12.ts=t13.ts"
)
tdSql
.
error
(
"select * from t11,t12,t13 when t11.c1=t12.c2 and t11.c1=t13.c3"
)
tdSql
.
error
(
"select * from t11,t12,t13 when t11.ts=t12.ts and t11.ts=t13.c3 and t11.c1=t13.ts"
)
tdSql
.
error
(
"select ts from t11,t12,t13 when t11.ts=t12.ts and t11.ts=t13.ts"
)
tdSql
.
error
(
"select * from t11,t12,t13 when t11.ts=ts and t11.ts=t13.ts"
)
tdSql
.
error
(
"select * from t11,t12,t13 when t11.ts=t12.ts and t11.ts=t13.ts and ts>100"
)
tdSql
.
error
(
"select * from t11,t12,stb1 when t11.ts=t12.ts and t11.ts=stb1.ts"
)
tdSql
.
error
(
"select t14.ts from t11,t12,t13 when t11.ts=t12.ts and t11.ts=t13.ts"
)
tdSql
.
error
(
"select * from t11,t12,t13 when t11.ts=t12.ts and t11.ts=t13.ts1"
)
tdSql
.
error
(
"select * from t11,t12,t13 when t11.ts=t12.ts and t11.ts=t14.ts"
)
tdSql
.
error
(
"select * from t11,t12,t13 when t11.ts=t12.ts"
)
tdSql
.
error
(
"select * from t11,t12,t13 when t11.ts=t12.ts and t11.ts=t13.ts and t11.c1=t13.c3"
)
tdSql
.
error
(
'''select * from t10,t11,t12,t13,t14,t15,t16,t17,t18,t19,t20
where t10.ts=t11.ts and t10.ts=t12.ts and t10.ts=t13.ts and t10.ts=t14.ts and t10.ts=t15.ts
and t10.ts=t16.ts and t10.ts=t17.ts and t10.ts=t18.ts and t10.ts=t19.ts and t10.ts=t20.ts'''
)
tdSql
.
error
(
'''select * from t10,t11,t12,t13,t14,t15,t16,t17,t18,t19,t20
where t10.ts=t11.ts and t10.ts=t12.ts and t10.ts=t13.ts and t10.ts=t14.ts and t10.ts=t15.ts
and t10.ts=t16.ts and t10.ts=t17.ts and t10.ts=t18.ts and t10.ts=t19.ts'''
)
tdSql
.
error
(
'''select * from t10,t11,t12,t13,t14,t15,t16,t17,t18,t19
where t10.ts=t11.ts and t10.ts=t12.ts and t10.ts=t13.ts and t10.ts=t14.ts and t10.ts=t15.ts
and t10.ts=t16.ts and t10.ts=t17.ts and t10.ts=t18.ts and t10.ts=t19.ts and t10.c1=t19.c1'''
)
tdSql
.
error
(
'''select * from stb1,stb2,stb3
where stb1.ts=stb2.ts and stb1.ts=stb3.ts and stb1.t11=stb2.t21'''
)
tdSql
.
error
(
'''select * from stb1,stb2,stb3
where stb1.ts=stb2.ts and stb1.t11=stb2.t21 and stb1.t11=stb3.t31'''
)
tdSql
.
error
(
'''select * from stb1,stb2,stb3
where stb1.ts=stb2.ts and stb1.ts=stb3.ts and stb1.t11=stb2.t21 and stb1.t11=stb3.t31
and stb1.t12=stb3=t32'''
)
tdSql
.
error
(
'''select * from stb1,stb2,stb3,stb4,stb5,stb6,stb7,stb8,stb9,stb10,stb11
where stb1.ts=stb2.ts and stb1.ts=stb3.ts and stb1.ts=stb4.ts and stb1.ts=stb5.ts and stb1.ts=stb6.ts
and stb1.ts=stb7.ts and stb1.ts=stb8.ts and stb1.ts=stb9.ts and stb1.ts=stb10.ts and stb1.ts=stb11.ts
and stb1.t11=stb2.t21 and stb1.t11=stb3.t31 and stb1.t11=stb4.t41 and stb1.t11=stb5.t51
and stb1.t11=stb6.t61 and stb1.t11=stb7.t71 and stb1.t11=stb8.t81 and stb1.t11=stb9.t91
and stb1.t11=stb10.t101 and stb1.t11=stb11.t111'''
)
tdSql
.
error
(
'''select * from stb1,stb2,stb3,stb4,stb5,stb6,stb7,stb8,stb9,stb10
where stb1.ts=stb2.ts and stb1.ts=stb3.ts and stb1.ts=stb4.ts and stb1.ts=stb5.ts and stb1.ts=stb6.ts
and stb1.ts=stb7.ts and stb1.ts=stb8.ts and stb1.ts=stb9.ts and stb1.ts=stb10.ts and stb1.t11=stb2.t21
and stb1.t11=stb3.t31 and stb1.t11=stb4.t41 and stb1.t11=stb5.t51 and stb1.t11=stb6.t61
and stb1.t11=stb7.t71 and stb1.t11=stb8.t81 and stb1.t11=stb9.t91 and stb1.t11=stb10.t101
and stb1.t12=stb11.t102'''
)
def
run
(
self
):
tdSql
.
prepare
()
tdLog
.
printNoPrefix
(
"==========step1:create table"
)
self
.
createtable
()
tdLog
.
printNoPrefix
(
"==========step2:insert data"
)
self
.
inserttable
()
tdLog
.
printNoPrefix
(
"==========step3:query timestamp type"
)
self
.
queryjointable
()
# after wal and sync, check again
tdSql
.
query
(
"show dnodes"
)
index
=
tdSql
.
getData
(
0
,
0
)
tdDnodes
.
stop
(
index
)
tdDnodes
.
start
(
index
)
tdLog
.
printNoPrefix
(
"==========step4:query again after wal"
)
self
.
queryjointable
()
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
f
"
{
__file__
}
successfully executed"
)
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录