TDengine/tests/pytest/query/queryJoin10tables.py

201 lines
11 KiB
Python
Raw Normal View History

Hotfix/sangshuduo/td 3636 for master (#5735) * [TD-3652]<test> add case for TD-3652 to resolve TD-3590 * Update fulltest.sh * [TD-3295]<test> add case for TD-3295 * TD-3675 * Hotfix/sangshuduo/td 3607 for master (#5712) * test * [TD-3677]<test>: test pr message 1 * [TD-3671]<test>change target branch * [TD-3677]<test>: test pr message 2 * [TD-3677]<test>: test pr message 3 * Hotfix/sangshuduo/td 3197 fix taosdemo coverity scan (#5688) * [TD-3197] <fix>: fix taosdemo coverity scan issues. * [TD-3197] <fix>: fix taosdemo coverity scan issue. fix subscribeTest pids uninitialized. * [TD-3197] <fix>: fix taosdemo coverity scan issues. * [TD-3197] <fix>: fix coverity scan issues. check super tbl info pointer. * [TD-3197] <fix>: fix coverity scan issues. move sub tbl query thread join into loop * [TD-3197] <fix>: fix coverity scan issues. remove unused variable * [TD-3197] <fix>: fix coverity scan issues. use more secure random library * [TD-3197] <fix>: fix coverity scan issues. use strncpy for more safe * [TD-3197] <fix>: fix taosdemo coverity scan issue. replace arc4random with rand(). * [TD-3197] <fix>: fix coverity scan issues. check stb info pointer for start time * [TD-3197] <fix>: fix coverity scan issues. fix strcpy vulnerability * [TD-3197] <fix>: fix taosdemo coverity scan issue. modify taosdemoTest2. try to check database continously. * [TD-3197] <fix>: taosdemo coverity scan issues. * [TD-3197] <fix>: fix memory leak when parsing arguments. * [TD-3197] <fix>: fix cmake strip arguments. * [TD-3197] <fix>: taosdemo coverity scan. fix cmake string manipulation. Co-authored-by: Shuduo Sang <sdsang@taosdata.com> * remove useless file * fix changing target branch * fix * fix * [TD-3607]<fix>: fix taosdemo limit and offset. if offset+limit > count. * [TD-3607]<fix>: taosdemo limit and offset. if child tbl not exist, dont take limit and offset value. Co-authored-by: huili <52318143+plum-lihui@users.noreply.github.com> Co-authored-by: liuyq-617 <yqliu@taosdata.com> Co-authored-by: plum-lihui <huili@taosdata.com> Co-authored-by: Elias Soong <elias.soong@gmail.com> Co-authored-by: Shuduo Sang <sdsang@taosdata.com> * fix mem leak issue * fix crash issue * [TD-3683]<fix>: reduce buffer size for more stable table creation. (#5720) Co-authored-by: Shuduo Sang <sdsang@taosdata.com> * Hotfix/sangshuduo/td 3607 taosdemo buffer overflow (#5723) * [TD-3607] <fix>: fix taosdemo buffer overflow. * [TD-3607] <fix>: taosdemo buffer overflow. add tmp buffer. * [TD-3607] <fix>: taosdemo buffer overflow. fix data generation. * [TD-3607] <fix>: taosdemo buffer overflow. fix normal table writting. * [TD-3607] <fix>: taosdemo buffer overflow. remove tail spaces. * [TD-3607] <fix>: taosdemo buffer overflow. fix taosdemo alter table test case. * [TD-3607] <fix>: taosdemo buffer overflow. fix taosdemo alter table case. * [TD-3607] <fix>: taosdemo buffer overflow. adjust limit offset count warning. * [TD-3607] <fix>: taosdemo buffer overflow. add more logic for child tables exist. * [TD-3607] <fix>: taosdemo buffer overflow. create database if database be dropped only. * [TD-3607] <fix>: fix taosdemo buffer overflow. adjust limit and offset test cases. * [TD-3607] <fix>: taosdemo buffer overflow. adjust sample data test case. * test * [TD-3677]<test>: test pr message 1 * [TD-3671]<test>change target branch * [TD-3677]<test>: test pr message 2 * [TD-3677]<test>: test pr message 3 * Hotfix/sangshuduo/td 3197 fix taosdemo coverity scan (#5688) * [TD-3197] <fix>: fix taosdemo coverity scan issues. * [TD-3197] <fix>: fix taosdemo coverity scan issue. fix subscribeTest pids uninitialized. * [TD-3197] <fix>: fix taosdemo coverity scan issues. * [TD-3197] <fix>: fix coverity scan issues. check super tbl info pointer. * [TD-3197] <fix>: fix coverity scan issues. move sub tbl query thread join into loop * [TD-3197] <fix>: fix coverity scan issues. remove unused variable * [TD-3197] <fix>: fix coverity scan issues. use more secure random library * [TD-3197] <fix>: fix coverity scan issues. use strncpy for more safe * [TD-3197] <fix>: fix taosdemo coverity scan issue. replace arc4random with rand(). * [TD-3197] <fix>: fix coverity scan issues. check stb info pointer for start time * [TD-3197] <fix>: fix coverity scan issues. fix strcpy vulnerability * [TD-3197] <fix>: fix taosdemo coverity scan issue. modify taosdemoTest2. try to check database continously. * [TD-3197] <fix>: taosdemo coverity scan issues. * [TD-3197] <fix>: fix memory leak when parsing arguments. * [TD-3197] <fix>: fix cmake strip arguments. * [TD-3197] <fix>: taosdemo coverity scan. fix cmake string manipulation. Co-authored-by: Shuduo Sang <sdsang@taosdata.com> * remove useless file * fix changing target branch * fix * fix * [TD-3607]<fix>: taosdemo limit and offset. if limit+offset > count * Hotfix/sangshuduo/td 3607 taosdemo buffer overflow (#5706) * [TD-3607] <fix>: fix taosdemo buffer overflow. * [TD-3607] <fix>: taosdemo buffer overflow. add tmp buffer. * [TD-3607] <fix>: taosdemo buffer overflow. fix data generation. * [TD-3607] <fix>: taosdemo buffer overflow. fix normal table writting. * [TD-3607] <fix>: taosdemo buffer overflow. remove tail spaces. * [TD-3607] <fix>: taosdemo buffer overflow. fix taosdemo alter table test case. * [TD-3607] <fix>: taosdemo buffer overflow. fix taosdemo alter table case. * [TD-3607] <fix>: taosdemo buffer overflow. adjust limit offset count warning. * [TD-3607] <fix>: taosdemo buffer overflow. add more logic for child tables exist. * [TD-3607] <fix>: taosdemo buffer overflow. create database if database be dropped only. * [TD-3607] <fix>: fix taosdemo buffer overflow. adjust limit and offset test cases. * [TD-3607] <fix>: taosdemo buffer overflow. adjust sample data test case. * [TD-3607]<fix>: taosdemo limit and offset. if limit+offset > count Co-authored-by: Shuduo Sang <sdsang@taosdata.com> * [TD-3607]<fix>: taosdemo limit and offset. if child tbl not exist, dont take limit and offset value. * Hotfix/sangshuduo/td 3607 taosdemo buffer overflow (#5713) * [TD-3607] <fix>: fix taosdemo buffer overflow. * [TD-3607] <fix>: taosdemo buffer overflow. add tmp buffer. * [TD-3607] <fix>: taosdemo buffer overflow. fix data generation. * [TD-3607] <fix>: taosdemo buffer overflow. fix normal table writting. * [TD-3607] <fix>: taosdemo buffer overflow. remove tail spaces. * [TD-3607] <fix>: taosdemo buffer overflow. fix taosdemo alter table test case. * [TD-3607] <fix>: taosdemo buffer overflow. fix taosdemo alter table case. * [TD-3607] <fix>: taosdemo buffer overflow. adjust limit offset count warning. * [TD-3607] <fix>: taosdemo buffer overflow. add more logic for child tables exist. * [TD-3607] <fix>: taosdemo buffer overflow. create database if database be dropped only. * [TD-3607] <fix>: fix taosdemo buffer overflow. adjust limit and offset test cases. * [TD-3607] <fix>: taosdemo buffer overflow. adjust sample data test case. * [TD-3607]<fix>: taosdemo limit and offset. if limit+offset > count * [TD-3607]<fix>: taosdemo limit and offset. if child tbl not exist, dont take limit and offset value. Co-authored-by: Shuduo Sang <sdsang@taosdata.com> * fix taosdemo limit invalid warning condition. * [TD-3683]<fix>: reduce buffer size for more stable table creation. (#5719) Co-authored-by: Shuduo Sang <sdsang@taosdata.com> Co-authored-by: Shuduo Sang <sdsang@taosdata.com> Co-authored-by: huili <52318143+plum-lihui@users.noreply.github.com> Co-authored-by: liuyq-617 <yqliu@taosdata.com> Co-authored-by: plum-lihui <huili@taosdata.com> Co-authored-by: Elias Soong <elias.soong@gmail.com> Co-authored-by: Shengliang Guan <slguan@taosdata.com> * TD-3707 * Feature/sangshuduo/td 3408 taosdemo async query (#5731) * test * [TD-3677]<test>: test pr message 1 * [TD-3671]<test>change target branch * [TD-3677]<test>: test pr message 2 * [TD-3677]<test>: test pr message 3 * Hotfix/sangshuduo/td 3197 fix taosdemo coverity scan (#5688) * [TD-3197] <fix>: fix taosdemo coverity scan issues. * [TD-3197] <fix>: fix taosdemo coverity scan issue. fix subscribeTest pids uninitialized. * [TD-3197] <fix>: fix taosdemo coverity scan issues. * [TD-3197] <fix>: fix coverity scan issues. check super tbl info pointer. * [TD-3197] <fix>: fix coverity scan issues. move sub tbl query thread join into loop * [TD-3197] <fix>: fix coverity scan issues. remove unused variable * [TD-3197] <fix>: fix coverity scan issues. use more secure random library * [TD-3197] <fix>: fix coverity scan issues. use strncpy for more safe * [TD-3197] <fix>: fix taosdemo coverity scan issue. replace arc4random with rand(). * [TD-3197] <fix>: fix coverity scan issues. check stb info pointer for start time * [TD-3197] <fix>: fix coverity scan issues. fix strcpy vulnerability * [TD-3197] <fix>: fix taosdemo coverity scan issue. modify taosdemoTest2. try to check database continously. * [TD-3197] <fix>: taosdemo coverity scan issues. * [TD-3197] <fix>: fix memory leak when parsing arguments. * [TD-3197] <fix>: fix cmake strip arguments. * [TD-3197] <fix>: taosdemo coverity scan. fix cmake string manipulation. Co-authored-by: Shuduo Sang <sdsang@taosdata.com> * remove useless file * fix changing target branch * fix * fix * Hotfix/sangshuduo/td 3607 taosdemo buffer overflow (#5706) * [TD-3607] <fix>: fix taosdemo buffer overflow. * [TD-3607] <fix>: taosdemo buffer overflow. add tmp buffer. * [TD-3607] <fix>: taosdemo buffer overflow. fix data generation. * [TD-3607] <fix>: taosdemo buffer overflow. fix normal table writting. * [TD-3607] <fix>: taosdemo buffer overflow. remove tail spaces. * [TD-3607] <fix>: taosdemo buffer overflow. fix taosdemo alter table test case. * [TD-3607] <fix>: taosdemo buffer overflow. fix taosdemo alter table case. * [TD-3607] <fix>: taosdemo buffer overflow. adjust limit offset count warning. * [TD-3607] <fix>: taosdemo buffer overflow. add more logic for child tables exist. * [TD-3607] <fix>: taosdemo buffer overflow. create database if database be dropped only. * [TD-3607] <fix>: fix taosdemo buffer overflow. adjust limit and offset test cases. * [TD-3607] <fix>: taosdemo buffer overflow. adjust sample data test case. * [TD-3607]<fix>: taosdemo limit and offset. if limit+offset > count Co-authored-by: Shuduo Sang <sdsang@taosdata.com> * Hotfix/sangshuduo/td 3607 taosdemo buffer overflow (#5713) * [TD-3607] <fix>: fix taosdemo buffer overflow. * [TD-3607] <fix>: taosdemo buffer overflow. add tmp buffer. * [TD-3607] <fix>: taosdemo buffer overflow. fix data generation. * [TD-3607] <fix>: taosdemo buffer overflow. fix normal table writting. * [TD-3607] <fix>: taosdemo buffer overflow. remove tail spaces. * [TD-3607] <fix>: taosdemo buffer overflow. fix taosdemo alter table test case. * [TD-3607] <fix>: taosdemo buffer overflow. fix taosdemo alter table case. * [TD-3607] <fix>: taosdemo buffer overflow. adjust limit offset count warning. * [TD-3607] <fix>: taosdemo buffer overflow. add more logic for child tables exist. * [TD-3607] <fix>: taosdemo buffer overflow. create database if database be dropped only. * [TD-3607] <fix>: fix taosdemo buffer overflow. adjust limit and offset test cases. * [TD-3607] <fix>: taosdemo buffer overflow. adjust sample data test case. * [TD-3607]<fix>: taosdemo limit and offset. if limit+offset > count * [TD-3607]<fix>: taosdemo limit and offset. if child tbl not exist, dont take limit and offset value. Co-authored-by: Shuduo Sang <sdsang@taosdata.com> * [TD-3683]<fix>: reduce buffer size for more stable table creation. (#5719) Co-authored-by: Shuduo Sang <sdsang@taosdata.com> * [TD-3408]<feature>: taosdemo support async query. * [TD-3408]<feature>: taosdemo support async query. refactor * [TD-3408]<feature>: taosdemo support async query. refactor 2 * [TD-3408]<feature>: taosdemo support async query. refactor 3 * [TD-3408]<feature>: taosdemo support async query. refactor 4 * [TD-3408]<feature>: taosdemo support specified sql more than one line. Co-authored-by: huili <52318143+plum-lihui@users.noreply.github.com> Co-authored-by: liuyq-617 <yqliu@taosdata.com> Co-authored-by: plum-lihui <huili@taosdata.com> Co-authored-by: Elias Soong <elias.soong@gmail.com> Co-authored-by: Shuduo Sang <sdsang@taosdata.com> Co-authored-by: Shengliang Guan <slguan@taosdata.com> * [TD-3636]<fix>: fix taosdemo outorder range algorithm. patch for master. Co-authored-by: wu champion <wuchampion@foxmail.com> Co-authored-by: wu champion <wu_champion@foxmail.com> Co-authored-by: dapan1121 <89396746@qq.com> Co-authored-by: wu champion <cpwu@taosdata.com> Co-authored-by: huili <52318143+plum-lihui@users.noreply.github.com> Co-authored-by: liuyq-617 <yqliu@taosdata.com> Co-authored-by: plum-lihui <huili@taosdata.com> Co-authored-by: Elias Soong <elias.soong@gmail.com> Co-authored-by: Shuduo Sang <sdsang@taosdata.com> Co-authored-by: Shengliang Guan <slguan@taosdata.com> Co-authored-by: haojun Liao <hjxilinx@users.noreply.github.com>
2021-04-09 01:03:24 +00:00
###################################################################
# 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())