tdLog.info("ceil value check pass , it work as expected ,sql is \"%s\" "%ceil_query)
deftest_errors(self):
deftest_errors(self,dbname="db"):
error_sql_lists=[
"select ceil from t1",
# "select ceil(-+--+c1) from t1",
# "select +-ceil(c1) from t1",
# "select ++-ceil(c1) from t1",
# "select ++--ceil(c1) from t1",
# "select - -ceil(c1)*0 from t1",
# "select ceil(tbname+1) from t1 ",
"select ceil(123--123)==1 from t1",
"select ceil(c1) as 'd1' from t1",
"select ceil(c1 ,c2 ) from t1",
"select ceil(c1 ,NULL) from t1",
"select ceil(,) from t1;",
"select ceil(ceil(c1) ab from t1)",
"select ceil(c1) as int from t1",
"select ceil from stb1",
# "select ceil(-+--+c1) from stb1",
# "select +-ceil(c1) from stb1",
# "select ++-ceil(c1) from stb1",
# "select ++--ceil(c1) from stb1",
# "select - -ceil(c1)*0 from stb1",
# "select ceil(tbname+1) from stb1 ",
"select ceil(123--123)==1 from stb1",
"select ceil(c1) as 'd1' from stb1",
"select ceil(c1 ,c2 ) from stb1",
"select ceil(c1 ,NULL) from stb1",
"select ceil(,) from stb1;",
"select ceil(ceil(c1) ab from stb1)",
"select ceil(c1) as int from stb1"
f"select ceil from {dbname}.t1",
f"select ceil(123--123)==1 from {dbname}.t1",
f"select ceil(c1) as 'd1' from {dbname}.t1",
f"select ceil(c1 ,c2 ) from {dbname}.t1",
f"select ceil(c1 ,NULL) from {dbname}.t1",
f"select ceil(,) from {dbname}.t1;",
f"select ceil(ceil(c1) ab from {dbname}.t1)",
f"select ceil(c1) as int from {dbname}.t1",
f"select ceil from {dbname}.stb1",
f"select ceil(123--123)==1 from {dbname}.stb1",
f"select ceil(c1) as 'd1' from {dbname}.stb1",
f"select ceil(c1 ,c2 ) from {dbname}.stb1",
f"select ceil(c1 ,NULL) from {dbname}.stb1",
f"select ceil(,) from {dbname}.stb1;",
f"select ceil(ceil(c1) ab from {dbname}.stb1)",
f"select ceil(c1) as int from {dbname}.stb1"
]
forerror_sqlinerror_sql_lists:
tdSql.error(error_sql)
defsupport_types(self):
defsupport_types(self,dbname="db"):
type_error_sql_lists=[
"select ceil(ts) from t1",
"select ceil(c7) from t1",
"select ceil(c8) from t1",
"select ceil(c9) from t1",
"select ceil(ts) from ct1",
"select ceil(c7) from ct1",
"select ceil(c8) from ct1",
"select ceil(c9) from ct1",
"select ceil(ts) from ct3",
"select ceil(c7) from ct3",
"select ceil(c8) from ct3",
"select ceil(c9) from ct3",
"select ceil(ts) from ct4",
"select ceil(c7) from ct4",
"select ceil(c8) from ct4",
"select ceil(c9) from ct4",
"select ceil(ts) from stb1",
"select ceil(c7) from stb1",
"select ceil(c8) from stb1",
"select ceil(c9) from stb1",
"select ceil(ts) from stbbb1",
"select ceil(c7) from stbbb1",
"select ceil(ts) from tbname",
"select ceil(c9) from tbname"
f"select ceil(ts) from {dbname}.t1",
f"select ceil(c7) from {dbname}.t1",
f"select ceil(c8) from {dbname}.t1",
f"select ceil(c9) from {dbname}.t1",
f"select ceil(ts) from {dbname}.ct1",
f"select ceil(c7) from {dbname}.ct1",
f"select ceil(c8) from {dbname}.ct1",
f"select ceil(c9) from {dbname}.ct1",
f"select ceil(ts) from {dbname}.ct3",
f"select ceil(c7) from {dbname}.ct3",
f"select ceil(c8) from {dbname}.ct3",
f"select ceil(c9) from {dbname}.ct3",
f"select ceil(ts) from {dbname}.ct4",
f"select ceil(c7) from {dbname}.ct4",
f"select ceil(c8) from {dbname}.ct4",
f"select ceil(c9) from {dbname}.ct4",
f"select ceil(ts) from {dbname}.stb1",
f"select ceil(c7) from {dbname}.stb1",
f"select ceil(c8) from {dbname}.stb1",
f"select ceil(c9) from {dbname}.stb1",
f"select ceil(ts) from {dbname}.stbbb1",
f"select ceil(c7) from {dbname}.stbbb1",
f"select ceil(ts) from {dbname}.tbname",
f"select ceil(c9) from {dbname}.tbname"
]
...
...
@@ -165,127 +153,127 @@ class TDTestCase:
type_sql_lists=[
"select ceil(c1) from t1",
"select ceil(c2) from t1",
"select ceil(c3) from t1",
"select ceil(c4) from t1",
"select ceil(c5) from t1",
"select ceil(c6) from t1",
"select ceil(c1) from ct1",
"select ceil(c2) from ct1",
"select ceil(c3) from ct1",
"select ceil(c4) from ct1",
"select ceil(c5) from ct1",
"select ceil(c6) from ct1",
"select ceil(c1) from ct3",
"select ceil(c2) from ct3",
"select ceil(c3) from ct3",
"select ceil(c4) from ct3",
"select ceil(c5) from ct3",
"select ceil(c6) from ct3",
"select ceil(c1) from stb1",
"select ceil(c2) from stb1",
"select ceil(c3) from stb1",
"select ceil(c4) from stb1",
"select ceil(c5) from stb1",
"select ceil(c6) from stb1",
"select ceil(c6) as alisb from stb1",
"select ceil(c6) alisb from stb1",
f"select ceil(c1) from {dbname}.t1",
f"select ceil(c2) from {dbname}.t1",
f"select ceil(c3) from {dbname}.t1",
f"select ceil(c4) from {dbname}.t1",
f"select ceil(c5) from {dbname}.t1",
f"select ceil(c6) from {dbname}.t1",
f"select ceil(c1) from {dbname}.ct1",
f"select ceil(c2) from {dbname}.ct1",
f"select ceil(c3) from {dbname}.ct1",
f"select ceil(c4) from {dbname}.ct1",
f"select ceil(c5) from {dbname}.ct1",
f"select ceil(c6) from {dbname}.ct1",
f"select ceil(c1) from {dbname}.ct3",
f"select ceil(c2) from {dbname}.ct3",
f"select ceil(c3) from {dbname}.ct3",
f"select ceil(c4) from {dbname}.ct3",
f"select ceil(c5) from {dbname}.ct3",
f"select ceil(c6) from {dbname}.ct3",
f"select ceil(c1) from {dbname}.stb1",
f"select ceil(c2) from {dbname}.stb1",
f"select ceil(c3) from {dbname}.stb1",
f"select ceil(c4) from {dbname}.stb1",
f"select ceil(c5) from {dbname}.stb1",
f"select ceil(c6) from {dbname}.stb1",
f"select ceil(c6) as alisb from {dbname}.stb1",
f"select ceil(c6) alisb from {dbname}.stb1",
]
fortype_sqlintype_sql_lists:
tdSql.query(type_sql)
defbasic_ceil_function(self):
defbasic_ceil_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 ceil(c1) from ct3")
# used for empty table , {dbname}.ct3 is empty
tdSql.query(f"select ceil(c1) from {dbname}.ct3")
tdSql.checkRows(0)
tdSql.query("select ceil(c2) from ct3")
tdSql.query(f"select ceil(c2) from {dbname}.ct3")
tdSql.checkRows(0)
tdSql.query("select ceil(c3) from ct3")
tdSql.query(f"select ceil(c3) from {dbname}.ct3")
tdSql.checkRows(0)
tdSql.query("select ceil(c4) from ct3")
tdSql.query(f"select ceil(c4) from {dbname}.ct3")
tdSql.checkRows(0)
tdSql.query("select ceil(c5) from ct3")
tdSql.query(f"select ceil(c5) from {dbname}.ct3")
tdSql.checkRows(0)
tdSql.query("select ceil(c6) from ct3")
tdSql.query(f"select ceil(c6) from {dbname}.ct3")
# used for regular table
tdSql.query("select ceil(c1) from t1")
tdSql.query(f"select ceil(c1) from {dbname}.t1")
tdSql.checkData(0,0,None)
tdSql.checkData(1,0,1)
tdSql.checkData(3,0,3)
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("select c1, c2, c3 , c4, c5 from t1","select (c1), ceil(c2) ,ceil(c3), ceil(c4), ceil(c5) from t1")
self.check_result_auto(f"select c1, c2, c3 , c4, c5 from {dbname}.t1",f"select (c1), ceil(c2) ,ceil(c3), ceil(c4), ceil(c5) from {dbname}.t1")
# used for sub table
tdSql.query("select ceil(c1) from ct1")
tdSql.query(f"select ceil(c1) from {dbname}.ct1")
tdSql.checkData(0,0,8)
tdSql.checkData(1,0,7)
tdSql.checkData(3,0,5)
tdSql.checkData(5,0,4)
tdSql.query("select ceil(c1) from ct1")
self.check_result_auto("select c1, c2, c3 , c4, c5 from ct1","select (c1), ceil(c2) ,ceil(c3), ceil(c4), ceil(c5) from ct1")
self.check_result_auto("select ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(c1)))))))))) nest_col_func from ct1;","select c1 from ct1")
tdSql.query(f"select ceil(c1) from {dbname}.ct1")
self.check_result_auto(f"select c1, c2, c3 , c4, c5 from {dbname}.ct1",f"select (c1), ceil(c2) ,ceil(c3), ceil(c4), ceil(c5) from {dbname}.ct1")
self.check_result_auto(f"select ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(c1)))))))))) nest_col_func from {dbname}.ct1;",f"select c1 from {dbname}.ct1")
# used for stable table
tdSql.query("select ceil(c1) from stb1")
tdSql.query(f"select ceil(c1) from {dbname}.stb1")
tdSql.checkRows(25)
self.check_result_auto("select c1, c2, c3 , c4, c5 from ct4 ","select (c1), ceil(c2) ,ceil(c3), ceil(c4), ceil(c5) from ct4")
self.check_result_auto("select ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(c1)))))))))) nest_col_func from ct4;","select c1 from ct4")
self.check_result_auto(f"select c1, c2, c3 , c4, c5 from {dbname}.ct4 ",f"select (c1), ceil(c2) ,ceil(c3), ceil(c4), ceil(c5) from {dbname}.ct4")
self.check_result_auto(f"select ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(c1)))))))))) nest_col_func from {dbname}.ct4;",f"select c1 from {dbname}.ct4")
# used for not exists table
tdSql.error("select ceil(c1) from stbbb1")
tdSql.error("select ceil(c1) from tbname")
tdSql.error("select ceil(c1) from ct5")
tdSql.error(f"select ceil(c1) from {dbname}.stbbb1")
tdSql.error(f"select ceil(c1) from {dbname}.tbname")
tdSql.error(f"select ceil(c1) from {dbname}.ct5")
# mix with common col
tdSql.query("select c1, ceil(c1) from ct1")
tdSql.query(f"select c1, ceil(c1) from {dbname}.ct1")
tdSql.checkData(0,0,8)
tdSql.checkData(0,1,8)
tdSql.checkData(4,0,0)
tdSql.checkData(4,1,0)
tdSql.query("select c1, ceil(c1) from ct4")
tdSql.query(f"select c1, ceil(c1) from {dbname}.ct4")
tdSql.checkData(0,0,None)
tdSql.checkData(0,1,None)
tdSql.checkData(4,0,5)
tdSql.checkData(4,1,5)
tdSql.checkData(5,0,None)
tdSql.checkData(5,1,None)
tdSql.query("select c1, ceil(c1) from ct4 ")
tdSql.query(f"select c1, ceil(c1) from {dbname}.ct4 ")
tdSql.checkData(0,0,None)
tdSql.checkData(0,1,None)
tdSql.checkData(4,0,5)
tdSql.checkData(4,1,5)
# mix with common functions
tdSql.query("select c1, ceil(c1),c5, ceil(c5) from ct4 ")
tdSql.query(f"select c1, ceil(c1),c5, ceil(c5) from {dbname}.ct4 ")
tdSql.checkData(0,0,None)
tdSql.checkData(0,1,None)
tdSql.checkData(0,2,None)
...
...
@@ -296,34 +284,34 @@ class TDTestCase:
tdSql.checkData(3,2,6.66000)
tdSql.checkData(3,3,7.00000)
tdSql.query("select c1, ceil(c1),c5, floor(c5) from stb1 ")
tdSql.query(f"select c1, ceil(c1),c5, floor(c5) from {dbname}.stb1 ")
# mix with agg functions , not support
tdSql.error("select c1, ceil(c1),c5, count(c5) from stb1 ")
tdSql.error("select c1, ceil(c1),c5, count(c5) from ct1 ")
tdSql.error("select ceil(c1), count(c5) from stb1 ")
tdSql.error("select ceil(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, ceil(c1),c5, count(c5) from {dbname}.stb1 ")
tdSql.error(f"select c1, ceil(c1),c5, count(c5) from {dbname}.ct1 ")
tdSql.error(f"select ceil(c1), count(c5) from {dbname}.stb1 ")
tdSql.error(f"select ceil(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, abs(c1) -0 ,ceil(c1)-0 from ct4 ")
tdSql.query(f"select c1, abs(c1) -0 ,ceil(c1)-0 from {dbname}.ct4 ")
tdSql.checkData(0,0,None)
tdSql.checkData(0,1,None)
tdSql.checkData(0,2,None)
...
...
@@ -331,7 +319,7 @@ class TDTestCase:
tdSql.checkData(1,1,8.000000000)
tdSql.checkData(1,2,8.000000000)
tdSql.query(" select c1, abs(c1) -0 ,ceil(c1-0.1)-0.1 from ct4")
tdSql.query(f" select c1, abs(c1) -0 ,ceil(c1-0.1)-0.1 from {dbname}.ct4")
tdSql.checkData(0,0,None)
tdSql.checkData(0,1,None)
tdSql.checkData(0,2,None)
...
...
@@ -339,9 +327,9 @@ class TDTestCase:
tdSql.checkData(1,1,8.000000000)
tdSql.checkData(1,2,7.900000000)
defabs_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(log(c1,2)-0.5) from ct4 where c1>5 ")
defabs_func_filter(self,dbname="db"):
tdSql.execute(f"use {dbname}")
tdSql.query(f"select c1, abs(c1) -0 ,ceil(c1-0.1)-0 ,floor(c1+0.1)-0.1 ,ceil(log(c1,2)-0.5) from {dbname}.ct4 where c1>5 ")
tdSql.checkRows(3)
tdSql.checkData(0,0,8)
tdSql.checkData(0,1,8.000000000)
...
...
@@ -349,7 +337,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(log(c1,2)-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(log(c1,2)-0.5) from {dbname}.ct4 where c1=5 ")
tdSql.checkRows(1)
tdSql.checkData(0,0,5)
tdSql.checkData(0,1,5.000000000)
...
...
@@ -357,7 +345,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(log(c1,2)-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(log(c1,2)-0.5) from {dbname}.ct4 where c1=5 ")
tdSql.checkRows(1)
tdSql.checkData(0,0,5)
tdSql.checkData(0,1,5.000000000)
...
...
@@ -365,7 +353,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(log(c1,2)-0.5) from ct4 where c1>log(c1,2) limit 1 ")
tdSql.query(f"select c1,c2 , abs(c1) -0 ,ceil(c1-0.1)-0 ,floor(c1+0.1)-0.1 ,ceil(log(c1,2)-0.5) from {dbname}.ct4 where c1>log(c1,2) limit 1 ")
self.check_result_auto("select c1, c2, c3 , c4, c5 ,c6 from sub1_bound ","select ceil(c1), ceil(c2) ,ceil(c3), ceil(c4), ceil(c5) ,ceil(c6) from sub1_bound")
self.check_result_auto("select c1, c2, c3 , c3, c2 ,c1 from sub1_bound ","select ceil(c1), ceil(c2) ,ceil(c3), ceil(c3), ceil(c2) ,ceil(c1) from sub1_bound")
self.check_result_auto("select ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(c1)))))))))) nest_col_func from sub1_bound;","select ceil(c1) from sub1_bound")
self.check_result_auto(f"select c1, c2, c3 , c4, c5 ,c6 from {dbname}.sub1_bound ",f"select ceil(c1), ceil(c2) ,ceil(c3), ceil(c4), ceil(c5) ,ceil(c6) from {dbname}.sub1_bound")
self.check_result_auto(f"select c1, c2, c3 , c3, c2 ,c1 from {dbname}.sub1_bound ",f"select ceil(c1), ceil(c2) ,ceil(c3), ceil(c3), ceil(c2) ,ceil(c1) from {dbname}.sub1_bound")
self.check_result_auto(f"select ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(ceil(c1)))))))))) nest_col_func from {dbname}.sub1_bound;",f"select ceil(c1) from {dbname}.sub1_bound")
self.check_result_auto(" select c5 from stb1 order by ts ","select ceil(c5) from stb1 order by ts")
self.check_result_auto(" select c5 from stb1 order by tbname ","select ceil(c5) from stb1 order by tbname")
self.check_result_auto(" select c5 from stb1 where c1 > 0 order by tbname ","select ceil(c5) from stb1 where c1 > 0 order by tbname")
self.check_result_auto(" select c5 from stb1 where c1 > 0 order by tbname ","select ceil(c5) from stb1 where c1 > 0 order by tbname")
defsupport_super_table_test(self,dbname="db"):
tdSql.execute(f" use {dbname} ")
self.check_result_auto(f" select c5 from {dbname}.stb1 order by ts ",f"select ceil(c5) from {dbname}.stb1 order by ts")
self.check_result_auto(f" select c5 from {dbname}.stb1 order by tbname ",f"select ceil(c5) from {dbname}.stb1 order by tbname")
self.check_result_auto(f" select c5 from {dbname}.stb1 where c1 > 0 order by tbname ",f"select ceil(c5) from {dbname}.stb1 where c1 > 0 order by tbname")
self.check_result_auto(f" select c5 from {dbname}.stb1 where c1 > 0 order by tbname ",f"select ceil(c5) from {dbname}.stb1 where c1 > 0 order by tbname")
self.check_result_auto(" select t1,c5 from stb1 order by ts ","select ceil(t1), ceil(c5) from stb1 order by ts")
self.check_result_auto(" select t1,c5 from stb1 order by tbname ","select ceil(t1) ,ceil(c5) from stb1 order by tbname")
self.check_result_auto(" select t1,c5 from stb1 where c1 > 0 order by tbname ","select ceil(t1) ,ceil(c5) from stb1 where c1 > 0 order by tbname")
self.check_result_auto(" select t1,c5 from stb1 where c1 > 0 order by tbname ","select ceil(t1) , ceil(c5) from stb1 where c1 > 0 order by tbname")
self.check_result_auto(f" select t1,c5 from {dbname}.stb1 order by ts ",f"select ceil(t1), ceil(c5) from {dbname}.stb1 order by ts")
self.check_result_auto(f" select t1,c5 from {dbname}.stb1 order by tbname ",f"select ceil(t1) ,ceil(c5) from {dbname}.stb1 order by tbname")
self.check_result_auto(f" select t1,c5 from {dbname}.stb1 where c1 > 0 order by tbname ",f"select ceil(t1) ,ceil(c5) from {dbname}.stb1 where c1 > 0 order by tbname")
self.check_result_auto(f" select t1,c5 from {dbname}.stb1 where c1 > 0 order by tbname ",f"select ceil(t1) , ceil(c5) from {dbname}.stb1 where c1 > 0 order by tbname")