TDengine/tests/system-test/2-query/stateduration.py

344 lines
21 KiB
Python
Raw Normal View History

2022-05-31 06:51:58 +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 -*-
from util.log import *
from util.cases import *
from util.sql import *
2022-08-10 09:08:27 +00:00
2022-05-31 06:51:58 +00:00
class TDTestCase:
def init(self, conn, logSql, replicaVar=1):
self.replicaVar = int(replicaVar)
2022-05-31 06:51:58 +00:00
tdLog.debug("start to execute %s" % __file__)
tdSql.init(conn.cursor())
self.ts = 1537146000000
2022-08-10 09:08:27 +00:00
self.param_list = ['LT', 'lt', 'Lt', 'lT', 'GT', 'gt', 'Gt', 'gT', 'LE', 'le', 'Le',
'lE', 'GE', 'ge', 'Ge', 'gE', 'NE', 'ne', 'Ne', 'nE', 'EQ', 'eq', 'Eq', 'eQ']
2022-05-31 06:51:58 +00:00
self.row_num = 10
2022-08-10 09:08:27 +00:00
self.dbname = 'db'
self.ntbname = f'{self.dbname}.ntb'
self.stbname = f'{self.dbname}.stb'
def duration_check(self):
tdSql.execute(f'create database {self.dbname}')
2022-05-31 06:51:58 +00:00
# timestamp = 1ms , time_unit = 1s
2022-08-10 09:08:27 +00:00
tdSql.execute(f'''create table {self.ntbname}(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 float, col6 double,
2022-05-31 06:51:58 +00:00
col7 bool, col8 binary(20), col9 nchar(20), col11 tinyint unsigned, col12 smallint unsigned, col13 int unsigned, col14 bigint unsigned)''')
for i in range(self.row_num):
2022-08-10 09:08:27 +00:00
tdSql.execute(f"insert into {self.ntbname} values({self.ts + i}, {i + 1}, {i + 1}, {i + 1}, {i + 1}, {i + 0.1}, {i + 0.1}, {i % 2}, 'taosdata{i + 1}', '涛思数据{i + 1}', {i + 1}, {i + 1}, {i + 1}, {i + 1})"
)
integer_list = [1, 2, 3, 4, 11, 12, 13, 14]
float_list = [5, 6]
2022-05-31 06:51:58 +00:00
for i in integer_list:
for j in self.param_list:
2022-08-10 09:08:27 +00:00
tdSql.query(
f"select stateduration(col{i},'{j}',5) from {self.ntbname}")
2022-05-31 06:51:58 +00:00
tdSql.checkRows(10)
2022-08-10 09:08:27 +00:00
if j in ['LT', 'lt', 'Lt', 'lT']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GT', 'gt', 'Gt', 'gT']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (0,), (1,), (2,), (3,), (4,)])
elif j in ['LE', 'le', 'Le', 'lE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (4,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GE', 'ge', 'Ge', 'gE']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (0,), (1,), (2,), (3,), (4,), (5,)])
elif j in ['NE', 'ne', 'Ne', 'nE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (-1,), (0,), (1,), (2,), (3,), (4,)])
elif j in ['EQ', 'eq', 'Eq', 'eQ']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (0,), (-1,), (-1,), (-1,), (-1,), (-1,)])
2022-05-31 06:51:58 +00:00
for i in float_list:
for j in self.param_list:
2022-08-10 09:08:27 +00:00
tdSql.query(
f"select stateduration(col{i},'{j}',5) from {self.ntbname}")
2022-05-31 06:51:58 +00:00
tdSql.checkRows(10)
2022-08-10 09:08:27 +00:00
if j in ['LT', 'lt', 'Lt', 'lT', 'LE', 'le', 'Le', 'lE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (4,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GE', 'ge', 'Ge', 'gE', 'GT', 'gt', 'Gt', 'gT']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (0,), (1,), (2,), (3,), (4,)])
elif j in ['NE', 'ne', 'Ne', 'nE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)])
elif j in ['EQ', 'eq', 'Eq', 'eQ']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,)])
2022-05-31 06:51:58 +00:00
2022-08-10 09:08:27 +00:00
error_column_list = ['ts', 'col7', 'col8', 'col9', 'a', 1]
2022-05-31 06:51:58 +00:00
for i in error_column_list:
for j in self.param_list:
2022-08-10 09:08:27 +00:00
tdSql.error(
f"select stateduration({i},{j},5) from {self.ntbname}")
2022-06-30 03:33:06 +00:00
2022-08-10 09:08:27 +00:00
error_param_list = ['a', 1]
2022-05-31 06:51:58 +00:00
for i in error_param_list:
2022-08-10 09:08:27 +00:00
tdSql.error(
f"select stateduration(col1,{i},5) from {self.ntbname}")
tdSql.execute(f'drop table {self.ntbname}')
2022-05-31 06:51:58 +00:00
# timestamp = 1s, time_unit =1s
2022-08-10 09:08:27 +00:00
tdSql.execute(f'''create table {self.ntbname}(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 float, col6 double,
2022-05-31 06:51:58 +00:00
col7 bool, col8 binary(20), col9 nchar(20), col11 tinyint unsigned, col12 smallint unsigned, col13 int unsigned, col14 bigint unsigned)''')
for i in range(self.row_num):
2022-08-10 09:08:27 +00:00
tdSql.execute(f"insert into {self.ntbname} values({self.ts + i*1000}, {i + 1}, {i + 1}, {i + 1}, {i + 1}, {i + 0.1}, {i + 0.1}, {i % 2}, 'taosdata{i + 1}', '涛思数据{i + 1}', {i + 1}, {i + 1}, {i + 1}, {i + 1})"
)
2022-06-30 03:33:06 +00:00
2022-05-31 06:51:58 +00:00
for i in integer_list:
for j in self.param_list:
2022-08-10 09:08:27 +00:00
tdSql.query(f"select stateduration(col{i},'{j}',5) from {self.ntbname}")
2022-05-31 06:51:58 +00:00
tdSql.checkRows(10)
2022-08-10 09:08:27 +00:00
if j in ['LT', 'lt', 'Lt', 'lT']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1000,), (2000,), (3000,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GT', 'gt', 'Gt', 'gT']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (0,), (1000,), (2000,), (3000,), (4000,)])
elif j in ['LE', 'le', 'Le', 'lE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1000,), (2000,), (3000,), (4000,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GE', 'ge', 'Ge', 'gE']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (0,), (1000,), (2000,), (3000,), (4000,), (5000,)])
elif j in ['NE', 'ne', 'Ne', 'nE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1000,), (2000,), (3000,), (-1,), (0,), (1000,), (2000,), (3000,), (4000,)])
elif j in ['EQ', 'eq', 'Eq', 'eQ']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (0,), (-1,), (-1,), (-1,), (-1,), (-1,)])
2022-05-31 06:51:58 +00:00
for i in float_list:
for j in self.param_list:
2022-08-10 09:08:27 +00:00
tdSql.query(f"select stateduration(col{i},'{j}',5) from {self.ntbname}")
2022-05-31 06:51:58 +00:00
tdSql.checkRows(10)
print(tdSql.queryResult)
2022-08-10 09:08:27 +00:00
if j in ['LT', 'lt', 'Lt', 'lT', 'LE', 'le', 'Le', 'lE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1000,), (2000,), (3000,), (4000,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GE', 'ge', 'Ge', 'gE', 'GT', 'gt', 'Gt', 'gT']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (0,), (1000,), (2000,), (3000,), (4000,)])
elif j in ['NE', 'ne', 'Ne', 'nE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1000,), (2000,), (3000,), (4000,), (5000,), (6000,), (7000,), (8000,), (9000,)])
elif j in ['EQ', 'eq', 'Eq', 'eQ']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,)])
tdSql.execute(f'drop table {self.ntbname}')
2022-05-31 06:51:58 +00:00
# timestamp = 1m, time_unit =1m
2022-08-10 09:08:27 +00:00
tdSql.execute(f'''create table {self.ntbname}(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 float, col6 double,
2022-05-31 06:51:58 +00:00
col7 bool, col8 binary(20), col9 nchar(20), col11 tinyint unsigned, col12 smallint unsigned, col13 int unsigned, col14 bigint unsigned)''')
for i in range(self.row_num):
2022-08-10 09:08:27 +00:00
tdSql.execute(f"insert into {self.ntbname} values({self.ts + i*1000*60}, {i + 1}, {i + 1}, {i + 1}, {i + 1}, {i + 0.1},{i + 0.1}, {i % 2}, 'taosdata{i + 1}', '涛思数据{i + 1}',{i + 1}, {i + 1}, {i + 1}, {i + 1})"
)
2022-06-30 03:33:06 +00:00
2022-05-31 06:51:58 +00:00
for i in integer_list:
for j in self.param_list:
2022-08-10 09:08:27 +00:00
tdSql.query(
f"select stateduration(col{i},'{j}',5,1m) from {self.ntbname}")
2022-05-31 06:51:58 +00:00
tdSql.checkRows(10)
2022-08-10 09:08:27 +00:00
if j in ['LT', 'lt', 'Lt', 'lT']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GT', 'gt', 'Gt', 'gT']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (0,), (1,), (2,), (3,), (4,)])
elif j in ['LE', 'le', 'Le', 'lE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (4,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GE', 'ge', 'Ge', 'gE']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (0,), (1,), (2,), (3,), (4,), (5,)])
elif j in ['NE', 'ne', 'Ne', 'nE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (-1,), (0,), (1,), (2,), (3,), (4,)])
elif j in ['EQ', 'eq', 'Eq', 'eQ']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (0,), (-1,), (-1,), (-1,), (-1,), (-1,)])
2022-05-31 06:51:58 +00:00
for i in float_list:
for j in self.param_list:
2022-08-10 09:08:27 +00:00
tdSql.query(
f"select stateduration(col{i},'{j}',5,1m) from {self.ntbname}")
2022-05-31 06:51:58 +00:00
tdSql.checkRows(10)
print(tdSql.queryResult)
2022-08-10 09:08:27 +00:00
if j in ['LT', 'lt', 'Lt', 'lT', 'LE', 'le', 'Le', 'lE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (4,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GE', 'ge', 'Ge', 'gE', 'GT', 'gt', 'Gt', 'gT']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (0,), (1,), (2,), (3,), (4,)])
elif j in ['NE', 'ne', 'Ne', 'nE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)])
elif j in ['EQ', 'eq', 'Eq', 'eQ']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,)])
tdSql.execute(f'drop table {self.ntbname}')
2022-05-31 06:51:58 +00:00
# timestamp = 1h, time_unit =1h
2022-08-10 09:08:27 +00:00
tdSql.execute(f'''create table {self.ntbname}(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 float, col6 double,
2022-05-31 06:51:58 +00:00
col7 bool, col8 binary(20), col9 nchar(20), col11 tinyint unsigned, col12 smallint unsigned, col13 int unsigned, col14 bigint unsigned)''')
for i in range(self.row_num):
2022-08-10 09:08:27 +00:00
tdSql.execute(f"insert into {self.ntbname} values({self.ts + i*1000*60*60}, {i + 1}, {i + 1}, {i + 1}, {i + 1},{i + 0.1}, {i + 0.1}, {i % 2}, 'taosdata{i + 1}', '涛思数据{i + 1}', {i + 1}, {i + 1}, {i + 1}, {i + 1})"
)
2022-06-30 03:33:06 +00:00
2022-05-31 06:51:58 +00:00
for i in integer_list:
for j in self.param_list:
2022-08-10 09:08:27 +00:00
tdSql.query(
f"select stateduration(col{i},'{j}',5,1h) from {self.ntbname}")
2022-05-31 06:51:58 +00:00
tdSql.checkRows(10)
2022-08-10 09:08:27 +00:00
if j in ['LT', 'lt', 'Lt', 'lT']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GT', 'gt', 'Gt', 'gT']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (0,), (1,), (2,), (3,), (4,)])
elif j in ['LE', 'le', 'Le', 'lE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (4,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GE', 'ge', 'Ge', 'gE']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (0,), (1,), (2,), (3,), (4,), (5,)])
elif j in ['NE', 'ne', 'Ne', 'nE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (-1,), (0,), (1,), (2,), (3,), (4,)])
elif j in ['EQ', 'eq', 'Eq', 'eQ']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (0,), (-1,), (-1,), (-1,), (-1,), (-1,)])
2022-05-31 06:51:58 +00:00
for i in float_list:
for j in self.param_list:
2022-08-10 09:08:27 +00:00
tdSql.query(
f"select stateduration(col{i},'{j}',5,1h) from {self.ntbname}")
2022-05-31 06:51:58 +00:00
tdSql.checkRows(10)
print(tdSql.queryResult)
2022-08-10 09:08:27 +00:00
if j in ['LT', 'lt', 'Lt', 'lT', 'LE', 'le', 'Le', 'lE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (4,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GE', 'ge', 'Ge', 'gE', 'GT', 'gt', 'Gt', 'gT']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (0,), (1,), (2,), (3,), (4,)])
elif j in ['NE', 'ne', 'Ne', 'nE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)])
elif j in ['EQ', 'eq', 'Eq', 'eQ']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,)])
2022-05-31 06:51:58 +00:00
# timestamp = 1h,time_unit =1m
for i in integer_list:
for j in self.param_list:
2022-08-10 09:08:27 +00:00
tdSql.query(
f"select stateduration(col{i},'{j}',5,1m) from {self.ntbname}")
2022-05-31 06:51:58 +00:00
tdSql.checkRows(10)
2022-08-10 09:08:27 +00:00
if j in ['LT', 'lt', 'Lt', 'lT']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (60,), (120,), (180,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GT', 'gt', 'Gt', 'gT']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (0,), (60,), (120,), (180,), (240,)])
elif j in ['LE', 'le', 'Le', 'lE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (60,), (120,), (180,), (240,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GE', 'ge', 'Ge', 'gE']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (0,), (60,), (120,), (180,), (240,), (300,)])
elif j in ['NE', 'ne', 'Ne', 'nE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (60,), (120,), (180,), (-1,), (0,), (60,), (120,), (180,), (240,)])
elif j in ['EQ', 'eq', 'Eq', 'eQ']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (0,), (-1,), (-1,), (-1,), (-1,), (-1,)])
2022-05-31 06:51:58 +00:00
for i in float_list:
for j in self.param_list:
2022-08-10 09:08:27 +00:00
tdSql.query(
f"select stateduration(col{i},'{j}',5,1m) from {self.ntbname}")
2022-05-31 06:51:58 +00:00
tdSql.checkRows(10)
print(tdSql.queryResult)
2022-08-10 09:08:27 +00:00
if j in ['LT', 'lt', 'Lt', 'lT', 'LE', 'le', 'Le', 'lE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (60,), (120,), (180,), (240,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GE', 'ge', 'Ge', 'gE', 'GT', 'gt', 'Gt', 'gT']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (0,), (60,), (120,), (180,), (240,)])
elif j in ['NE', 'ne', 'Ne', 'nE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (60,), (120,), (180,), (240,), (300,), (360,), (420,), (480,), (540,)])
elif j in ['EQ', 'eq', 'Eq', 'eQ']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,)])
2022-05-31 06:51:58 +00:00
# for stb
2022-08-10 09:08:27 +00:00
tdSql.execute(f'''create table {self.stbname}(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 float, col6 double,
2022-05-31 06:51:58 +00:00
col7 bool, col8 binary(20), col9 nchar(20), col11 tinyint unsigned, col12 smallint unsigned, col13 int unsigned, col14 bigint unsigned) tags(t0 int)''')
2022-08-10 09:08:27 +00:00
tdSql.execute(f'create table {self.stbname}_1 using {self.stbname} tags(1)')
2022-05-31 06:51:58 +00:00
for i in range(self.row_num):
2022-08-10 09:08:27 +00:00
tdSql.execute(f"insert into {self.stbname}_1 values({self.ts + i*1000*60*60}, {i + 1}, {i + 1},{ i + 1}, {i + 1}, {i + 0.1}, {i + 0.1}, {i % 2},'taosdata{i + 1}', '涛思数据{i + 1}', {i + 1}, {i + 1}, {i + 1}, {i + 1})"
)
2022-06-30 03:33:06 +00:00
2022-05-31 06:51:58 +00:00
for i in integer_list:
for j in self.param_list:
2022-08-10 09:08:27 +00:00
tdSql.query(
f"select stateduration(col{i},'{j}',5,1h) from {self.stbname}")
2022-05-31 06:51:58 +00:00
tdSql.checkRows(10)
# print(tdSql.queryResult)
2022-08-10 09:08:27 +00:00
if j in ['LT', 'lt', 'Lt', 'lT']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GT', 'gt', 'Gt', 'gT']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (0,), (1,), (2,), (3,), (4,)])
elif j in ['LE', 'le', 'Le', 'lE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (4,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GE', 'ge', 'Ge', 'gE']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (0,), (1,), (2,), (3,), (4,), (5,)])
elif j in ['NE', 'ne', 'Ne', 'nE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (-1,), (0,), (1,), (2,), (3,), (4,)])
elif j in ['EQ', 'eq', 'Eq', 'eQ']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (0,), (-1,), (-1,), (-1,), (-1,), (-1,)])
2022-05-31 06:51:58 +00:00
for i in float_list:
for j in self.param_list:
2022-08-10 09:08:27 +00:00
tdSql.query(
f"select stateduration(col{i},'{j}',5,1h) from {self.stbname}")
2022-05-31 06:51:58 +00:00
tdSql.checkRows(10)
print(tdSql.queryResult)
2022-08-10 09:08:27 +00:00
if j in ['LT', 'lt', 'Lt', 'lT', 'LE', 'le', 'Le', 'lE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (4,), (-1,), (-1,), (-1,), (-1,), (-1,)])
elif j in ['GE', 'ge', 'Ge', 'gE', 'GT', 'gt', 'Gt', 'gT']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (0,), (1,), (2,), (3,), (4,)])
elif j in ['NE', 'ne', 'Ne', 'nE']:
tdSql.checkEqual(tdSql.queryResult, [
(0,), (1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)])
elif j in ['EQ', 'eq', 'Eq', 'eQ']:
tdSql.checkEqual(tdSql.queryResult, [
(-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,), (-1,)])
2022-06-30 03:33:06 +00:00
2022-08-10 09:08:27 +00:00
def run(self):
self.duration_check()
2022-05-31 06:51:58 +00:00
def stop(self):
tdSql.close()
tdLog.success("%s successfully executed" % __file__)
2022-08-10 09:08:27 +00:00
2022-05-31 06:51:58 +00:00
tdCases.addWindows(__file__, TDTestCase())
2022-06-30 03:33:06 +00:00
tdCases.addLinux(__file__, TDTestCase())