add ci case TD-30948
This commit is contained in:
parent
58b44de576
commit
38e66c58eb
|
@ -0,0 +1,183 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from frame.log import *
|
||||||
|
from frame.cases import *
|
||||||
|
from frame.sql import *
|
||||||
|
from frame.caseBase import *
|
||||||
|
from frame import *
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase(TBase):
|
||||||
|
def init(self, conn, logSql, replicaVar=1):
|
||||||
|
tdLog.debug(f"start to excute {__file__}")
|
||||||
|
tdSql.init(conn.cursor(), True)
|
||||||
|
self.dbname = "cast_db"
|
||||||
|
self._datetime_epoch = datetime.datetime.fromtimestamp(0)
|
||||||
|
|
||||||
|
def cast_without_from(self):
|
||||||
|
# int
|
||||||
|
int_num = 2147483648
|
||||||
|
tdSql.query(f"select cast({int_num} as int) re;")
|
||||||
|
tdSql.checkData(0, 0, -int_num)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast(2147483647 as int) re;")
|
||||||
|
tdSql.checkData(0, 0, 2147483647)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({int_num} as int unsigned) re;")
|
||||||
|
tdSql.checkData(0, 0, int_num)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({int_num} as bigint) re;")
|
||||||
|
tdSql.checkData(0, 0, int_num)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({int_num} as bigint unsigned) re;")
|
||||||
|
tdSql.checkData(0, 0, int_num)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({int_num} as smallint) re;")
|
||||||
|
tdSql.checkData(0, 0, 0)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({int_num} as smallint unsigned) re;")
|
||||||
|
tdSql.checkData(0, 0, 0)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({int_num} as tinyint) re;")
|
||||||
|
tdSql.checkData(0, 0, 0)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({int_num} as tinyint unsigned) re;")
|
||||||
|
tdSql.checkData(0, 0, 0)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({int_num} as float) re;")
|
||||||
|
tdSql.checkData(0, 0, '2147483648.0')
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({int_num} as double) re;")
|
||||||
|
tdSql.checkData(0, 0, '2147483648.0')
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({int_num} as bool) as re;")
|
||||||
|
tdSql.checkData(0, 0, True)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({int_num} as timestamp) as re;")
|
||||||
|
tdSql.checkData(0, 0, self._datetime_epoch + datetime.timedelta(seconds=int(int_num) / 1000))
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({int_num} as varchar(10)) as re;")
|
||||||
|
tdSql.checkData(0, 0, int_num)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({int_num} as binary(10)) as re;")
|
||||||
|
tdSql.checkData(0, 0, int_num)
|
||||||
|
|
||||||
|
sql = f"select cast({int_num} as nchar(10));"
|
||||||
|
tdSql.query(sql)
|
||||||
|
tdSql.checkData(0, 0, int_num)
|
||||||
|
|
||||||
|
# float
|
||||||
|
float_1001 = 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766940513200056812714526356082778577134275778960917363717872146844090122495343014654958537105079227968925892354201995611212902196086403441815981362977477130996051870721134999999837297804995105973173281609631859502445945534690830264252230825334468503526193118817101000313783875288658753320838142061717766914730359825349042875546873115956286388235378759375195778185778053217122680661300192787661119590921642019
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({float_1001} as int) as re;")
|
||||||
|
tdSql.checkData(0, 0, 3)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({float_1001} as int unsigned) as re;")
|
||||||
|
tdSql.checkData(0, 0, 3)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({float_1001} as tinyint) as re;")
|
||||||
|
tdSql.checkData(0, 0, 3)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({float_1001} as tinyint unsigned) as re;")
|
||||||
|
tdSql.checkData(0, 0, 3)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({float_1001} as smallint) as re;")
|
||||||
|
tdSql.checkData(0, 0, 3)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({float_1001} as smallint unsigned) as re;")
|
||||||
|
tdSql.checkData(0, 0, 3)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({float_1001} as bigint) as re;")
|
||||||
|
tdSql.checkData(0, 0, 3)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({float_1001} as bigint unsigned) as re;")
|
||||||
|
tdSql.checkData(0, 0, 3)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({float_1001} as double) as re;")
|
||||||
|
tdSql.checkData(0, 0, 3.141592653589793)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({float_1001} as float) as re;")
|
||||||
|
tdSql.checkData(0, 0, 3.1415927)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({float_1001} as bool) as re;")
|
||||||
|
tdSql.checkData(0, 0, True)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({float_1001} as timestamp) as re;")
|
||||||
|
tdSql.checkData(0, 0, self._datetime_epoch + datetime.timedelta(seconds=int(float_1001) / 1000))
|
||||||
|
|
||||||
|
sql = f"select cast({float_1001} as varchar(5)) as re;"
|
||||||
|
tdSql.query(sql)
|
||||||
|
tdSql.checkData(0, 0, 3.141)
|
||||||
|
|
||||||
|
sql = f"select cast({float_1001} as binary(10)) as re;"
|
||||||
|
tdSql.query(sql)
|
||||||
|
tdSql.checkData(0, 0, 3.141593)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast({float_1001} as nchar(5));")
|
||||||
|
tdSql.checkData(0, 0, 3.141)
|
||||||
|
|
||||||
|
# str
|
||||||
|
str_410 = "bcdefghigk" * 41
|
||||||
|
big_str = "bcdefghigk" * 6552
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as binary(3)) as re;")
|
||||||
|
tdSql.checkData(0, 0, "bcd")
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as varchar(2)) as re;")
|
||||||
|
tdSql.checkData(0, 0, "bc")
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as nchar(10));")
|
||||||
|
tdSql.checkData(0, 0, "bcdefghigk")
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('北京' as nchar(10));")
|
||||||
|
tdSql.checkData(0, 0, "北京")
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as int) as re;")
|
||||||
|
tdSql.checkData(0, 0, 0)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as int unsigned) as re;")
|
||||||
|
tdSql.checkData(0, 0, 0)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as tinyint) as re")
|
||||||
|
tdSql.checkData(0, 0, 0)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as tinyint unsigned) as re")
|
||||||
|
tdSql.checkData(0, 0, 0)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as smallint) as re")
|
||||||
|
tdSql.checkData(0, 0, 0)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as smallint unsigned) as re")
|
||||||
|
tdSql.checkData(0, 0, 0)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as bigint) as re")
|
||||||
|
tdSql.checkData(0, 0, 0)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as bigint unsigned) as re")
|
||||||
|
tdSql.checkData(0, 0, 0)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as float) as re;")
|
||||||
|
tdSql.checkData(0, 0, 0.0000000)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as double) as re;")
|
||||||
|
tdSql.checkData(0, 0, 0.000000000000000)
|
||||||
|
|
||||||
|
tdSql.query(f"select cast('{str_410}' as bool) as re")
|
||||||
|
tdSql.checkData(0, 0, False)
|
||||||
|
|
||||||
|
tdSql.query( f"select cast('{str_410}' as timestamp) as re")
|
||||||
|
tdSql.checkData(0, 0, "1970-01-01 08:00:00.000")
|
||||||
|
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
# self.prepare_data()
|
||||||
|
# self.all_test()
|
||||||
|
# tdSql.execute(f"flush database {self.dbname}")
|
||||||
|
# self.all_test()
|
||||||
|
self.cast_without_from()
|
||||||
|
|
||||||
|
tdLog.success(f"{__file__} successfully executed")
|
||||||
|
|
||||||
|
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
|
@ -36,7 +36,7 @@ class TDTestCase(TBase):
|
||||||
"create table db.st(ts timestamp, age int) tags(area tinyint);",
|
"create table db.st(ts timestamp, age int) tags(area tinyint);",
|
||||||
"insert into db.t1 using db.st tags(100) values('2024-01-01 10:00:01', 1);",
|
"insert into db.t1 using db.st tags(100) values('2024-01-01 10:00:01', 1);",
|
||||||
"insert into db.t2 using db.st tags(110) values('2024-01-01 10:00:02', 2);",
|
"insert into db.t2 using db.st tags(110) values('2024-01-01 10:00:02', 2);",
|
||||||
"insert into db.t3 using db.st tags(3) values('2024-01-01 10:00:03', 3);"
|
"insert into db.t3 using db.st tags(3) values('2024-01-01 10:00:03', 3);",
|
||||||
]
|
]
|
||||||
tdSql.executes(sqls)
|
tdSql.executes(sqls)
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ class TDTestCase(TBase):
|
||||||
results = [
|
results = [
|
||||||
["2024-01-01 10:00:01", 1, 100],
|
["2024-01-01 10:00:01", 1, 100],
|
||||||
["2024-01-01 10:00:02", 2, 110],
|
["2024-01-01 10:00:02", 2, 110],
|
||||||
["2024-01-01 10:00:03", 3, 3]
|
["2024-01-01 10:00:03", 3, 3],
|
||||||
]
|
]
|
||||||
tdSql.checkDataMem(sql, results)
|
tdSql.checkDataMem(sql, results)
|
||||||
|
|
||||||
|
@ -99,11 +99,12 @@ class TDTestCase(TBase):
|
||||||
for i in range(1, 10):
|
for i in range(1, 10):
|
||||||
new_ts = base_ts + i * 1000
|
new_ts = base_ts + i * 1000
|
||||||
num = i * 100
|
num = i * 100
|
||||||
|
v1, v2 = i * 10, i * 11
|
||||||
sqls = [
|
sqls = [
|
||||||
f"insert into ntb1 values({new_ts}, 'nihao{num}', {10*i}, {10*i}, {10*i});",
|
f"insert into ntb1 values({new_ts}, 'nihao{num}', {v1}, {v1}, {v1});",
|
||||||
f"insert into ntb1 values({new_ts + 1}, 'nihao{num + 1}', NULL, NULL, NULL);",
|
f"insert into ntb1 values({new_ts + 1}, 'nihao{num + 1}', NULL, NULL, NULL);",
|
||||||
f"delete from ntb1 where ts = {new_ts};",
|
f"delete from ntb1 where ts = {new_ts};",
|
||||||
f"insert into ntb1 values({new_ts + 2}, 'nihao{num + 2}', {11*i}, {11*i}, {11*i});",
|
f"insert into ntb1 values({new_ts + 2}, 'nihao{num + 2}', {v2}, {v2}, {v2});",
|
||||||
]
|
]
|
||||||
tdSql.executes(sqls)
|
tdSql.executes(sqls)
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
,,n,army,python3 ./test.py -f s3/s3Basic.py -N 3
|
,,n,army,python3 ./test.py -f s3/s3Basic.py -N 3
|
||||||
,,y,army,./pytest.sh python3 ./test.py -f cluster/snapshot.py -N 3 -L 3 -D 2
|
,,y,army,./pytest.sh python3 ./test.py -f cluster/snapshot.py -N 3 -L 3 -D 2
|
||||||
,,y,army,./pytest.sh python3 ./test.py -f query/function/test_func_elapsed.py
|
,,y,army,./pytest.sh python3 ./test.py -f query/function/test_func_elapsed.py
|
||||||
|
,,y,army,./pytest.sh python3 ./test.py -f query/function/cast.py
|
||||||
,,y,army,./pytest.sh python3 ./test.py -f query/test_join.py
|
,,y,army,./pytest.sh python3 ./test.py -f query/test_join.py
|
||||||
,,y,army,./pytest.sh python3 ./test.py -f query/test_compare.py
|
,,y,army,./pytest.sh python3 ./test.py -f query/test_compare.py
|
||||||
,,y,army,./pytest.sh python3 ./test.py -f insert/test_column_tag_boundary.py
|
,,y,army,./pytest.sh python3 ./test.py -f insert/test_column_tag_boundary.py
|
||||||
|
|
Loading…
Reference in New Issue