From 1c4f86210d6b89038a943abb042fe7b8274c0023 Mon Sep 17 00:00:00 2001 From: cpwu Date: Wed, 17 Aug 2022 18:18:48 +0800 Subject: [PATCH] fix case --- tests/system-test/2-query/ltrim.py | 3 +- tests/system-test/2-query/smaTest.py | 37 ++- tests/system-test/2-query/sml.py | 24 +- tests/system-test/2-query/spread.py | 96 +++---- tests/system-test/2-query/sqrt.py | 361 +++++++++++++-------------- tests/system-test/fulltest.sh | 14 +- 6 files changed, 264 insertions(+), 271 deletions(-) diff --git a/tests/system-test/2-query/ltrim.py b/tests/system-test/2-query/ltrim.py index 55c33b68eb..330f688990 100644 --- a/tests/system-test/2-query/ltrim.py +++ b/tests/system-test/2-query/ltrim.py @@ -251,8 +251,7 @@ class TDTestCase: tdLog.printNoPrefix("==========step3:all check") self.all_test() - tdDnodes.stop(1) - tdDnodes.start(1) + tdSql.execute("flush database db") tdSql.execute("use db") diff --git a/tests/system-test/2-query/smaTest.py b/tests/system-test/2-query/smaTest.py index 67824cc3a3..0217b6c28c 100644 --- a/tests/system-test/2-query/smaTest.py +++ b/tests/system-test/2-query/smaTest.py @@ -30,14 +30,6 @@ class TDTestCase: # updatecfgDict = {'debugFlag': 135} # updatecfgDict = {'fqdn': 135} - def caseDescription(self): - ''' - limit and offset keyword function test cases; - case1: limit offset base function test - case2: offset return valid - ''' - return - # init def init(self, conn, logSql): tdLog.debug("start to execute %s" % __file__) @@ -47,11 +39,12 @@ class TDTestCase: self.ts = 1500000000000 - # run case + # run case def run(self): # insert data - self.insert_data1("t1", self.ts, 1000*10000) - self.insert_data1("t4", self.ts, 1000*10000) + dbname = "db" + self.insert_data1(f"{dbname}.t1", self.ts, 1000*10000) + self.insert_data1(f"{dbname}.t4", self.ts, 1000*10000) # test base case # self.test_case1() tdLog.debug(" LIMIT test_case1 ............ [OK]") @@ -60,7 +53,7 @@ class TDTestCase: tdLog.debug(" LIMIT test_case2 ............ [OK]") - # stop + # stop def stop(self): tdSql.close() tdLog.success("%s successfully executed" % __file__) @@ -70,16 +63,16 @@ class TDTestCase: # # create table - def create_tables(self): + def create_tables(self, dbname="db"): # super table - tdSql.execute("create table st(ts timestamp, i1 int,i2 int) tags(area int)"); + tdSql.execute(f"create table {dbname}.st(ts timestamp, i1 int,i2 int) tags(area int)") # child table - tdSql.execute("create table t1 using st tags(1)"); + tdSql.execute(f"create table {dbname}.t1 using {dbname}.st tags(1)") - tdSql.execute("create table st1(ts timestamp, i1 int ,i2 int) tags(area int) sma(i2) "); - tdSql.execute("create table t4 using st1 tags(1)"); + tdSql.execute(f"create table {dbname}.st1(ts timestamp, i1 int ,i2 int) tags(area int) sma(i2) ") + tdSql.execute(f"create table {dbname}.t4 using {dbname}.st1 tags(1)") - return + return # insert data1 def insert_data(self, tbname, ts_start, count): @@ -91,7 +84,7 @@ class TDTestCase: if i >0 and i%30000 == 0: tdSql.execute(sql) sql = pre_insert - # end sql + # end sql if sql != pre_insert: tdSql.execute(sql) @@ -107,16 +100,16 @@ class TDTestCase: if i >0 and i%30000 == 0: tdSql.execute(sql) sql = pre_insert - # end sql + # end sql if sql != pre_insert: tdSql.execute(sql) tdLog.debug("INSERT TABLE DATA ............ [OK]") return - # test case1 base + # test case1 base # def test_case1(self): - # # + # # # # limit base function # # # # base no where diff --git a/tests/system-test/2-query/sml.py b/tests/system-test/2-query/sml.py index 6cfb9a1dad..4c95f70a4d 100644 --- a/tests/system-test/2-query/sml.py +++ b/tests/system-test/2-query/sml.py @@ -20,7 +20,7 @@ class TDTestCase: tdSql.init(conn.cursor()) #tdSql.init(conn.cursor(), logSql) # output sql.txt file - def checkFileContent(self): + def checkFileContent(self, dbname="sml_db"): buildPath = tdCom.getBuildPath() cmdStr = '%s/build/bin/sml_test'%(buildPath) tdLog.info(cmdStr) @@ -28,8 +28,8 @@ class TDTestCase: if ret != 0: tdLog.exit("sml_test failed") - tdSql.execute('use sml_db') - tdSql.query("select * from t_b7d815c9222ca64cdf2614c61de8f211") + # tdSql.execute('use sml_db') + tdSql.query(f"select * from {dbname}.t_b7d815c9222ca64cdf2614c61de8f211") tdSql.checkRows(1) tdSql.checkData(0, 0, '2016-01-01 08:00:07.000') @@ -44,35 +44,35 @@ class TDTestCase: tdSql.checkData(0, 9, 0) tdSql.checkData(0, 10, 25) - tdSql.query("select * from readings") + tdSql.query(f"select * from {dbname}.readings") tdSql.checkRows(9) - tdSql.query("select distinct tbname from readings") + tdSql.query(f"select distinct tbname from {dbname}.readings") tdSql.checkRows(4) - tdSql.query("select * from t_0799064f5487946e5d22164a822acfc8 order by _ts") + tdSql.query(f"select * from {dbname}.t_0799064f5487946e5d22164a822acfc8 order by _ts") tdSql.checkRows(2) tdSql.checkData(0, 3, "kk") tdSql.checkData(1, 3, None) - tdSql.query("select distinct tbname from `sys.if.bytes.out`") + tdSql.query(f"select distinct tbname from {dbname}.`sys.if.bytes.out`") tdSql.checkRows(2) - tdSql.query("select * from t_fc70dec6677d4277c5d9799c4da806da order by _ts") + tdSql.query(f"select * from {dbname}.t_fc70dec6677d4277c5d9799c4da806da order by _ts") tdSql.checkRows(2) tdSql.checkData(0, 1, 1.300000000) tdSql.checkData(1, 1,13.000000000) - tdSql.query("select * from `sys.procs.running`") + tdSql.query(f"select * from {dbname}.`sys.procs.running`") tdSql.checkRows(1) tdSql.checkData(0, 1, 42.000000000) tdSql.checkData(0, 2, "web01") - tdSql.query("select distinct tbname from `sys.cpu.nice`") + tdSql.query(f"select distinct tbname from {dbname}.`sys.cpu.nice`") tdSql.checkRows(2) - tdSql.query("select * from `sys.cpu.nice` order by _ts") + tdSql.query(f"select * from {dbname}.`sys.cpu.nice` order by _ts") tdSql.checkRows(2) tdSql.checkData(0, 1, 9.000000000) tdSql.checkData(0, 2, "lga") @@ -83,7 +83,7 @@ class TDTestCase: tdSql.checkData(1, 3, "web01") tdSql.checkData(1, 4, "t1") - tdSql.query("select * from macylr") + tdSql.query(f"select * from {dbname}.macylr") tdSql.checkRows(2) return diff --git a/tests/system-test/2-query/spread.py b/tests/system-test/2-query/spread.py index 51c569e565..ffe86ff363 100644 --- a/tests/system-test/2-query/spread.py +++ b/tests/system-test/2-query/spread.py @@ -26,6 +26,8 @@ TS_TYPE_COL = [ TS_COL, ] ALL_COL = [ INT_COL, BINT_COL, SINT_COL, TINT_COL, FLOAT_COL, DOUBLE_COL, BOOL_COL, BINARY_COL, NCHAR_COL, TS_COL ] +DBNAME = "db" + class TDTestCase: def init(self, conn, logSql): @@ -88,6 +90,7 @@ class TDTestCase: return join_condition def __where_condition(self, col=None, tbname=None, query_conditon=None): + # tbname = tbname.split(".")[-1] if tbname else None if query_conditon and isinstance(query_conditon, str): if query_conditon.startswith("count"): query_conditon = query_conditon[6:-1] @@ -129,32 +132,33 @@ class TDTestCase: return f"select spread({select_clause}) from {from_clause} {where_condition} {group_condition}" @property - def __tb_list(self): + def __tb_list(self, dbname=DBNAME): return [ - "ct1", - "ct4", - "t1", - "ct2", - "stb1", + f"{dbname}.ct1", + f"{dbname}.ct4", + f"{dbname}.t1", + f"{dbname}.ct2", + f"{dbname}.stb1", ] def sql_list(self): sqls = [] __no_join_tblist = self.__tb_list for tb in __no_join_tblist: - select_claus_list = self.__query_condition(tb) - for select_claus in select_claus_list: - group_claus = self.__group_condition(col=select_claus) - where_claus = self.__where_condition(query_conditon=select_claus) - having_claus = self.__group_condition(col=select_claus, having=f"{select_claus} is not null") - sqls.extend( - ( - self.__single_sql(select_claus, tb, where_claus, having_claus), - self.__single_sql(select_claus, tb,), - self.__single_sql(select_claus, tb, where_condition=where_claus), - self.__single_sql(select_claus, tb, group_condition=group_claus), - ) + tbname = tb.split(".")[-1] + select_claus_list = self.__query_condition(tbname) + for select_claus in select_claus_list: + group_claus = self.__group_condition(col=select_claus) + where_claus = self.__where_condition(query_conditon=select_claus) + having_claus = self.__group_condition(col=select_claus, having=f"{select_claus} is not null") + sqls.extend( + ( + self.__single_sql(select_claus, tb, where_claus, having_claus), + self.__single_sql(select_claus, tb,), + self.__single_sql(select_claus, tb, where_condition=where_claus), + self.__single_sql(select_claus, tb, group_condition=group_claus), ) + ) # return filter(None, sqls) return list(filter(None, sqls)) @@ -166,28 +170,28 @@ class TDTestCase: tdLog.info(f"sql: {sqls[i]}") tdSql.query(sqls[i]) - def __test_current(self): - tdSql.query("select spread(ts) from ct1") + def __test_current(self, dbname=DBNAME): + tdSql.query(f"select spread(ts) from {dbname}.ct1") tdSql.checkRows(1) - tdSql.query("select spread(c1) from ct2") + tdSql.query(f"select spread(c1) from {dbname}.ct2") tdSql.checkRows(1) - tdSql.query("select spread(c1) from ct4 group by c1") + tdSql.query(f"select spread(c1) from {dbname}.ct4 group by c1") tdSql.checkRows(self.rows + 3) - tdSql.query("select spread(c1) from ct4 group by c7") + tdSql.query(f"select spread(c1) from {dbname}.ct4 group by c7") tdSql.checkRows(3) - tdSql.query("select spread(ct2.c1) from ct4 join ct2 on ct4.ts=ct2.ts") + tdSql.query(f"select spread(ct2.c1) from {dbname}.ct4 ct4 join {dbname}.ct2 ct2 on ct4.ts=ct2.ts") tdSql.checkRows(1) self.spread_check() - def __test_error(self): + def __test_error(self, dbname=DBNAME): tdLog.printNoPrefix("===step 0: err case, must return err") - tdSql.error( "select spread() from ct1" ) - tdSql.error( "select spread(1, 2) from ct2" ) - tdSql.error( f"select spread({NUM_COL[0]}, {NUM_COL[1]}) from ct4" ) - tdSql.error( f"select spread({BOOLEAN_COL[0]}) from t1" ) - tdSql.error( f"select spread({CHAR_COL[0]}) from stb1" ) + tdSql.error( f"select spread() from {dbname}.ct1" ) + tdSql.error( f"select spread(1, 2) from {dbname}.ct2" ) + tdSql.error( f"select spread({NUM_COL[0]}, {NUM_COL[1]}) from {dbname}.ct4" ) + tdSql.error( f"select spread({BOOLEAN_COL[0]}) from {dbname}.t1" ) + tdSql.error( f"select spread({CHAR_COL[0]}) from {dbname}.stb1" ) # tdSql.error( ''' select spread(['c1 + c1', 'c1 + c2', 'c1 + c3', 'c1 + c4', 'c1 + c5', 'c1 + c6', 'c1 + c7', 'c1 + c8', 'c1 + c9', 'c1 + c10']) # from ct1 @@ -196,20 +200,20 @@ class TDTestCase: # having ['c1 + c1', 'c1 + c2', 'c1 + c3', 'c1 + c4', 'c1 + c5', 'c1 + c6', 'c1 + c7', 'c1 + c8', 'c1 + c9', 'c1 + c10'] is not null ''' ) # tdSql.error( "select c1 from ct1 union select c1 from ct2 union select c1 from ct4 ") - def all_test(self): - self.__test_error() - self.__test_current() + def all_test(self, dbname=DBNAME): + self.__test_error(dbname) + self.__test_current(dbname) - def __create_tb(self): + def __create_tb(self, dbname=DBNAME): tdLog.printNoPrefix("==========step1:create table") - create_stb_sql = f'''create table stb1( + create_stb_sql = f'''create table {dbname}.stb1( ts timestamp, {INT_COL} int, {BINT_COL} bigint, {SINT_COL} smallint, {TINT_COL} tinyint, {FLOAT_COL} float, {DOUBLE_COL} double, {BOOL_COL} bool, {BINARY_COL} binary(16), {NCHAR_COL} nchar(32), {TS_COL} timestamp ) tags (t1 int) ''' - create_ntb_sql = f'''create table t1( + create_ntb_sql = f'''create table {dbname}.t1( ts timestamp, {INT_COL} int, {BINT_COL} bigint, {SINT_COL} smallint, {TINT_COL} tinyint, {FLOAT_COL} float, {DOUBLE_COL} double, {BOOL_COL} bool, {BINARY_COL} binary(16), {NCHAR_COL} nchar(32), {TS_COL} timestamp @@ -219,30 +223,30 @@ class TDTestCase: tdSql.execute(create_ntb_sql) for i in range(4): - tdSql.execute(f'create table ct{i+1} using stb1 tags ( {i+1} )') + tdSql.execute(f'create table {dbname}.ct{i+1} using {dbname}.stb1 tags ( {i+1} )') { i % 32767 }, { i % 127}, { i * 1.11111 }, { i * 1000.1111 }, { i % 2} - def __insert_data(self, rows): + def __insert_data(self, rows, dbname=DBNAME): now_time = int(datetime.datetime.timestamp(datetime.datetime.now()) * 1000) for i in range(rows): tdSql.execute( - f"insert into ct1 values ( { now_time - i * 1000 }, {i}, {11111 * i}, {111 * i % 32767 }, {11 * i % 127}, {1.11*i}, {1100.0011*i}, {i%2}, 'binary{i}', 'nchar_测试_{i}', { now_time + 1 * i } )" + f"insert into {dbname}.ct1 values ( { now_time - i * 1000 }, {i}, {11111 * i}, {111 * i % 32767 }, {11 * i % 127}, {1.11*i}, {1100.0011*i}, {i%2}, 'binary{i}', 'nchar_测试_{i}', { now_time + 1 * i } )" ) tdSql.execute( - f"insert into ct4 values ( { now_time - i * 7776000000 }, {i}, {11111 * i}, {111 * i % 32767 }, {11 * i % 127}, {1.11*i}, {1100.0011*i}, {i%2}, 'binary{i}', 'nchar_测试_{i}', { now_time + 1 * i } )" + f"insert into {dbname}.ct4 values ( { now_time - i * 7776000000 }, {i}, {11111 * i}, {111 * i % 32767 }, {11 * i % 127}, {1.11*i}, {1100.0011*i}, {i%2}, 'binary{i}', 'nchar_测试_{i}', { now_time + 1 * i } )" ) tdSql.execute( - f"insert into ct2 values ( { now_time - i * 7776000000 }, {-i}, {-11111 * i}, {-111 * i % 32767 }, {-11 * i % 127}, {-1.11*i}, {-1100.0011*i}, {i%2}, 'binary{i}', 'nchar_测试_{i}', { now_time + 1 * i } )" + f"insert into {dbname}.ct2 values ( { now_time - i * 7776000000 }, {-i}, {-11111 * i}, {-111 * i % 32767 }, {-11 * i % 127}, {-1.11*i}, {-1100.0011*i}, {i%2}, 'binary{i}', 'nchar_测试_{i}', { now_time + 1 * i } )" ) tdSql.execute( - f'''insert into ct1 values + f'''insert into {dbname}.ct1 values ( { now_time - rows * 5 }, 0, 0, 0, 0, 0, 0, 0, 'binary0', 'nchar_测试_0', { now_time + 8 } ) ( { now_time + 10000 }, { rows }, -99999, -999, -99, -9.99, -99.99, 1, 'binary9', 'nchar_测试_9', { now_time + 9 } ) ''' ) tdSql.execute( - f'''insert into ct4 values + f'''insert into {dbname}.ct4 values ( { now_time - rows * 7776000000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ( { now_time - rows * 3888000000 + 10800000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ( { now_time + 7776000000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) @@ -258,7 +262,7 @@ class TDTestCase: ) tdSql.execute( - f'''insert into ct2 values + f'''insert into {dbname}.ct2 values ( { now_time - rows * 7776000000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ( { now_time - rows * 3888000000 + 10800000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ( { now_time + 7776000000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) @@ -274,13 +278,13 @@ class TDTestCase: ) for i in range(rows): - insert_data = f'''insert into t1 values + insert_data = f'''insert into {dbname}.t1 values ( { now_time - i * 3600000 }, {i}, {i * 11111}, { i % 32767 }, { i % 127}, { i * 1.11111 }, { i * 1000.1111 }, { i % 2}, "binary_{i}", "nchar_测试_{i}", { now_time - 1000 * i } ) ''' tdSql.execute(insert_data) tdSql.execute( - f'''insert into t1 values + f'''insert into {dbname}.t1 values ( { now_time + 10800000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ( { now_time - (( rows // 2 ) * 60 + 30) * 60000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ( { now_time - rows * 3600000 }, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) diff --git a/tests/system-test/2-query/sqrt.py b/tests/system-test/2-query/sqrt.py index 425d59f118..4401a23dbf 100644 --- a/tests/system-test/2-query/sqrt.py +++ b/tests/system-test/2-query/sqrt.py @@ -9,48 +9,46 @@ from util.cases import * class TDTestCase: - 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, - "wDebugFlag":143,"sDebugFlag":143,"tsdbDebugFlag":143,"tqDebugFlag":143 ,"fsDebugFlag":143 ,"udfDebugFlag":143} + def init(self, conn, powSql): tdLog.debug(f"start to excute {__file__}") tdSql.init(conn.cursor()) - def prepare_datas(self): + def prepare_datas(self, dbname="db"): tdSql.execute( - '''create table stb1 + f'''create table {dbname}.stb1 (ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint, c5 float, c6 double, c7 bool, c8 binary(16),c9 nchar(32), c10 timestamp) tags (t1 int) ''' ) tdSql.execute( - ''' - create table t1 + f''' + create table {dbname}.t1 (ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint, c5 float, c6 double, c7 bool, c8 binary(16),c9 nchar(32), c10 timestamp) ''' ) for i in range(4): - tdSql.execute(f'create table ct{i+1} using stb1 tags ( {i+1} )') + tdSql.execute(f'create table {dbname}.ct{i+1} using {dbname}.stb1 tags ( {i+1} )') for i in range(9): tdSql.execute( - f"insert into ct1 values ( now()-{i*10}s, {1*i}, {11111*i}, {111*i}, {11*i}, {1.11*i}, {11.11*i}, {i%2}, 'binary{i}', 'nchar{i}', now()+{1*i}a )" + f"insert into {dbname}.ct1 values ( now()-{i*10}s, {1*i}, {11111*i}, {111*i}, {11*i}, {1.11*i}, {11.11*i}, {i%2}, 'binary{i}', 'nchar{i}', now()+{1*i}a )" ) tdSql.execute( - f"insert into ct4 values ( now()-{i*90}d, {1*i}, {11111*i}, {111*i}, {11*i}, {1.11*i}, {11.11*i}, {i%2}, 'binary{i}', 'nchar{i}', now()+{1*i}a )" + f"insert into {dbname}.ct4 values ( now()-{i*90}d, {1*i}, {11111*i}, {111*i}, {11*i}, {1.11*i}, {11.11*i}, {i%2}, 'binary{i}', 'nchar{i}', now()+{1*i}a )" ) - tdSql.execute("insert into ct1 values (now()-45s, 0, 0, 0, 0, 0, 0, 0, 'binary0', 'nchar0', now()+8a )") - tdSql.execute("insert into ct1 values (now()+10s, 9, -99999, -999, -99, -9.99, -99.99, 1, 'binary9', 'nchar9', now()+9a )") - tdSql.execute("insert into ct1 values (now()+15s, 9, -99999, -999, -99, -9.99, NULL, 1, 'binary9', 'nchar9', now()+9a )") - tdSql.execute("insert into ct1 values (now()+20s, 9, -99999, -999, NULL, -9.99, -99.99, 1, 'binary9', 'nchar9', now()+9a )") + tdSql.execute(f"insert into {dbname}.ct1 values (now()-45s, 0, 0, 0, 0, 0, 0, 0, 'binary0', 'nchar0', now()+8a )") + tdSql.execute(f"insert into {dbname}.ct1 values (now()+10s, 9, -99999, -999, -99, -9.99, -99.99, 1, 'binary9', 'nchar9', now()+9a )") + tdSql.execute(f"insert into {dbname}.ct1 values (now()+15s, 9, -99999, -999, -99, -9.99, NULL, 1, 'binary9', 'nchar9', now()+9a )") + tdSql.execute(f"insert into {dbname}.ct1 values (now()+20s, 9, -99999, -999, NULL, -9.99, -99.99, 1, 'binary9', 'nchar9', now()+9a )") - tdSql.execute("insert into ct4 values (now()-810d, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ") - tdSql.execute("insert into ct4 values (now()-400d, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ") - tdSql.execute("insert into ct4 values (now()+90d, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ") + tdSql.execute(f"insert into {dbname}.ct4 values (now()-810d, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ") + tdSql.execute(f"insert into {dbname}.ct4 values (now()-400d, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ") + tdSql.execute(f"insert into {dbname}.ct4 values (now()+90d, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ") tdSql.execute( - f'''insert into t1 values + f'''insert into {dbname}.t1 values ( '2020-04-21 01:01:01.000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ( '2020-10-21 01:01:01.000', 1, 11111, 111, 11, 1.11, 11.11, 1, "binary1", "nchar1", now()+1a ) ( '2020-12-31 01:01:01.000', 2, 22222, 222, 22, 2.22, 22.22, 0, "binary2", "nchar2", now()+2a ) @@ -101,68 +99,68 @@ class TDTestCase: else: tdLog.info("sqrt value check pass , it work as expected ,sql is \"%s\" "%pow_query ) - def test_errors(self): + def test_errors(self, dbname="db"): error_sql_lists = [ - "select sqrt from t1", - # "select sqrt(-+--+c1 ) from t1", - # "select +-sqrt(c1) from t1", - # "select ++-sqrt(c1) from t1", - # "select ++--sqrt(c1) from t1", - # "select - -sqrt(c1)*0 from t1", - # "select sqrt(tbname+1) from t1 ", - "select sqrt(123--123)==1 from t1", - "select sqrt(c1) as 'd1' from t1", - "select sqrt(c1 ,c2) from t1", - "select sqrt(c1 ,NULL ) from t1", - "select sqrt(,) from t1;", - "select sqrt(sqrt(c1) ab from t1)", - "select sqrt(c1 ) as int from t1", - "select sqrt from stb1", - # "select sqrt(-+--+c1) from stb1", - # "select +-sqrt(c1) from stb1", - # "select ++-sqrt(c1) from stb1", - # "select ++--sqrt(c1) from stb1", - # "select - -sqrt(c1)*0 from stb1", - # "select sqrt(tbname+1) from stb1 ", - "select sqrt(123--123)==1 from stb1", - "select sqrt(c1) as 'd1' from stb1", - "select sqrt(c1 ,c2 ) from stb1", - "select sqrt(c1 ,NULL) from stb1", - "select sqrt(,) from stb1;", - "select sqrt(sqrt(c1) ab from stb1)", - "select sqrt(c1) as int from stb1" + f"select sqrt from {dbname}.t1", + # f"select sqrt(-+--+c1 ) from {dbname}.t1", + # f"select +-sqrt(c1) from {dbname}.t1", + # f"select ++-sqrt(c1) from {dbname}.t1", + # f"select ++--sqrt(c1) from {dbname}.t1", + # f"select - -sqrt(c1)*0 from {dbname}.t1", + # f"select sqrt(tbname+1) from {dbname}.t1 ", + f"select sqrt(123--123)==1 from {dbname}.t1", + f"select sqrt(c1) as 'd1' from {dbname}.t1", + f"select sqrt(c1 ,c2) from {dbname}.t1", + f"select sqrt(c1 ,NULL ) from {dbname}.t1", + f"select sqrt(,) from {dbname}.t1;", + f"select sqrt(sqrt(c1) ab from {dbname}.t1)", + f"select sqrt(c1 ) as int from {dbname}.t1", + f"select sqrt from {dbname}.stb1", + # f"select sqrt(-+--+c1) from {dbname}.stb1", + # f"select +-sqrt(c1) from {dbname}.stb1", + # f"select ++-sqrt(c1) from {dbname}.stb1", + # f"select ++--sqrt(c1) from {dbname}.stb1", + # f"select - -sqrt(c1)*0 from {dbname}.stb1", + # f"select sqrt(tbname+1) from {dbname}.stb1 ", + f"select sqrt(123--123)==1 from {dbname}.stb1", + f"select sqrt(c1) as 'd1' from {dbname}.stb1", + f"select sqrt(c1 ,c2 ) from {dbname}.stb1", + f"select sqrt(c1 ,NULL) from {dbname}.stb1", + f"select sqrt(,) from {dbname}.stb1;", + f"select sqrt(sqrt(c1) ab from {dbname}.stb1)", + f"select sqrt(c1) as int from {dbname}.stb1" ] for error_sql in error_sql_lists: tdSql.error(error_sql) - def support_types(self): + def support_types(self, dbname="db"): type_error_sql_lists = [ - "select sqrt(ts) from t1" , - "select sqrt(c7) from t1", - "select sqrt(c8) from t1", - "select sqrt(c9) from t1", - "select sqrt(ts) from ct1" , - "select sqrt(c7) from ct1", - "select sqrt(c8) from ct1", - "select sqrt(c9) from ct1", - "select sqrt(ts) from ct3" , - "select sqrt(c7) from ct3", - "select sqrt(c8) from ct3", - "select sqrt(c9) from ct3", - "select sqrt(ts) from ct4" , - "select sqrt(c7) from ct4", - "select sqrt(c8) from ct4", - "select sqrt(c9) from ct4", - "select sqrt(ts) from stb1" , - "select sqrt(c7) from stb1", - "select sqrt(c8) from stb1", - "select sqrt(c9) from stb1" , + f"select sqrt(ts) from {dbname}.t1" , + f"select sqrt(c7) from {dbname}.t1", + f"select sqrt(c8) from {dbname}.t1", + f"select sqrt(c9) from {dbname}.t1", + f"select sqrt(ts) from {dbname}.ct1" , + f"select sqrt(c7) from {dbname}.ct1", + f"select sqrt(c8) from {dbname}.ct1", + f"select sqrt(c9) from {dbname}.ct1", + f"select sqrt(ts) from {dbname}.ct3" , + f"select sqrt(c7) from {dbname}.ct3", + f"select sqrt(c8) from {dbname}.ct3", + f"select sqrt(c9) from {dbname}.ct3", + f"select sqrt(ts) from {dbname}.ct4" , + f"select sqrt(c7) from {dbname}.ct4", + f"select sqrt(c8) from {dbname}.ct4", + f"select sqrt(c9) from {dbname}.ct4", + f"select sqrt(ts) from {dbname}.stb1" , + f"select sqrt(c7) from {dbname}.stb1", + f"select sqrt(c8) from {dbname}.stb1", + f"select sqrt(c9) from {dbname}.stb1" , - "select sqrt(ts) from stbbb1" , - "select sqrt(c7) from stbbb1", + f"select sqrt(ts) from {dbname}.stbbb1" , + f"select sqrt(c7) from {dbname}.stbbb1", - "select sqrt(ts) from tbname", - "select sqrt(c9) from tbname" + f"select sqrt(ts) from {dbname}.tbname", + f"select sqrt(c9) from {dbname}.tbname" ] @@ -171,103 +169,103 @@ class TDTestCase: type_sql_lists = [ - "select sqrt(c1) from t1", - "select sqrt(c2) from t1", - "select sqrt(c3) from t1", - "select sqrt(c4) from t1", - "select sqrt(c5) from t1", - "select sqrt(c6) from t1", + f"select sqrt(c1) from {dbname}.t1", + f"select sqrt(c2) from {dbname}.t1", + f"select sqrt(c3) from {dbname}.t1", + f"select sqrt(c4) from {dbname}.t1", + f"select sqrt(c5) from {dbname}.t1", + f"select sqrt(c6) from {dbname}.t1", - "select sqrt(c1) from ct1", - "select sqrt(c2) from ct1", - "select sqrt(c3) from ct1", - "select sqrt(c4) from ct1", - "select sqrt(c5) from ct1", - "select sqrt(c6) from ct1", + f"select sqrt(c1) from {dbname}.ct1", + f"select sqrt(c2) from {dbname}.ct1", + f"select sqrt(c3) from {dbname}.ct1", + f"select sqrt(c4) from {dbname}.ct1", + f"select sqrt(c5) from {dbname}.ct1", + f"select sqrt(c6) from {dbname}.ct1", - "select sqrt(c1) from ct3", - "select sqrt(c2) from ct3", - "select sqrt(c3) from ct3", - "select sqrt(c4) from ct3", - "select sqrt(c5) from ct3", - "select sqrt(c6) from ct3", + f"select sqrt(c1) from {dbname}.ct3", + f"select sqrt(c2) from {dbname}.ct3", + f"select sqrt(c3) from {dbname}.ct3", + f"select sqrt(c4) from {dbname}.ct3", + f"select sqrt(c5) from {dbname}.ct3", + f"select sqrt(c6) from {dbname}.ct3", - "select sqrt(c1) from stb1", - "select sqrt(c2) from stb1", - "select sqrt(c3) from stb1", - "select sqrt(c4) from stb1", - "select sqrt(c5) from stb1", - "select sqrt(c6) from stb1", + f"select sqrt(c1) from {dbname}.stb1", + f"select sqrt(c2) from {dbname}.stb1", + f"select sqrt(c3) from {dbname}.stb1", + f"select sqrt(c4) from {dbname}.stb1", + f"select sqrt(c5) from {dbname}.stb1", + f"select sqrt(c6) from {dbname}.stb1", - "select sqrt(c6) as alisb from stb1", - "select sqrt(c6) alisb from stb1", + f"select sqrt(c6) as alisb from {dbname}.stb1", + f"select sqrt(c6) alisb from {dbname}.stb1", ] for type_sql in type_sql_lists: tdSql.query(type_sql) - def basic_sqrt_function(self): + def basic_sqrt_function(self, dbname="db"): # basic query - tdSql.query("select c1 from ct3") + tdSql.query(f"select c1 from {dbname}.ct3") tdSql.checkRows(0) - tdSql.query("select c1 from t1") + tdSql.query(f"select c1 from {dbname}.t1") tdSql.checkRows(12) - tdSql.query("select c1 from stb1") + tdSql.query(f"select c1 from {dbname}.stb1") tdSql.checkRows(25) # used for empty table , ct3 is empty - tdSql.query("select sqrt(c1) from ct3") + tdSql.query(f"select sqrt(c1) from {dbname}.ct3") tdSql.checkRows(0) - tdSql.query("select sqrt(c2) from ct3") + tdSql.query(f"select sqrt(c2) from {dbname}.ct3") tdSql.checkRows(0) - tdSql.query("select sqrt(c3) from ct3") + tdSql.query(f"select sqrt(c3) from {dbname}.ct3") tdSql.checkRows(0) - tdSql.query("select sqrt(c4) from ct3") + tdSql.query(f"select sqrt(c4) from {dbname}.ct3") tdSql.checkRows(0) - tdSql.query("select sqrt(c5) from ct3") + tdSql.query(f"select sqrt(c5) from {dbname}.ct3") tdSql.checkRows(0) - tdSql.query("select sqrt(c6) from ct3") + tdSql.query(f"select sqrt(c6) from {dbname}.ct3") tdSql.checkRows(0) # # used for regular table - tdSql.query("select sqrt(c1) from t1") + tdSql.query(f"select sqrt(c1) from {dbname}.t1") tdSql.checkData(0, 0, None) tdSql.checkData(1 , 0, 1.000000000) tdSql.checkData(3 , 0, 1.732050808) tdSql.checkData(5 , 0, None) - tdSql.query("select c1, c2, c3 , c4, c5 from t1") + tdSql.query(f"select c1, c2, c3 , c4, c5 from {dbname}.t1") tdSql.checkData(1, 4, 1.11000) tdSql.checkData(3, 3, 33) tdSql.checkData(5, 4, None) - tdSql.query("select ts,c1, c2, c3 , c4, c5 from t1") + tdSql.query(f"select ts,c1, c2, c3 , c4, c5 from {dbname}.t1") tdSql.checkData(1, 5, 1.11000) tdSql.checkData(3, 4, 33) tdSql.checkData(5, 5, None) - self.check_result_auto_sqrt( "select abs(c1), abs(c2), abs(c3) , abs(c4), abs(c5) from t1", "select sqrt(abs(c1)), sqrt(abs(c2)) ,sqrt(abs(c3)), sqrt(abs(c4)), sqrt(abs(c5)) from t1") + self.check_result_auto_sqrt( f"select abs(c1), abs(c2), abs(c3) , abs(c4), abs(c5) from {dbname}.t1", f"select sqrt(abs(c1)), sqrt(abs(c2)) ,sqrt(abs(c3)), sqrt(abs(c4)), sqrt(abs(c5)) from {dbname}.t1") # used for sub table - tdSql.query("select c2 ,sqrt(c2) from ct1") + tdSql.query(f"select c2 ,sqrt(c2) from {dbname}.ct1") tdSql.checkData(0, 1, 298.140906284) tdSql.checkData(1 , 1, 278.885281074) tdSql.checkData(3 , 1, 235.701081881) tdSql.checkData(4 , 1, 0.000000000) - tdSql.query("select c1, c5 ,sqrt(c5) from ct4") + tdSql.query(f"select c1, c5 ,sqrt(c5) from {dbname}.ct4") tdSql.checkData(0 , 2, None) tdSql.checkData(1 , 2, 2.979932904) tdSql.checkData(2 , 2, 2.787471970) tdSql.checkData(3 , 2, 2.580697551) tdSql.checkData(5 , 2, None) - self.check_result_auto_sqrt( "select c1, c2, c3 , c4, c5 from ct1", "select sqrt(c1), sqrt(c2) ,sqrt(c3), sqrt(c4), sqrt(c5) from ct1") + self.check_result_auto_sqrt( f"select c1, c2, c3 , c4, c5 from {dbname}.ct1", f"select sqrt(c1), sqrt(c2) ,sqrt(c3), sqrt(c4), sqrt(c5) from {dbname}.ct1") # nest query for sqrt functions - tdSql.query("select c4 , sqrt(c4) ,sqrt(sqrt(c4)) , sqrt(sqrt(sqrt(c4))) from ct1;") + tdSql.query(f"select c4 , sqrt(c4) ,sqrt(sqrt(c4)) , sqrt(sqrt(sqrt(c4))) from {dbname}.ct1;") tdSql.checkData(0 , 0 , 88) tdSql.checkData(0 , 1 , 9.380831520) tdSql.checkData(0 , 2 , 3.062814314) @@ -285,22 +283,22 @@ class TDTestCase: # used for stable table - tdSql.query("select sqrt(c1) from stb1") + tdSql.query(f"select sqrt(c1) from {dbname}.stb1") tdSql.checkRows(25) # used for not exists table - tdSql.error("select sqrt(c1) from stbbb1") - tdSql.error("select sqrt(c1) from tbname") - tdSql.error("select sqrt(c1) from ct5") + tdSql.error(f"select sqrt(c1) from {dbname}.stbbb1") + tdSql.error(f"select sqrt(c1) from {dbname}.tbname") + tdSql.error(f"select sqrt(c1) from {dbname}.ct5") # mix with common col - tdSql.query("select c1, sqrt(c1) from ct1") + tdSql.query(f"select c1, sqrt(c1) from {dbname}.ct1") tdSql.checkData(0 , 0 ,8) tdSql.checkData(0 , 1 ,2.828427125) tdSql.checkData(4 , 0 ,0) tdSql.checkData(4 , 1 ,0.000000000) - tdSql.query("select c2, sqrt(c2) from ct4") + tdSql.query(f"select c2, sqrt(c2) from {dbname}.ct4") tdSql.checkData(0 , 0 , None) tdSql.checkData(0 , 1 ,None) tdSql.checkData(4 , 0 ,55555) @@ -309,7 +307,7 @@ class TDTestCase: tdSql.checkData(5 , 1 ,None) # mix with common functions - tdSql.query("select c1, sqrt(c1),sqrt(c1), sqrt(sqrt(c1)) from ct4 ") + tdSql.query(f"select c1, sqrt(c1),sqrt(c1), sqrt(sqrt(c1)) from {dbname}.ct4 ") tdSql.checkData(0 , 0 ,None) tdSql.checkData(0 , 1 ,None) tdSql.checkData(0 , 2 ,None) @@ -320,34 +318,34 @@ class TDTestCase: tdSql.checkData(3 , 2 ,2.449489743) tdSql.checkData(3 , 3 ,1.565084580) - tdSql.query("select c1, sqrt(c1),c5, floor(c5) from stb1 ") + tdSql.query(f"select c1, sqrt(c1),c5, floor(c5) from {dbname}.stb1 ") # # mix with agg functions , not support - tdSql.error("select c1, sqrt(c1),c5, count(c5) from stb1 ") - tdSql.error("select c1, sqrt(c1),c5, count(c5) from ct1 ") - tdSql.error("select sqrt(c1), count(c5) from stb1 ") - tdSql.error("select sqrt(c1), count(c5) from ct1 ") - tdSql.error("select c1, count(c5) from ct1 ") - tdSql.error("select c1, count(c5) from stb1 ") + tdSql.error(f"select c1, sqrt(c1),c5, count(c5) from {dbname}.stb1 ") + tdSql.error(f"select c1, sqrt(c1),c5, count(c5) from {dbname}.ct1 ") + tdSql.error(f"select sqrt(c1), count(c5) from {dbname}.stb1 ") + tdSql.error(f"select sqrt(c1), count(c5) from {dbname}.ct1 ") + tdSql.error(f"select c1, count(c5) from {dbname}.ct1 ") + tdSql.error(f"select c1, count(c5) from {dbname}.stb1 ") # agg functions mix with agg functions - tdSql.query("select max(c5), count(c5) from stb1") - tdSql.query("select max(c5), count(c5) from ct1") + tdSql.query(f"select max(c5), count(c5) from {dbname}.stb1") + tdSql.query(f"select max(c5), count(c5) from {dbname}.ct1") # bug fix for count - tdSql.query("select count(c1) from ct4 ") + tdSql.query(f"select count(c1) from {dbname}.ct4 ") tdSql.checkData(0,0,9) - tdSql.query("select count(*) from ct4 ") + tdSql.query(f"select count(*) from {dbname}.ct4 ") tdSql.checkData(0,0,12) - tdSql.query("select count(c1) from stb1 ") + tdSql.query(f"select count(c1) from {dbname}.stb1 ") tdSql.checkData(0,0,22) - tdSql.query("select count(*) from stb1 ") + tdSql.query(f"select count(*) from {dbname}.stb1 ") tdSql.checkData(0,0,25) # # bug fix for compute - tdSql.query("select c1, sqrt(c1) -0 ,sqrt(c1-4)-0 from ct4 ") + tdSql.query(f"select c1, sqrt(c1) -0 ,sqrt(c1-4)-0 from {dbname}.ct4 ") tdSql.checkData(0, 0, None) tdSql.checkData(0, 1, None) tdSql.checkData(0, 2, None) @@ -355,7 +353,7 @@ class TDTestCase: tdSql.checkData(1, 1, 2.828427125) tdSql.checkData(1, 2, 2.000000000) - tdSql.query(" select c1, sqrt(c1) -0 ,sqrt(c1-0.1)-0.1 from ct4") + tdSql.query(f"select c1, sqrt(c1) -0 ,sqrt(c1-0.1)-0.1 from {dbname}.ct4") tdSql.checkData(0, 0, None) tdSql.checkData(0, 1, None) tdSql.checkData(0, 2, None) @@ -363,57 +361,56 @@ class TDTestCase: tdSql.checkData(1, 1, 2.828427125) tdSql.checkData(1, 2, 2.710693865) - tdSql.query("select c1, sqrt(c1), c2, sqrt(c2), c3, sqrt(c3) from ct1") + tdSql.query(f"select c1, sqrt(c1), c2, sqrt(c2), c3, sqrt(c3) from {dbname}.ct1") - def test_big_number(self): + def test_big_number(self, dbname="db"): - tdSql.query("select c1, sqrt(100000000) from ct1") # bigint to double data overflow + tdSql.query(f"select c1, sqrt(100000000) from {dbname}.ct1") # bigint to double data overflow tdSql.checkData(4, 1, 10000.000000000) - tdSql.query("select c1, sqrt(10000000000000) from ct1") # bigint to double data overflow + tdSql.query(f"select c1, sqrt(10000000000000) from {dbname}.ct1") # bigint to double data overflow tdSql.checkData(4, 1, 3162277.660168380) - tdSql.query("select c1, sqrt(c1) + sqrt(10000000000000000000000000) from ct1") # bigint to double data overflow - tdSql.query("select c1, sqrt(c1) + sqrt(10000000000000000000000000.0) from ct1") # 10000000000000000000000000.0 is a double value + tdSql.query(f"select c1, sqrt(c1) + sqrt(10000000000000000000000000) from {dbname}.ct1") # bigint to double data overflow + tdSql.query(f"select c1, sqrt(c1) + sqrt(10000000000000000000000000.0) from {dbname}.ct1") # 10000000000000000000000000.0 is a double value tdSql.checkData(1, 1, 3162277660171.025390625) - tdSql.query("select c1, sqrt(10000000000000000000000000000000000) from ct1") # bigint to double data overflow - tdSql.query("select c1, sqrt(10000000000000000000000000000000000.0) from ct1") # 10000000000000000000000000.0 is a double value + tdSql.query(f"select c1, sqrt(10000000000000000000000000000000000) from {dbname}.ct1") # bigint to double data overflow + tdSql.query(f"select c1, sqrt(10000000000000000000000000000000000.0) from {dbname}.ct1") # 10000000000000000000000000.0 is a double value tdSql.checkData(4, 1, 100000000000000000.000000000) - tdSql.query("select c1, sqrt(10000000000000000000000000000000000000000) from ct1") # bigint to double data overflow - tdSql.query("select c1, sqrt(10000000000000000000000000000000000000000.0) from ct1") # 10000000000000000000000000.0 is a double value + tdSql.query(f"select c1, sqrt(10000000000000000000000000000000000000000) from {dbname}.ct1") # bigint to double data overflow + tdSql.query(f"select c1, sqrt(10000000000000000000000000000000000000000.0) from {dbname}.ct1") # 10000000000000000000000000.0 is a double value tdSql.checkData(4, 1, 100000000000000000000.000000000) - tdSql.query("select c1, sqrt(10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) from ct1") # bigint to double data overflow + tdSql.query(f"select c1, sqrt(10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) from {dbname}.ct1") # bigint to double data overflow - def pow_base_test(self): + def pow_base_test(self, dbname="db"): # base is an regular number ,int or double - tdSql.query("select c1, sqrt(c1) from ct1") + tdSql.query(f"select c1, sqrt(c1) from {dbname}.ct1") tdSql.checkData(0, 1,2.828427125) tdSql.checkRows(13) # # bug for compute in functions - # tdSql.query("select c1, abs(1/0) from ct1") + # tdSql.query(f"select c1, abs(1/0) from {dbname}.ct1") # tdSql.checkData(0, 0, 8) # tdSql.checkData(0, 1, 1) - tdSql.query("select c1, sqrt(1) from ct1") + tdSql.query(f"select c1, sqrt(1) from {dbname}.ct1") tdSql.checkData(0, 1, 1.000000000) tdSql.checkRows(13) # two cols start sqrt(x,y) - tdSql.query("select c1,c2, sqrt(c2) from ct1") + tdSql.query(f"select c1,c2, sqrt(c2) from {dbname}.ct1") tdSql.checkData(0, 2, 298.140906284) tdSql.checkData(1, 2, 278.885281074) tdSql.checkData(4, 2, 0.000000000) - def abs_func_filter(self): - tdSql.execute("use db") - tdSql.query("select c1, abs(c1) -0 ,ceil(c1-0.1)-0 ,floor(c1+0.1)-0.1 ,ceil(sqrt(c1)-0.5) from ct4 where c1>5 ") + def abs_func_filter(self, dbname="db"): + tdSql.query(f"select c1, abs(c1) -0 ,ceil(c1-0.1)-0 ,floor(c1+0.1)-0.1 ,ceil(sqrt(c1)-0.5) from {dbname}.ct4 where c1>5 ") tdSql.checkRows(3) tdSql.checkData(0,0,8) tdSql.checkData(0,1,8.000000000) @@ -421,7 +418,7 @@ class TDTestCase: tdSql.checkData(0,3,7.900000000) tdSql.checkData(0,4,3.000000000) - tdSql.query("select c1, abs(c1) -0 ,ceil(c1-0.1)-0 ,floor(c1+0.1)-0.1 ,ceil(sqrt(c1)-0.5) from ct4 where c1=5 ") + tdSql.query(f"select c1, abs(c1) -0 ,ceil(c1-0.1)-0 ,floor(c1+0.1)-0.1 ,ceil(sqrt(c1)-0.5) from {dbname}.ct4 where c1=5 ") tdSql.checkRows(1) tdSql.checkData(0,0,5) tdSql.checkData(0,1,5.000000000) @@ -429,7 +426,7 @@ class TDTestCase: tdSql.checkData(0,3,4.900000000) tdSql.checkData(0,4,2.000000000) - tdSql.query("select c1, abs(c1) -0 ,ceil(c1-0.1)-0 ,floor(c1+0.1)-0.1 ,ceil(sqrt(c1)-0.5) from ct4 where c1=5 ") + tdSql.query(f"select c1, abs(c1) -0 ,ceil(c1-0.1)-0 ,floor(c1+0.1)-0.1 ,ceil(sqrt(c1)-0.5) from {dbname}.ct4 where c1=5 ") tdSql.checkRows(1) tdSql.checkData(0,0,5) tdSql.checkData(0,1,5.000000000) @@ -437,7 +434,7 @@ class TDTestCase: tdSql.checkData(0,3,4.900000000) tdSql.checkData(0,4,2.000000000) - tdSql.query("select c1,c2 , abs(c1) -0 ,ceil(c1-0.1)-0 ,floor(c1+0.1)-0.1 ,ceil(sqrt(c1)-0.5) from ct4 where c1=sqrt(c1) limit 1 ") + tdSql.query(f"select c1,c2 , abs(c1) -0 ,ceil(c1-0.1)-0 ,floor(c1+0.1)-0.1 ,ceil(sqrt(c1)-0.5) from {dbname}.ct4 where c1=sqrt(c1) limit 1 ") tdSql.checkRows(1) tdSql.checkData(0,0,1) tdSql.checkData(0,1,11111) @@ -446,19 +443,14 @@ class TDTestCase: tdSql.checkData(0,4,0.900000000) tdSql.checkData(0,5,1.000000000) - def pow_Arithmetic(self): - pass + def check_boundary_values(self, dbname="bound_test"): - def check_boundary_values(self): - - tdSql.execute("drop database if exists bound_test") - tdSql.execute("create database if not exists bound_test") - time.sleep(3) - tdSql.execute("use bound_test") + tdSql.execute(f"drop database if exists {dbname}") + tdSql.execute(f"create database if not exists {dbname}") tdSql.execute( - "create table stb_bound (ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint, c5 float, c6 double, c7 bool, c8 binary(32),c9 nchar(32), c10 timestamp) tags (t1 int);" + f"create table {dbname}.stb_bound (ts timestamp, c1 int, c2 bigint, c3 smallint, c4 tinyint, c5 float, c6 double, c7 bool, c8 binary(32),c9 nchar(32), c10 timestamp) tags (t1 int);" ) - tdSql.execute(f'create table sub1_bound using stb_bound tags ( 1 )') + tdSql.execute(f'create table {dbname}.sub1_bound using {dbname}.stb_bound tags ( 1 )') tdSql.execute( f"insert into sub1_bound values ( now()-1s, 2147483647, 9223372036854775807, 32767, 127, 3.40E+38, 1.7e+308, True, 'binary_tb1', 'nchar_tb1', now() )" ) @@ -474,14 +466,14 @@ class TDTestCase: tdSql.error( f"insert into sub1_bound values ( now()+1s, 2147483648, 9223372036854775808, 32768, 128, 3.40E+38, 1.7e+308, True, 'binary_tb1', 'nchar_tb1', now() )" ) - self.check_result_auto_sqrt( "select abs(c1), abs(c2), abs(c3) , abs(c4), abs(c5) from sub1_bound ", "select sqrt(abs(c1)), sqrt(abs(c2)) ,sqrt(abs(c3)), sqrt(abs(c4)), sqrt(abs(c5)) from sub1_bound") + self.check_result_auto_sqrt( f"select abs(c1), abs(c2), abs(c3) , abs(c4), abs(c5) from {dbname}.sub1_bound ", f"select sqrt(abs(c1)), sqrt(abs(c2)) ,sqrt(abs(c3)), sqrt(abs(c4)), sqrt(abs(c5)) from {dbname}.sub1_bound") - self.check_result_auto_sqrt( "select c1, c2, c3 , c3, c2 ,c1 from sub1_bound ", "select sqrt(c1), sqrt(c2) ,sqrt(c3), sqrt(c3), sqrt(c2) ,sqrt(c1) from sub1_bound") + self.check_result_auto_sqrt( f"select c1, c2, c3 , c3, c2 ,c1 from {dbname}.sub1_bound ", f"select sqrt(c1), sqrt(c2) ,sqrt(c3), sqrt(c3), sqrt(c2) ,sqrt(c1) from {dbname}.sub1_bound") - self.check_result_auto_sqrt("select abs(abs(abs(abs(abs(abs(abs(abs(abs(c1))))))))) nest_col_func from sub1_bound" , "select sqrt(abs(c1)) from sub1_bound" ) + self.check_result_auto_sqrt(f"select abs(abs(abs(abs(abs(abs(abs(abs(abs(c1))))))))) nest_col_func from {dbname}.sub1_bound" , f"select sqrt(abs(c1)) from {dbname}.sub1_bound" ) # check basic elem for table per row - tdSql.query("select sqrt(abs(c1)) ,sqrt(abs(c2)) , sqrt(abs(c3)) , sqrt(abs(c4)), sqrt(abs(c5)), sqrt(abs(c6)) from sub1_bound ") + tdSql.query(f"select sqrt(abs(c1)) ,sqrt(abs(c2)) , sqrt(abs(c3)) , sqrt(abs(c4)), sqrt(abs(c5)), sqrt(abs(c6)) from {dbname}.sub1_bound ") tdSql.checkData(0,0,math.sqrt(2147483647)) tdSql.checkData(0,1,math.sqrt(9223372036854775807)) tdSql.checkData(0,2,math.sqrt(32767)) @@ -499,23 +491,22 @@ class TDTestCase: tdSql.checkData(3,4,math.sqrt(339999995214436424907732413799364296704.00000)) # check + - * / in functions - tdSql.query("select sqrt(abs(c1+1)) ,sqrt(abs(c2)) , sqrt(abs(c3*1)) , sqrt(abs(c4/2)), sqrt(abs(c5))/2, sqrt(abs(c6)) from sub1_bound ") + tdSql.query(f"select sqrt(abs(c1+1)) ,sqrt(abs(c2)) , sqrt(abs(c3*1)) , sqrt(abs(c4/2)), sqrt(abs(c5))/2, sqrt(abs(c6)) from {dbname}.sub1_bound ") tdSql.checkData(0,0,math.sqrt(2147483648.000000000)) tdSql.checkData(0,1,math.sqrt(9223372036854775807)) tdSql.checkData(0,2,math.sqrt(32767.000000000)) tdSql.checkData(0,3,math.sqrt(63.500000000)) - def support_super_table_test(self): - tdSql.execute(" use db ") - self.check_result_auto_sqrt( " select c5 from stb1 order by ts " , "select sqrt(c5) from stb1 order by ts" ) - self.check_result_auto_sqrt( " select c5 from stb1 order by tbname " , "select sqrt(c5) from stb1 order by tbname" ) - self.check_result_auto_sqrt( " select c5 from stb1 where c1 > 0 order by tbname " , "select sqrt(c5) from stb1 where c1 > 0 order by tbname" ) - self.check_result_auto_sqrt( " select c5 from stb1 where c1 > 0 order by tbname " , "select sqrt(c5) from stb1 where c1 > 0 order by tbname" ) + def support_super_table_test(self, dbname="db"): + self.check_result_auto_sqrt( f"select c5 from {dbname}.stb1 order by ts " , f"select sqrt(c5) from {dbname}.stb1 order by ts" ) + self.check_result_auto_sqrt( f"select c5 from {dbname}.stb1 order by tbname " , f"select sqrt(c5) from {dbname}.stb1 order by tbname" ) + self.check_result_auto_sqrt( f"select c5 from {dbname}.stb1 where c1 > 0 order by tbname " , f"select sqrt(c5) from {dbname}.stb1 where c1 > 0 order by tbname" ) + self.check_result_auto_sqrt( f"select c5 from {dbname}.stb1 where c1 > 0 order by tbname " , f"select sqrt(c5) from {dbname}.stb1 where c1 > 0 order by tbname" ) - self.check_result_auto_sqrt( " select t1,c5 from stb1 order by ts " , "select sqrt(t1), sqrt(c5) from stb1 order by ts" ) - self.check_result_auto_sqrt( " select t1,c5 from stb1 order by tbname " , "select sqrt(t1) ,sqrt(c5) from stb1 order by tbname" ) - self.check_result_auto_sqrt( " select t1,c5 from stb1 where c1 > 0 order by tbname " , "select sqrt(t1) ,sqrt(c5) from stb1 where c1 > 0 order by tbname" ) - self.check_result_auto_sqrt( " select t1,c5 from stb1 where c1 > 0 order by tbname " , "select sqrt(t1) , sqrt(c5) from stb1 where c1 > 0 order by tbname" ) + self.check_result_auto_sqrt( f"select t1,c5 from {dbname}.stb1 order by ts " , f"select sqrt(t1), sqrt(c5) from {dbname}.stb1 order by ts" ) + self.check_result_auto_sqrt( f"select t1,c5 from {dbname}.stb1 order by tbname " , f"select sqrt(t1) ,sqrt(c5) from {dbname}.stb1 order by tbname" ) + self.check_result_auto_sqrt( f"select t1,c5 from {dbname}.stb1 where c1 > 0 order by tbname " , f"select sqrt(t1) ,sqrt(c5) from {dbname}.stb1 where c1 > 0 order by tbname" ) + self.check_result_auto_sqrt( f"select t1,c5 from {dbname}.stb1 where c1 > 0 order by tbname " , f"select sqrt(t1) , sqrt(c5) from {dbname}.stb1 where c1 > 0 order by tbname" ) pass def run(self): # sourcery skip: extract-duplicate-method, remove-redundant-fstring diff --git a/tests/system-test/fulltest.sh b/tests/system-test/fulltest.sh index e89970b6ff..d741b6745b 100755 --- a/tests/system-test/fulltest.sh +++ b/tests/system-test/fulltest.sh @@ -125,7 +125,7 @@ python3 ./test.py -f 2-query/leastsquares.py -R python3 ./test.py -f 2-query/length.py python3 ./test.py -f 2-query/length.py -R python3 ./test.py -f 2-query/ltrim.py -# python3 ./test.py -f 2-query/ltrim.py -R +python3 ./test.py -f 2-query/ltrim.py -R python3 ./test.py -f 2-query/max_partition.py python3 ./test.py -f 2-query/max_partition.py -R python3 ./test.py -f 2-query/max.py @@ -143,11 +143,19 @@ python3 ./test.py -f 2-query/query_cols_tags_and_or.py -R python3 ./test.py -f 2-query/round.py python3 ./test.py -f 2-query/round.py -R python3 ./test.py -f 2-query/rtrim.py -# python3 ./test.py -f 2-query/rtrim.py -R +python3 ./test.py -f 2-query/rtrim.py -R python3 ./test.py -f 2-query/sample.py python3 ./test.py -f 2-query/sample.py -R python3 ./test.py -f 2-query/sin.py # python3 ./test.py -f 2-query/sin.py -R +python3 ./test.py -f 2-query/smaTest.py +python3 ./test.py -f 2-query/smaTest.py -R +python3 ./test.py -f 2-query/sml.py +python3 ./test.py -f 2-query/sml.py -R +python3 ./test.py -f 2-query/spread.py +python3 ./test.py -f 2-query/spread.py -R +python3 ./test.py -f 2-query/sqrt.py +# python3 ./test.py -f 2-query/sqrt.py -R python3 ./test.py -f 1-insert/update_data.py @@ -162,7 +170,6 @@ python3 ./test.py -f 2-query/substr.py python3 ./test.py -f 2-query/union.py python3 ./test.py -f 2-query/union1.py python3 ./test.py -f 2-query/concat2.py -python3 ./test.py -f 2-query/spread.py python3 ./test.py -f 2-query/timezone.py @@ -175,7 +182,6 @@ python3 ./test.py -f 2-query/json_tag.py python3 ./test.py -f 2-query/top.py python3 ./test.py -f 2-query/log.py -python3 ./test.py -f 2-query/sqrt.py python3 ./test.py -f 2-query/tan.py # python3 ./test.py -f 2-query/nestedQuery.py # TD-15983 subquery output duplicate name column.