提交 6cff0718 编写于 作者: J jiacy-jcy

update to_iso8601.py

上级 9193eaf8
...@@ -3,7 +3,7 @@ from time import sleep ...@@ -3,7 +3,7 @@ from time import sleep
from util.log import * from util.log import *
from util.sql import * from util.sql import *
from util.cases import * from util.cases import *
import os
...@@ -12,28 +12,54 @@ class TDTestCase: ...@@ -12,28 +12,54 @@ class TDTestCase:
def init(self, conn, logSql): def init(self, conn, logSql):
tdLog.debug(f"start to excute {__file__}") tdLog.debug(f"start to excute {__file__}")
tdSql.init(conn.cursor()) tdSql.init(conn.cursor())
self.rowNum = 10
def run(self): # sourcery skip: extract-duplicate-method self.ts = 1640966400000 # 2022-1-1 00:00:00.000
tdSql.prepare() def check_customize_param_ms(self):
# get system timezone # today_date = datetime.datetime.strptime(
today_date = datetime.datetime.strptime( # datetime.datetime.now().strftime("%Y-%m-%d"), "%Y-%m-%d")
datetime.datetime.now().strftime("%Y-%m-%d"), "%Y-%m-%d") # print(today_date)
tdLog.printNoPrefix("==========step1:create tables==========") time_zone = (os.popen('timedatectl | grep zone').read().strip().split(',')[1].lstrip())[0:5]
print(time_zone)
tdSql.execute('create database db1 precision "ms"')
tdSql.execute('use db1')
tdSql.execute( tdSql.execute(
'''create table if not exists ntb 'create table if not exists ntb(ts timestamp, c1 int, c2 timestamp)'
(ts timestamp, c1 int, c2 float,c3 double,c4 timestamp)
'''
)
tdSql.execute(
'''create table if not exists stb
(ts timestamp, c1 int, c2 float,c3 double,c4 timestamp) tags(t0 int)
'''
)
tdSql.execute(
'''create table if not exists stb_1 using stb tags(100)
'''
) )
for i in range(self.rowNum):
tdSql.execute("insert into ntb values(%d, %d, %d)"
% (self.ts + i, i + 1, self.ts + i))
tdSql.query('select to_iso8601(ts) from ntb')
print(tdSql.queryResult)
for i in range(self.rowNum):
tdSql.checkEqual(tdSql.queryResult[i][0],f'2022-01-01T00:00:00.00{i}{time_zone}')
for j in ['z','Z']:
tdSql.query('select to_iso8601(ts,"{j}") from ntb')
print(tdSql.queryResult)
for i in range(self.rowNum):
tdSql.checkEqual(tdSql.queryResult[i][0],f'2022-01-01T00:00:00.00{i}{time_zone}')
timezone_list = ['+0000','+0100','+0200','+0300','+0330','+0400','+0500','+0530','+0600','+0700','+0800','+0900','+1000','+1100','+1200',\
'+00','+01','+02','+03','+04','+05','+06','+07','+08','+09','+10','+11','+12',\
'+00:00','+01:00','+02:00','+03:00','+03:30','+04:00','+05:00','+05:30','+06:00','+07:00','+08:00','+09:00','+10:00','+11:00','+12:00',\
'-0000','-0100','-0200','-0300','-0400','-0500','-0600','-0700','-0800','-0900','-1000','-1100','-1200',\
'-00','-01','-02','-03','-04','-05','-06','-07','-08','-09','-10','-11','-12',\
'-00:00','-01:00','-02:00','-03:00','-04:00','-05:00','-06:00','-07:00','-08:00','-09:00','-10:00','-11:00','-12:00']
for j in timezone_list:
tdSql.query(f'select to_iso8601(ts,"{j}") from ntb')
for i in range(self.rowNum):
tdSql.checkEqual(tdSql.queryResult[i][0],f'2022-01-01T00:00:00.00{i}{time_zone}')
error_param_list = [0,100,5,'a','+13','+0101','+00:01','-0001','-13','-00:01']
for i in error_param_list:
tdSql.error(f'select to_iso8601(ts,"{error_param_list}") from ntb')
def check_base_function(self):
tdSql.prepare()
tdLog.printNoPrefix("==========step1:create tables==========")
tdSql.execute('create table if not exists ntb(ts timestamp, c1 int, c2 float,c3 double,c4 timestamp)')
tdSql.execute('create table if not exists stb(ts timestamp, c1 int, c2 float,c3 double,c4 timestamp) tags(t0 int)')
tdSql.execute('create table if not exists stb_1 using stb tags(100)')
tdLog.printNoPrefix("==========step2:insert data==========") tdLog.printNoPrefix("==========step2:insert data==========")
tdSql.execute('insert into ntb values(now,1,1.55,100.555555,today())("2020-1-1 00:00:00",10,11.11,99.999999,now())(today(),3,3.333,333.333333,now())') tdSql.execute('insert into ntb values(now,1,1.55,100.555555,today())("2020-1-1 00:00:00",10,11.11,99.999999,now())(today(),3,3.333,333.333333,now())')
...@@ -67,53 +93,33 @@ class TDTestCase: ...@@ -67,53 +93,33 @@ class TDTestCase:
tdSql.error("select to_iso8601(timezone()) from ntb") tdSql.error("select to_iso8601(timezone()) from ntb")
tdSql.error("select to_iso8601('abc') from ntb") tdSql.error("select to_iso8601('abc') from ntb")
tdSql.query("select to_iso8601(today()) *null from ntb") for i in ['+','-','*','/']:
tdSql.checkRows(3) tdSql.query(f"select to_iso8601(today()) {i}null from ntb")
tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) +null from ntb")
tdSql.checkRows(3)
tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) -null from ntb")
tdSql.checkRows(3)
tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) /null from ntb")
tdSql.checkRows(3)
tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) *null from db.ntb")
tdSql.checkRows(3)
tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) +null from db.ntb")
tdSql.checkRows(3)
tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) -null from db.ntb")
tdSql.checkRows(3) tdSql.checkRows(3)
tdSql.checkData(0,0,None) tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) /null from db.ntb") tdSql.query(f"select to_iso8601(today()) {i}null from db.ntb")
tdSql.checkRows(3) tdSql.checkRows(3)
tdSql.checkData(0,0,None) tdSql.checkData(0,0,None)
# tdSql.query("select to_iso8601(-1) from ntb")
tdSql.query("select to_iso8601(9223372036854775807) from ntb") tdSql.query("select to_iso8601(9223372036854775807) from ntb")
tdSql.checkRows(3) tdSql.checkRows(3)
# bug TD-14896 # bug TD-15207
# tdSql.query("select to_iso8601(10000000000) from ntb") # tdSql.query("select to_iso8601(10000000000) from ntb")
# tdSql.checkData(0,0,None) # tdSql.checkData(0,0,None)
# tdSql.query("select to_iso8601(-1) from ntb") # tdSql.query("select to_iso8601(-1) from ntb")
# tdSql.checkRows(3) # tdSql.checkRows(3)
# tdSql.query("select to_iso8601(-10000000000) from ntb") # tdSql.query("select to_iso8601(-10000000000) from ntb")
# tdSql.checkData(0,0,None) # tdSql.checkData(0,0,None)
tdSql.error("select to_iso8601(1.5) from ntb") err_param = [1.5,'a','c2']
tdSql.error("select to_iso8601(1.5) from db.ntb") for i in err_param:
tdSql.error("select to_iso8601('a') from ntb") tdSql.error(f"select to_iso8601({i}) from ntb")
tdSql.error("select to_iso8601(c2) from ntb") tdSql.error(f"select to_iso8601({i}) from db.ntb")
tdSql.query("select to_iso8601(now) from stb") tdSql.query("select to_iso8601(now) from stb")
tdSql.checkRows(3)
tdSql.query("select to_iso8601(now()) from stb") tdSql.query("select to_iso8601(now()) from stb")
tdSql.checkRows(3) tdSql.checkRows(3)
for i in range(1,10):
tdSql.query("select to_iso8601(1) from stb") tdSql.query("select to_iso8601(1) from stb")
tdSql.checkData(0,0,"1970-01-01T08:00:01+0800") for i in range(1,10):
i+=1 tdSql.checkData(i,0,"1970-01-01T08:00:01+0800")
sleep(0.2)
tdSql.checkRows(3) tdSql.checkRows(3)
tdSql.query("select to_iso8601(ts) from stb") tdSql.query("select to_iso8601(ts) from stb")
tdSql.checkRows(3) tdSql.checkRows(3)
...@@ -121,38 +127,21 @@ class TDTestCase: ...@@ -121,38 +127,21 @@ class TDTestCase:
tdSql.checkRows(3) tdSql.checkRows(3)
tdSql.query("select to_iso8601(ts)+'a' from stb ") tdSql.query("select to_iso8601(ts)+'a' from stb ")
tdSql.checkRows(3) tdSql.checkRows(3)
for i in ['+','-','*','/']:
tdSql.query("select to_iso8601(today()) *null from stb") tdSql.query("select to_iso8601(today()) {i}null from stb")
tdSql.checkRows(3)
tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) +null from stb")
tdSql.checkRows(3)
tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) -null from stb")
tdSql.checkRows(3)
tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) /null from stb")
tdSql.checkRows(3)
tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) *null from db.stb")
tdSql.checkRows(3)
tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) +null from db.stb")
tdSql.checkRows(3)
tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) -null from db.stb")
tdSql.checkRows(3) tdSql.checkRows(3)
tdSql.checkData(0,0,None) tdSql.checkData(0,0,None)
tdSql.query("select to_iso8601(today()) /null from db.stb") tdSql.query("select to_iso8601(today()) {i}null from db.stb")
tdSql.checkRows(3) tdSql.checkRows(3)
tdSql.checkData(0,0,None) tdSql.checkData(0,0,None)
# bug TD-14896 # bug TD-15207
# tdSql.query("select to_iso8601(-1) from ntb") # tdSql.query("select to_iso8601(-1) from ntb")
# tdSql.checkRows(3) # tdSql.checkRows(3)
def run(self): # sourcery skip: extract-duplicate-method
self.check_base_function()
self.check_customize_param_ms()
def stop(self): def stop(self):
tdSql.close() tdSql.close()
tdLog.success(f"{__file__} successfully executed") tdLog.success(f"{__file__} successfully executed")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册