TDengine/tests/develop-test/2-query/function_to_iso8601.py

1542 lines
79 KiB
Python
Raw Permalink Normal View History

###################################################################
# Copyright (c) 2021 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 -*-
import sys
from util.log import *
from util.cases import *
from util.sql import *
class TDTestCase:
def caseDescription(self):
'''
case1<Ganlin Zhao>: [TD-11220]<feature>: time related functions
'''
return
def init(self, conn, logSql):
tdLog.debug("start to execute %s" % __file__)
tdSql.init(conn.cursor(), logSql)
def getBuildPath(self):
selfPath = os.path.dirname(os.path.realpath(__file__))
if ("community" in selfPath):
projPath = selfPath[:selfPath.find("community")]
else:
projPath = selfPath[:selfPath.find("tests")]
for root, dirs, files in os.walk(projPath):
if ("taosd" in files):
rootRealPath = os.path.dirname(os.path.realpath(root))
if ("packaging" not in rootRealPath):
buildPath = root[:len(root) - len("/build/bin")]
break
return buildPath
def getISOTimeFmt(self, epoch, precision = None, delta = datetime.timedelta(hours = 8)):
if precision == "m":
time = datetime.datetime.fromtimestamp(epoch / 1000, tz = datetime.timezone(delta))
time_str = time.strftime("%Y-%m-%dT%H:%M:%S.%f%z")
tz = time_str[-5:]
return time_str[:-8] + tz
elif precision == "u":
time = datetime.datetime.fromtimestamp(epoch / 1000000, tz = datetime.timezone(delta))
return time.strftime("%Y-%m-%dT%H:%M:%S.%f%z")
elif precision == "n":
time = datetime.datetime.fromtimestamp(epoch / 1000000000, tz = datetime.timezone(delta))
time_str = time.strftime("%Y-%m-%dT%H:%M:%S.%f%z")
tz = time_str[-5:]
nanoDigits = str(epoch)[-3:]
return time_str[:-5] + nanoDigits + tz
else:
time = datetime.datetime.fromtimestamp(epoch, tz = datetime.timezone(delta))
return time.strftime("%Y-%m-%dT%H:%M:%S%z")
def checkTimestampEqual(self, elm, expect_elm):
caller = inspect.getframeinfo(inspect.stack()[1][0])
if len(elm) == len(expect_elm):
delta = abs(int(elm[-1]) - int(expect_elm[-1]))
if delta == 1: #ignore 1 second diff
new_elm = expect_elm[0:-1] + elm[-1]
else:
new_elm = expect_elm;
if elm == new_elm:
tdLog.info("sql:%s, elm:%s == expect_elm:%s" % (tdSql.sql, elm, new_elm))
else:
args = (caller.filename, caller.lineno, tdSql.sql, elm, new_elm)
tdLog.exit("%s(%d) failed: sql:%s, elm:%s != expect_elm:%s" % args)
else:
args = (caller.filename, caller.lineno, tdSql.sql, elm, expect_elm)
tdLog.exit("%s(%d) failed: sql:%s, elm:%s != expect_elm:%s" % args)
def run(self):
print("running {}".format(__file__))
#Prepare data
#db precision "ms"
tdSql.execute("drop database if exists db_m")
tdSql.execute("create database if not exists db_m")
tdSql.execute('use db_m')
tdSql.execute("create stable stb (ts timestamp, col_timestamp timestamp, col_tinyint tinyint, col_smallint smallint, col_int int, col_bigint bigint, col_float float, col_double double, col_bool bool, col_binary binary(10), col_nchar nchar(10)) \
tags(tag_timestamp timestamp, tag_tinyint tinyint, tag_smallint smallint, tag_int int, tag_bigint bigint, tag_float float, tag_double double, tag_bool bool, tag_binary binary(10), tag_nchar nchar(10));")
tdSql.execute("create table ctb using stb tags ('2022-02-02 02:00:00', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("create table tb (ts timestamp, col_timestamp timestamp, col_tinyint tinyint, col_smallint smallint, col_int int, col_bigint bigint, col_float float, col_double double, col_bool bool, col_binary binary(10), col_nchar nchar(10));")
tdSql.execute("insert into ctb values ('2022-02-02 02:00:00', '2022-02-02 02:00:00', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into tb values ('2022-02-02 02:00:00', '2022-02-02 02:00:00', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
#db precision "us"
tdSql.execute("drop database if exists db_u")
tdSql.execute("create database if not exists db_u precision 'us'")
tdSql.execute('use db_u')
tdSql.execute("create stable stb (ts timestamp, col_timestamp timestamp, col_tinyint tinyint, col_smallint smallint, col_int int, col_bigint bigint, col_float float, col_double double, col_bool bool, col_binary binary(10), col_nchar nchar(10)) \
tags(tag_timestamp timestamp, tag_tinyint tinyint, tag_smallint smallint, tag_int int, tag_bigint bigint, tag_float float, tag_double double, tag_bool bool, tag_binary binary(10), tag_nchar nchar(10));")
tdSql.execute("create table ctb using stb tags ('2022-02-02 02:00:00', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("create table tb (ts timestamp, col_timestamp timestamp, col_tinyint tinyint, col_smallint smallint, col_int int, col_bigint bigint, col_float float, col_double double, col_bool bool, col_binary binary(10), col_nchar nchar(10));")
tdSql.execute("insert into ctb values ('2022-02-02 02:00:00', '2022-02-02 02:00:00', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into tb values ('2022-02-02 02:00:00', '2022-02-02 02:00:00', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
#db precision "ns"
tdSql.execute("drop database if exists db_n")
tdSql.execute("create database if not exists db_n precision 'ns'")
tdSql.execute('use db_n')
tdSql.execute("create stable stb (ts timestamp, col_timestamp timestamp, col_tinyint tinyint, col_smallint smallint, col_int int, col_bigint bigint, col_float float, col_double double, col_bool bool, col_binary binary(10), col_nchar nchar(10)) \
tags(tag_timestamp timestamp, tag_tinyint tinyint, tag_smallint smallint, tag_int int, tag_bigint bigint, tag_float float, tag_double double, tag_bool bool, tag_binary binary(10), tag_nchar nchar(10));")
tdSql.execute("create table ctb using stb tags ('2022-02-02 02:00:00', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("create table tb (ts timestamp, col_timestamp timestamp, col_tinyint tinyint, col_smallint smallint, col_int int, col_bigint bigint, col_float float, col_double double, col_bool bool, col_binary binary(10), col_nchar nchar(10));")
tdSql.execute("insert into ctb values ('2022-02-02 02:00:00', '2022-02-02 02:00:00', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into tb values ('2022-02-02 02:00:00', '2022-02-02 02:00:00', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
#execute query
print("============== STEP 1: select to_iso8601() with milliesecond db precision ================== ")
tdSql.execute('use db_m')
#epoch as input
ts = 0
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
ts = 2743200
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
ts = 633895200
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
ts = 1643738400
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
ts = 1643738400123
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "m"))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "m"))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "m"))
ts = 1643738400000123
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "u"))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "u"))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "u"))
ts = 1643738400000000123
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "n"))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "n"))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "n"))
#timestamp column as input
tdSql.execute("insert into ctb values ('2022-02-02 02:00:00.001', '2022-02-02 02:00:00.001', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into ctb values ('2022-02-02 02:00:00.002', '2022-02-02 02:00:00.002', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into tb values ('2022-02-02 02:00:00.001', '2022-02-02 02:00:00.001', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into tb values ('2022-02-02 02:00:00.002', '2022-02-02 02:00:00.002', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.query("select to_iso8601(ts) from tb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.002+0800")
tdSql.query("select to_iso8601(ts) from ctb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.002+0800")
tdSql.query("select to_iso8601(ts) from stb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.002+0800")
tdSql.query("select to_iso8601(col_timestamp) from tb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.002+0800")
tdSql.query("select to_iso8601(col_timestamp) from ctb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.002+0800")
tdSql.query("select to_iso8601(col_timestamp) from stb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.002+0800")
print("============== STEP 2: select to_iso8601() with microsecond db precision ================== ")
tdSql.execute('use db_u')
#epoch as input
ts = 0
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
ts = 2743200
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
ts = 633895200
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
ts = 1643738400
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
ts = 1643738400123
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "m"))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "m"))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "m"))
ts = 1643738400000123
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "u"))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "u"))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "u"))
ts = 1643738400000000123
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "n"))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "n"))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "n"))
#timestamp column as input
tdSql.execute("insert into ctb values ('2022-02-02 02:00:00.000001', '2022-02-02 02:00:00.000001', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into ctb values ('2022-02-02 02:00:00.000002', '2022-02-02 02:00:00.000002', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into tb values ('2022-02-02 02:00:00.000001', '2022-02-02 02:00:00.000001', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into tb values ('2022-02-02 02:00:00.000002', '2022-02-02 02:00:00.000002', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.query("select to_iso8601(ts) from tb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.000001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.000002+0800")
tdSql.query("select to_iso8601(ts) from ctb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.000001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.000002+0800")
tdSql.query("select to_iso8601(ts) from stb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.000001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.000002+0800")
tdSql.query("select to_iso8601(col_timestamp) from tb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.000001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.000002+0800")
tdSql.query("select to_iso8601(col_timestamp) from ctb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.000001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.000002+0800")
tdSql.query("select to_iso8601(col_timestamp) from stb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.000001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.000002+0800")
print("============== STEP 3: select to_iso8601() with nanosecond db precision ================== ")
tdSql.execute('use db_n')
ts = 0
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
ts = 2743200
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
ts = 633895200
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
ts = 1643738400
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
ts = 1643738400123
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "m"))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "m"))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "m"))
ts = 1643738400000123
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "u"))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "u"))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "u"))
ts = 1643738400000000123
tdSql.query("select to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "n"))
tdSql.query("select to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "n"))
tdSql.query("select to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts, "n"))
#timestamp column as input
tdSql.execute("insert into ctb values ('2022-02-02 02:00:00.000000001', '2022-02-02 02:00:00.000000001', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into ctb values ('2022-02-02 02:00:00.000000002', '2022-02-02 02:00:00.000000002', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into tb values ('2022-02-02 02:00:00.000000001', '2022-02-02 02:00:00.000000001', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into tb values ('2022-02-02 02:00:00.000000002', '2022-02-02 02:00:00.000000002', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.query("select to_iso8601(ts) from tb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000000000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.000000001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.000000002+0800")
tdSql.query("select to_iso8601(ts) from ctb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000000000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.000000001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.000000002+0800")
tdSql.query("select to_iso8601(ts) from stb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000000000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.000000001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.000000002+0800")
tdSql.query("select to_iso8601(col_timestamp) from tb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000000000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.000000001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.000000002+0800")
tdSql.query("select to_iso8601(col_timestamp) from ctb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000000000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.000000001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.000000002+0800")
tdSql.query("select to_iso8601(col_timestamp) from stb")
tdSql.checkRows(3)
tdSql.checkData(0, 0, "2022-02-02T02:00:00.000000000+0800")
tdSql.checkData(1, 0, "2022-02-02T02:00:00.000000001+0800")
tdSql.checkData(2, 0, "2022-02-02T02:00:00.000000002+0800")
print("============== STEP 4: select to_iso8601() other use cases ================== ")
tdSql.execute("drop database if exists db_m")
tdSql.execute("create database if not exists db_m")
tdSql.execute('use db_m')
tdSql.execute("create stable stb (ts timestamp, col_timestamp timestamp, col_tinyint tinyint, col_smallint smallint, col_int int, col_bigint bigint, col_float float, col_double double, col_bool bool, col_binary binary(10), col_nchar nchar(10)) \
tags(tag_timestamp timestamp, tag_tinyint tinyint, tag_smallint smallint, tag_int int, tag_bigint bigint, tag_float float, tag_double double, tag_bool bool, tag_binary binary(10), tag_nchar nchar(10));")
tdSql.execute("create table ctb using stb tags ('2022-02-02 02:00:00', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("create table tb (ts timestamp, col_timestamp timestamp, col_tinyint tinyint, col_smallint smallint, col_int int, col_bigint bigint, col_float float, col_double double, col_bool bool, col_binary binary(10), col_nchar nchar(10));")
tdSql.execute("insert into ctb values ('2022-02-02 02:00:00', '2022-02-02 02:00:00', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into tb values ('2022-02-02 02:00:00', '2022-02-02 02:00:00', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
ts = 1643738400
#to_iso8601(), col
tdSql.query("select to_iso8601(%d),col_bigint from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1)
tdSql.query("select to_iso8601(%d),col_bigint from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1)
tdSql.query("select to_iso8601(%d),col_bigint from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1)
tdSql.query("select to_iso8601(%d),col_bool from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, True)
tdSql.query("select to_iso8601(%d),col_bool from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, True)
tdSql.query("select to_iso8601(%d),col_bool from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, True)
tdSql.query("select to_iso8601(%d),col_float from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1.0)
tdSql.query("select to_iso8601(%d),col_float from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1.0)
tdSql.query("select to_iso8601(%d),col_float from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1.0)
tdSql.query("select to_iso8601(%d),col_binary from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, "abc")
tdSql.query("select to_iso8601(%d),col_binary from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, "abc")
tdSql.query("select to_iso8601(%d),col_binary from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, "abc")
tdSql.query("select ts, col_smallint, col_float, to_iso8601(%d), col_binary, col_timestamp from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(6)
res = tdSql.getData(0, 0)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
tdSql.checkData(0, 1, 1)
tdSql.checkData(0, 2, 1.0)
tdSql.checkData(0, 3, self.getISOTimeFmt(ts))
tdSql.checkData(0, 4, "abc")
res = tdSql.getData(0, 5)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
tdSql.query("select ts, col_smallint, col_float, to_iso8601(%d), col_binary, col_timestamp from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(6)
res = tdSql.getData(0, 0)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
tdSql.checkData(0, 1, 1)
tdSql.checkData(0, 2, 1.0)
tdSql.checkData(0, 3, self.getISOTimeFmt(ts))
tdSql.checkData(0, 4, "abc")
res = tdSql.getData(0, 5)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
tdSql.query("select ts, col_smallint, col_float, to_iso8601(%d), col_binary, col_timestamp from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(6)
res = tdSql.getData(0, 0)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
tdSql.checkData(0, 1, 1)
tdSql.checkData(0, 2, 1.0)
tdSql.checkData(0, 3, self.getISOTimeFmt(ts))
tdSql.checkData(0, 4, "abc")
res = tdSql.getData(0, 5)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
#to_iso8601(%d), tag
tdSql.query("select to_iso8601(%d),tag_bigint from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1)
tdSql.query("select to_iso8601(%d),tag_bigint from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1)
tdSql.query("select to_iso8601(%d),tag_bool from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, True)
tdSql.query("select to_iso8601(%d),tag_bool from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, True)
tdSql.query("select to_iso8601(%d),tag_float from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1.0)
tdSql.query("select to_iso8601(%d),tag_float from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1.0)
tdSql.query("select to_iso8601(%d),tag_binary from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, "abc")
tdSql.query("select to_iso8601(%d),tag_binary from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, "abc")
tdSql.query("select tag_smallint, tag_float, to_iso8601(%d), tag_binary, tag_timestamp from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(5)
tdSql.checkData(0, 0, 1)
tdSql.checkData(0, 1, 1.0)
tdSql.checkData(0, 2, self.getISOTimeFmt(ts))
tdSql.checkData(0, 3, "abc")
res = tdSql.getData(0, 4)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
tdSql.query("select tag_smallint, tag_float, to_iso8601(%d), tag_binary, tag_timestamp from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(5)
tdSql.checkData(0, 0, 1)
tdSql.checkData(0, 1, 1.0)
tdSql.checkData(0, 2, self.getISOTimeFmt(ts))
tdSql.checkData(0, 3, "abc")
res = tdSql.getData(0, 4)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
#to_iso8601(%d),tbname
tdSql.query("select to_iso8601(%d),tbname from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, "tb")
tdSql.query("select to_iso8601(%d),tbname from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, "ctb")
tdSql.query("select to_iso8601(%d),tbname from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, "ctb")
#to_iso8601(%d),_c0/_C0
tdSql.query("select to_iso8601(%d),_c0 from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
res = tdSql.getData(0, 1)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
tdSql.query("select to_iso8601(%d),_c0 from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
res = tdSql.getData(0, 1)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
tdSql.query("select to_iso8601(%d),_c0 from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
res = tdSql.getData(0, 1)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
tdSql.query("select _C0,to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
res = tdSql.getData(0, 0)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
tdSql.checkData(0, 1, self.getISOTimeFmt(ts))
tdSql.query("select _C0,to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
res = tdSql.getData(0, 0)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
tdSql.checkData(0, 1, self.getISOTimeFmt(ts))
tdSql.query("select _C0,to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
res = tdSql.getData(0, 0)
self.checkTimestampEqual(str(res), "2022-02-02 02:00:00")
tdSql.checkData(0, 1, self.getISOTimeFmt(ts))
#to_iso8601(),func()
#can only be used with scalar functions together
tdSql.query("select to_iso8601(%d),ceil(col_bigint) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1)
tdSql.query("select to_iso8601(%d),ceil(col_bigint) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1)
tdSql.query("select to_iso8601(%d),ceil(col_bigint) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1)
tdSql.query("select to_iso8601(%d),round(col_float) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1.0)
tdSql.query("select to_iso8601(%d),round(col_float) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1.0)
tdSql.query("select to_iso8601(%d),round(col_float) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1.0)
tdSql.query("select to_iso8601(%d),floor(1.5) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1.0)
tdSql.query("select to_iso8601(%d),floor(1.5) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1.0)
tdSql.query("select to_iso8601(%d),floor(1.5) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, 1.0)
tdSql.query("select abs(-1),to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, 1)
tdSql.checkData(0, 1, self.getISOTimeFmt(ts))
tdSql.query("select abs(-1),to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, 1)
tdSql.checkData(0, 1, self.getISOTimeFmt(ts))
tdSql.query("select abs(-1),to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, 1)
tdSql.checkData(0, 1, self.getISOTimeFmt(ts))
tdSql.query("select pow(2,2),to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, 4.0)
tdSql.checkData(0, 1, self.getISOTimeFmt(ts))
tdSql.query("select pow(2,2),to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, 4.0)
tdSql.checkData(0, 1, self.getISOTimeFmt(ts))
tdSql.query("select pow(2,2),to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(2)
tdSql.checkData(0, 0, 4.0)
tdSql.checkData(0, 1, self.getISOTimeFmt(ts))
#to_iso8601(%d),to_iso8601(%d)
tdSql.query("select to_iso8601(%d),to_iso8601(%d),to_iso8601(%d) from tb" %(ts, ts, ts))
tdSql.checkRows(1)
tdSql.checkCols(3)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, self.getISOTimeFmt(ts))
tdSql.checkData(0, 2, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d),to_iso8601(%d),to_iso8601(%d) from ctb" %(ts, ts, ts))
tdSql.checkRows(1)
tdSql.checkCols(3)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, self.getISOTimeFmt(ts))
tdSql.checkData(0, 2, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d),to_iso8601(%d),to_iso8601(%d) from stb" %(ts, ts, ts))
tdSql.checkRows(1)
tdSql.checkCols(3)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(0, 1, self.getISOTimeFmt(ts))
tdSql.checkData(0, 2, self.getISOTimeFmt(ts))
#to_iso8601(%d),constant
tdSql.query("select 123,123.0,true,'123',to_iso8601(%d) from tb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(5)
tdSql.checkData(0, 0, 123)
tdSql.checkData(0, 1, 123.0)
tdSql.checkData(0, 2, True)
tdSql.checkData(0, 3, '123')
tdSql.checkData(0, 4, self.getISOTimeFmt(ts))
tdSql.query("select 123,123.0,true,'123',to_iso8601(%d) from ctb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(5)
tdSql.checkData(0, 0, 123)
tdSql.checkData(0, 1, 123.0)
tdSql.checkData(0, 2, True)
tdSql.checkData(0, 3, '123')
tdSql.checkData(0, 4, self.getISOTimeFmt(ts))
tdSql.query("select 123,123.0,true,'123',to_iso8601(%d) from stb" %ts)
tdSql.checkRows(1)
tdSql.checkCols(5)
tdSql.checkData(0, 0, 123)
tdSql.checkData(0, 1, 123.0)
tdSql.checkData(0, 2, True)
tdSql.checkData(0, 3, '123')
tdSql.checkData(0, 4, self.getISOTimeFmt(ts))
#insert some more data
tdSql.execute("insert into ctb values ('2022-02-02 02:00:00.001', '2022-02-02 02:00:00.001', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into tb values ('2022-02-02 02:00:00.001', '2022-02-02 02:00:00.001', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into ctb values ('2022-02-02 02:00:00.002', '2022-02-02 02:00:00.002', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("insert into tb values ('2022-02-02 02:00:00.002', '2022-02-02 02:00:00.002', 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
#order by
tdSql.query("select to_iso8601(%d) from tb order by ts" %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb order by ts" %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb order by ts" %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from tb order by ts desc" %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb order by ts desc" %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb order by ts desc" %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
#limit/offset
tdSql.query("select to_iso8601(%d) from tb limit 2" %ts)
tdSql.checkRows(2)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb limit 2" %ts)
tdSql.checkRows(2)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb limit 2" %ts)
tdSql.checkRows(2)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from tb limit 2 offset 1" %ts)
tdSql.checkRows(2)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb limit 2 offset 1" %ts)
tdSql.checkRows(2)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb limit 2 offset 1" %ts)
tdSql.checkRows(2)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from tb limit 1,2" %ts)
tdSql.checkRows(2)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from ctb limit 1,2" %ts)
tdSql.checkRows(2)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.query("select to_iso8601(%d) from stb limit 1,2" %ts)
tdSql.checkRows(2)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
#join
tdSql.execute("create stable stb1 (col_timestamp timestamp, col_tinyint tinyint, col_smallint smallint, col_int int, col_bigint bigint, col_float float, col_double double, col_bool bool, col_binary binary(10), col_nchar nchar(10)) \
tags(tag_timestamp timestamp, tag_tinyint tinyint, tag_smallint smallint, tag_int int, tag_bigint bigint, tag_float float, tag_double double, tag_bool bool, tag_binary binary(10), tag_nchar nchar(10));")
tdSql.execute("create table ctb1 using stb1 tags (now, 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("create table tb1 (col_timestamp timestamp, col_tinyint tinyint, col_smallint smallint, col_int int, col_bigint bigint, col_float float, col_double double, col_bool bool, col_binary binary(10), col_nchar nchar(10));")
tdSql.execute("insert into ctb1 values ('2022-01-01 00:00:00.000', -9, -9, -9, -9, -9.5, -9.5, true, 'abc', 'abc');")
tdSql.execute("insert into ctb1 values ('2022-01-01 00:00:00.001', -1, -1, -1, -1, -1.5, -1.5, true, 'abc', 'abc');")
tdSql.execute("insert into ctb1 values ('2022-01-01 00:00:00.002', 1, 1, 1, 1, 1.5, 1.5, true, 'abc', 'abc');")
tdSql.execute("insert into tb1 values ('2022-01-01 00:00:00.000', -9, -9, -9, -9, -9.5, -9.5, true, 'abc', 'abc');")
tdSql.execute("insert into tb1 values ('2022-01-01 00:00:00.001', -1, -1, -1, -1, -1.5, -1.5, true, 'abc', 'abc');")
tdSql.execute("insert into tb1 values ('2022-01-01 00:00:00.002', 1, 1, 1, 1, 1.5, 1.5, true, 'abc', 'abc');")
tdSql.execute("create stable stb2 (col_timestamp timestamp, col_tinyint tinyint, col_smallint smallint, col_int int, col_bigint bigint, col_float float, col_double double, col_bool bool, col_binary binary(10), col_nchar nchar(10)) \
tags(tag_timestamp timestamp, tag_tinyint tinyint, tag_smallint smallint, tag_int int, tag_bigint bigint, tag_float float, tag_double double, tag_bool bool, tag_binary binary(10), tag_nchar nchar(10));")
tdSql.execute("create table ctb2 using stb2 tags (now, 1, 1, 1, 1, 1.0, 1.0, true, 'abc', 'abc');")
tdSql.execute("create table tb2 (col_timestamp timestamp, col_tinyint tinyint, col_smallint smallint, col_int int, col_bigint bigint, col_float float, col_double double, col_bool bool, col_binary binary(10), col_nchar nchar(10));")
tdSql.execute("insert into ctb2 values ('2022-01-01 00:00:00.000', -9, -9, -9, -9, -9.5, -9.5, true, 'abc', 'abc');")
tdSql.execute("insert into ctb2 values ('2022-01-01 00:00:00.001', -1, -1, -1, -1, -1.5, -1.5, true, 'abc', 'abc');")
tdSql.execute("insert into ctb2 values ('2022-01-01 00:00:00.002', 1, 1, 1, 1, 1.5, 1.5, true, 'abc', 'abc');")
tdSql.execute("insert into tb2 values ('2022-01-01 00:00:00.000', -9, -9, -9, -9, -9.5, -9.5, true, 'abc', 'abc');")
tdSql.execute("insert into tb2 values ('2022-01-01 00:00:00.001', -1, -1, -1, -1, -1.5, -1.5, true, 'abc', 'abc');")
tdSql.execute("insert into tb2 values ('2022-01-01 00:00:00.002', 1, 1, 1, 1, 1.5, 1.5, true, 'abc', 'abc');")
tdSql.query('select to_iso8601(%d) from tb1, tb2 where tb1.col_timestamp = tb2.col_timestamp' %ts);
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select to_iso8601(%d) from ctb1, ctb2 where ctb1.col_timestamp = ctb2.col_timestamp' %ts);
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select to_iso8601(%d) from stb1, stb2 where stb1.col_timestamp = stb2.col_timestamp and stb1.tag_int = stb2.tag_int' %ts);
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
#union all
tdSql.query('select to_iso8601(%d) from tb1 union all select to_iso8601(%d) from tb2' %(ts, ts))
tdSql.checkRows(6)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.checkData(3, 0, self.getISOTimeFmt(ts))
tdSql.checkData(4, 0, self.getISOTimeFmt(ts))
tdSql.checkData(5, 0, self.getISOTimeFmt(ts))
tdSql.query('select to_iso8601(%d) from ctb1 union all select to_iso8601(%d) from ctb2' %(ts, ts))
tdSql.checkRows(6)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.checkData(3, 0, self.getISOTimeFmt(ts))
tdSql.checkData(4, 0, self.getISOTimeFmt(ts))
tdSql.checkData(5, 0, self.getISOTimeFmt(ts))
tdSql.query('select to_iso8601(%d) from stb1 union all select to_iso8601(%d) from stb2' %(ts, ts))
tdSql.checkRows(6)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.checkData(3, 0, self.getISOTimeFmt(ts))
tdSql.checkData(4, 0, self.getISOTimeFmt(ts))
tdSql.checkData(5, 0, self.getISOTimeFmt(ts))
#nested query
tdSql.query('select to_iso8601(%d) from (select * from tb)' %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select to_iso8601(%d) from (select * from ctb)' %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select to_iso8601(%d) from (select * from stb)' %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select to_iso8601(%d) from (select col_int as val from tb)' %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select to_iso8601(%d) from (select col_int as val from ctb)' %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select to_iso8601(%d) from (select col_int as val from stb)' %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select * from (select to_iso8601(%d) from tb)' %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select * from (select to_iso8601(%d) from ctb)' %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select * from (select to_iso8601(%d) from stb)' %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select _c0 from (select to_iso8601(%d) from tb)' %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select _c0 from (select to_iso8601(%d) from ctb)' %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select _c0 from (select to_iso8601(%d) from stb)' %ts)
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select to_iso8601(%d) from (select to_iso8601(%d) from tb)' %(ts, ts))
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select to_iso8601(%d) from (select to_iso8601(%d) from ctb)' %(ts, ts))
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
tdSql.query('select to_iso8601(%d) from (select to_iso8601(%d) from stb)' %(ts, ts))
tdSql.checkRows(3)
tdSql.checkCols(1)
tdSql.checkData(0, 0, self.getISOTimeFmt(ts))
tdSql.checkData(1, 0, self.getISOTimeFmt(ts))
tdSql.checkData(2, 0, self.getISOTimeFmt(ts))
##ERROR CASES
#param
tdSql.error("select to_iso8601(16437384001) from tb")
tdSql.error("select to_iso8601(16437384001) from ctb")
tdSql.error("select to_iso8601(16437384001) from stb")
tdSql.error("select to_iso8601(164373840012) from tb")
tdSql.error("select to_iso8601(164373840012) from ctb")
tdSql.error("select to_iso8601(164373840012) from stb")
tdSql.error("select to_iso8601(16437384001231) from tb")
tdSql.error("select to_iso8601(16437384001231) from ctb")
tdSql.error("select to_iso8601(16437384001231) from stb")
tdSql.error("select to_iso8601(164373840012312) from tb")
tdSql.error("select to_iso8601(164373840012312) from ctb")
tdSql.error("select to_iso8601(164373840012312) from stb")
tdSql.error("select to_iso8601(16437384001231231) from tb")
tdSql.error("select to_iso8601(16437384001231231) from ctb")
tdSql.error("select to_iso8601(16437384001231231) from stb")
tdSql.error("select to_iso8601(164373840012312312) from tb")
tdSql.error("select to_iso8601(164373840012312312) from ctb")
tdSql.error("select to_iso8601(164373840012312312) from stb")
tdSql.error("select to_iso8601(16437384001231231231) from tb")
tdSql.error("select to_iso8601(16437384001231231231) from ctb")
tdSql.error("select to_iso8601(16437384001231231231) from stb")
tdSql.error("select to_iso8601(1643738400123123123123456) from tb")
tdSql.error("select to_iso8601(1643738400123123123123456) from ctb")
tdSql.error("select to_iso8601(1643738400123123123123456) from stb")
tdSql.error("select to_iso8601(-1) from tb")
tdSql.error("select to_iso8601(-1) from ctb")
tdSql.error("select to_iso8601(true) from tb")
tdSql.error("select to_iso8601(false) from ctb")
tdSql.error("select to_iso8601(1.5) from stb")
tdSql.error("select to_iso8601(1.5) from tb")
tdSql.error("select to_iso8601(1.5) from ctb")
tdSql.error("select to_iso8601(1.5) from stb")
tdSql.error("select to_iso8601(\"abc\") from tb")
tdSql.error("select to_iso8601(\"abc\") from ctb")
tdSql.error("select to_iso8601(\"abc\") from stb")
tdSql.error("select to_iso8601('abc') from tb")
tdSql.error("select to_iso8601('abc') from ctb")
tdSql.error("select to_iso8601('abc') from stb")
tdSql.error("select to_iso8601(to_iso8601) from tb")
tdSql.error("select to_iso8601(to_iso8601) from ctb")
tdSql.error("select to_iso8601(to_iso8601) from stb")
tdSql.error("select to_iso8601(*) from tb")
tdSql.error("select to_iso8601(*) from ctb")
tdSql.error("select to_iso8601(*) from stb")
tdSql.error("select to_iso8601(tbname) from tb")
tdSql.error("select to_iso8601(tbname) from ctb")
tdSql.error("select to_iso8601(tbname) from stb")
tdSql.error("select to_iso8601(col_bigint) from tb")
tdSql.error("select to_iso8601(col_bigint) from ctb")
tdSql.error("select to_iso8601(col_bigint) from stb")
tdSql.error("select to_iso8601(col_double) from tb")
tdSql.error("select to_iso8601(col_double) from ctb")
tdSql.error("select to_iso8601(col_double) from stb")
tdSql.error("select to_iso8601(col_bool) from tb")
tdSql.error("select to_iso8601(col_bool) from ctb")
tdSql.error("select to_iso8601(col_bool) from stb")
tdSql.error("select to_iso8601(col_binary) from tb")
tdSql.error("select to_iso8601(col_binary) from ctb")
tdSql.error("select to_iso8601(col_binary) from stb")
tdSql.error("select to_iso8601(tag_timestamp) from tb")
tdSql.error("select to_iso8601(tag_timestamp) from ctb")
tdSql.error("select to_iso8601(tag_timestamp) from stb")
tdSql.error("select to_iso8601(tag_bigint) from tb")
tdSql.error("select to_iso8601(tag_bigint) from ctb")
tdSql.error("select to_iso8601(tag_bigint) from stb")
tdSql.error("select to_iso8601(tag_double) from tb")
tdSql.error("select to_iso8601(tag_double) from ctb")
tdSql.error("select to_iso8601(tag_double) from stb")
tdSql.error("select to_iso8601(tag_bool) from tb")
tdSql.error("select to_iso8601(tag_bool) from ctb")
tdSql.error("select to_iso8601(tag_bool) from stb")
tdSql.error("select to_iso8601(tag_binary) from tb")
tdSql.error("select to_iso8601(tag_binary) from ctb")
tdSql.error("select to_iso8601(tag_binary) from stb")
tdSql.error("select to_iso8601(1,'abc',col_bigint) from tb")
tdSql.error("select to_iso8601(1,'abc',col_bigint) from ctb")
tdSql.error("select to_iso8601(1,'abc',col_bigint) from stb")
#distinct
tdSql.error("select distinct to_iso8601(ts) from tb")
tdSql.error("select distinct to_iso8601(ts) from ctb")
tdSql.error("select distinct to_iso8601(ts) from stb")
#arithmetic
tdSql.error("select to_iso8601(ts) + count(*) from tb")
tdSql.error("select to_iso8601(ts) + count(*) from ctb")
tdSql.error("select to_iso8601(ts) + count(*) from stb")
tdSql.error("select to_iso8601(ts) + avg(col_timestamp) from tb")
tdSql.error("select to_iso8601(ts) + avg(col_timestamp) from ctb")
tdSql.error("select to_iso8601(ts) + avg(col_timestamp) from stb")
tdSql.error("select to_iso8601(ts) + sum(col_int) from tb")
tdSql.error("select to_iso8601(ts) + sum(col_int) from ctb")
tdSql.error("select to_iso8601(ts) + sum(col_int) from stb")
tdSql.error("select to_iso8601(ts) + max(col_timestamp) from tb")
tdSql.error("select to_iso8601(ts) + max(col_timestamp) from ctb")
tdSql.error("select to_iso8601(ts) + max(col_timestamp) from stb")
tdSql.error("select to_iso8601(ts) + first(col_timestamp) from tb")
tdSql.error("select to_iso8601(ts) + first(col_timestamp) from ctb")
tdSql.error("select to_iso8601(ts) + first(col_timestamp) from stb")
tdSql.error("select to_iso8601(ts) + top(col_timestamp, 1) from tb")
tdSql.error("select to_iso8601(ts) + top(col_timestamp, 1) from ctb")
tdSql.error("select to_iso8601(ts) + top(col_timestamp, 1) from stb")
tdSql.error("select to_iso8601(ts) + ceil(col_timestamp) from tb")
tdSql.error("select to_iso8601(ts) + ceil(col_timestamp) from ctb")
tdSql.error("select to_iso8601(ts) + ceil(col_timestamp) from stb")
tdSql.error("select to_iso8601(ts) + floor(col_int) from tb")
tdSql.error("select to_iso8601(ts) + floor(col_int) from ctb")
tdSql.error("select to_iso8601(ts) + floor(col_int) from stb")
tdSql.error("select to_iso8601(ts) + round(1.5) from tb")
tdSql.error("select to_iso8601(ts) + round(1.5) from ctb")
tdSql.error("select to_iso8601(ts) + round(1.5) from stb")
tdSql.error("select to_iso8601(ts) + diff(col_timestamp) from tb")
tdSql.error("select to_iso8601(ts) + diff(col_timestamp) from ctb")
tdSql.error("select to_iso8601(ts) + diff(col_timestamp) from stb")
tdSql.error("select to_iso8601(ts) + 1 from tb")
tdSql.error("select to_iso8601(ts) + 1 from ctb")
tdSql.error("select to_iso8601(ts) + 1 from stb")
tdSql.error("select to_iso8601(ts) + 1.5 from tb")
tdSql.error("select to_iso8601(ts) + 1.5 from ctb")
tdSql.error("select to_iso8601(ts) + 1.5 from stb")
#tdSql.error("select to_iso8601(ts) + true from tb")
#tdSql.error("select to_iso8601(ts) + true from ctb")
#tdSql.error("select to_iso8601(ts) + true from stb")
tdSql.error("select to_iso8601(ts) + 'abc' from tb")
tdSql.error("select to_iso8601(ts) + 'abc' from ctb")
tdSql.error("select to_iso8601(ts) + 'abc' from stb")
tdSql.error("select to_iso8601(ts) + abc from tb")
tdSql.error("select to_iso8601(ts) + abc from ctb")
tdSql.error("select to_iso8601(ts) + abc from stb")
tdSql.error("select to_iso8601(ts) + ts from tb")
tdSql.error("select to_iso8601(ts) + ts from ctb")
tdSql.error("select to_iso8601(ts) + ts from stb")
tdSql.error("select to_iso8601(ts) + col_timestamp from tb")
tdSql.error("select to_iso8601(ts) + col_timestamp from ctb")
tdSql.error("select to_iso8601(ts) + col_timestamp from stb")
tdSql.error("select to_iso8601(ts) + col_tinyint from tb")
tdSql.error("select to_iso8601(ts) + col_tinyint from ctb")
tdSql.error("select to_iso8601(ts) + col_tinyint from stb")
tdSql.error("select to_iso8601(ts) + col_smallint from tb")
tdSql.error("select to_iso8601(ts) + col_smallint from ctb")
tdSql.error("select to_iso8601(ts) + col_smallint from stb")
tdSql.error("select to_iso8601(ts) + col_int from tb")
tdSql.error("select to_iso8601(ts) + col_int from ctb")
tdSql.error("select to_iso8601(ts) + col_int from stb")
tdSql.error("select to_iso8601(ts) + col_bigint from tb")
tdSql.error("select to_iso8601(ts) + col_bigint from ctb")
tdSql.error("select to_iso8601(ts) + col_bigint from stb")
tdSql.error("select to_iso8601(ts) + col_bool from tb")
tdSql.error("select to_iso8601(ts) + col_bool from ctb")
tdSql.error("select to_iso8601(ts) + col_bool from stb")
tdSql.error("select to_iso8601(ts) + col_float from tb")
tdSql.error("select to_iso8601(ts) + col_float from ctb")
tdSql.error("select to_iso8601(ts) + col_float from stb")
tdSql.error("select to_iso8601(ts) + col_double from tb")
tdSql.error("select to_iso8601(ts) + col_double from ctb")
tdSql.error("select to_iso8601(ts) + col_double from stb")
tdSql.error("select to_iso8601(ts) + col_binary from tb")
tdSql.error("select to_iso8601(ts) + col_binary from ctb")
tdSql.error("select to_iso8601(ts) + col_binary from stb")
tdSql.error("select to_iso8601(ts) + col_nchar from tb")
tdSql.error("select to_iso8601(ts) + col_nchar from ctb")
tdSql.error("select to_iso8601(ts) + col_nchar from stb")
tdSql.error("select to_iso8601(ts) + tag_timestamp from tb")
tdSql.error("select to_iso8601(ts) + tag_timestamp from ctb")
tdSql.error("select to_iso8601(ts) + tag_timestamp from stb")
tdSql.error("select to_iso8601(ts) + tag_tinyint from tb")
tdSql.error("select to_iso8601(ts) + tag_tinyint from ctb")
tdSql.error("select to_iso8601(ts) + tag_tinyint from stb")
tdSql.error("select to_iso8601(ts) + tag_smallint from tb")
tdSql.error("select to_iso8601(ts) + tag_smallint from ctb")
tdSql.error("select to_iso8601(ts) + tag_smallint from stb")
tdSql.error("select to_iso8601(ts) + tag_int from tb")
tdSql.error("select to_iso8601(ts) + tag_int from ctb")
tdSql.error("select to_iso8601(ts) + tag_int from stb")
tdSql.error("select to_iso8601(ts) + tag_bigint from tb")
tdSql.error("select to_iso8601(ts) + tag_bigint from ctb")
tdSql.error("select to_iso8601(ts) + tag_bigint from stb")
tdSql.error("select to_iso8601(ts) + tag_bool from tb")
tdSql.error("select to_iso8601(ts) + tag_bool from ctb")
tdSql.error("select to_iso8601(ts) + tag_bool from stb")
tdSql.error("select to_iso8601(ts) + tag_float from tb")
tdSql.error("select to_iso8601(ts) + tag_float from ctb")
tdSql.error("select to_iso8601(ts) + tag_float from stb")
tdSql.error("select to_iso8601(ts) + tag_double from tb")
tdSql.error("select to_iso8601(ts) + tag_double from ctb")
tdSql.error("select to_iso8601(ts) + tag_double from stb")
tdSql.error("select to_iso8601(ts) + tag_binary from tb")
tdSql.error("select to_iso8601(ts) + tag_binary from ctb")
tdSql.error("select to_iso8601(ts) + tag_binary from stb")
tdSql.error("select to_iso8601(ts) + tag_nchar from tb")
tdSql.error("select to_iso8601(ts) + tag_nchar from ctb")
tdSql.error("select to_iso8601(ts) + tag_nchar from stb")
tdSql.error("select to_iso8601(ts) + 0.5b from tb")
tdSql.error("select to_iso8601(ts) + 0.5b from ctb")
tdSql.error("select to_iso8601(ts) + 0.5b from stb")
tdSql.error("select to_iso8601(ts) + 1.5u from tb")
tdSql.error("select to_iso8601(ts) + 1.5u from ctb")
tdSql.error("select to_iso8601(ts) + 1.5u from stb")
tdSql.error("select to_iso8601(ts) + 2.5a from tb")
tdSql.error("select to_iso8601(ts) + 2.5a from ctb")
tdSql.error("select to_iso8601(ts) + 2.5a from stb")
tdSql.error("select to_iso8601(ts) + 3.5s from tb")
tdSql.error("select to_iso8601(ts) + 3.5s from ctb")
tdSql.error("select to_iso8601(ts) + 3.5s from stb")
tdSql.error("select to_iso8601(ts) + 4.5m from tb")
tdSql.error("select to_iso8601(ts) + 4.5m from ctb")
tdSql.error("select to_iso8601(ts) + 4.5m from stb")
tdSql.error("select to_iso8601(ts) + 5.5h from tb")
tdSql.error("select to_iso8601(ts) + 5.5h from ctb")
tdSql.error("select to_iso8601(ts) + 5.5h from stb")
tdSql.error("select to_iso8601(ts) + 6.5d from tb")
tdSql.error("select to_iso8601(ts) + 6.5d from ctb")
tdSql.error("select to_iso8601(ts) + 6.5d from stb")
tdSql.error("select to_iso8601(ts) + 7.5w from tb")
tdSql.error("select to_iso8601(ts) + 7.5w from ctb")
tdSql.error("select to_iso8601(ts) + 7.5w from stb")
tdSql.error("select to_iso8601(ts) - 0.5b from tb")
tdSql.error("select to_iso8601(ts) - 0.5b from ctb")
tdSql.error("select to_iso8601(ts) - 0.5b from stb")
tdSql.error("select to_iso8601(ts) - 1.5u from tb")
tdSql.error("select to_iso8601(ts) - 1.5u from ctb")
tdSql.error("select to_iso8601(ts) - 1.5u from stb")
tdSql.error("select to_iso8601(ts) - 2.5a from tb")
tdSql.error("select to_iso8601(ts) - 2.5a from ctb")
tdSql.error("select to_iso8601(ts) - 2.5a from stb")
tdSql.error("select to_iso8601(ts) - 3.5s from tb")
tdSql.error("select to_iso8601(ts) - 3.5s from ctb")
tdSql.error("select to_iso8601(ts) - 3.5s from stb")
tdSql.error("select to_iso8601(ts) - 4.5m from tb")
tdSql.error("select to_iso8601(ts) - 4.5m from ctb")
tdSql.error("select to_iso8601(ts) - 4.5m from stb")
tdSql.error("select to_iso8601(ts) - 5.5h from tb")
tdSql.error("select to_iso8601(ts) - 5.5h from ctb")
tdSql.error("select to_iso8601(ts) - 5.5h from stb")
tdSql.error("select to_iso8601(ts) - 6.5d from tb")
tdSql.error("select to_iso8601(ts) - 6.5d from ctb")
tdSql.error("select to_iso8601(ts) - 6.5d from stb")
tdSql.error("select to_iso8601(ts) - 7.5w from tb")
tdSql.error("select to_iso8601(ts) - 7.5w from ctb")
tdSql.error("select to_iso8601(ts) - 7.5w from stb")
tdSql.error("select to_iso8601(ts) * 1d from tb")
tdSql.error("select to_iso8601(ts) * 1d from ctb")
tdSql.error("select to_iso8601(ts) * 1d from stb")
tdSql.error("select to_iso8601(ts) / 5m from tb")
tdSql.error("select to_iso8601(ts) / 5m from ctb")
tdSql.error("select to_iso8601(ts) / 5m from stb")
tdSql.error("select to_iso8601(ts) % 10h from tb")
tdSql.error("select to_iso8601(ts) % 10h from ctb")
tdSql.error("select to_iso8601(ts) % 10h from stb")
tdSql.error("select to_iso8601(ts) + 1a * 60b from tb")
tdSql.error("select to_iso8601(ts) + 1a * 60b from ctb")
tdSql.error("select to_iso8601(ts) + 1a * 60b from stb")
tdSql.error("select to_iso8601(ts) + 1s * 60 from tb")
tdSql.error("select to_iso8601(ts) + 1s * 60 from ctb")
tdSql.error("select to_iso8601(ts) + 1s * 60 from stb")
#to_iso8601(ts), func()
tdSql.error("select to_iso8601(ts),count(*) from tb")
tdSql.error("select to_iso8601(ts),count(*) from ctb")
tdSql.error("select to_iso8601(ts),count(*) from stb")
tdSql.error("select to_iso8601(ts),avg(col_timestamp) from tb")
tdSql.error("select to_iso8601(ts),avg(col_timestamp) from ctb")
tdSql.error("select to_iso8601(ts),avg(col_timestamp) from stb")
tdSql.error("select to_iso8601(ts),sum(col_int) from tb")
tdSql.error("select to_iso8601(ts),sum(col_int) from ctb")
tdSql.error("select to_iso8601(ts),sum(col_int) from stb")
tdSql.error("select to_iso8601(ts),max(col_timestamp) from tb")
tdSql.error("select to_iso8601(ts),max(col_timestamp) from ctb")
tdSql.error("select to_iso8601(ts),max(col_timestamp) from stb")
tdSql.error("select to_iso8601(ts),first(col_timestamp) from tb")
tdSql.error("select to_iso8601(ts),first(col_timestamp) from ctb")
tdSql.error("select to_iso8601(ts),first(col_timestamp) from stb")
tdSql.error("select to_iso8601(ts),top(col_timestamp, 1) from tb")
tdSql.error("select to_iso8601(ts),top(col_timestamp, 1) from ctb")
tdSql.error("select to_iso8601(ts),top(col_timestamp, 1) from stb")
#session
tdSql.error("select to_iso8601(ts) from tb session(ts, 1d)")
tdSql.error("select to_iso8601(ts) from ctb session(ts, 1h)")
tdSql.error("select to_iso8601(ts) from stb session(ts, 1m)")
#state_window
tdSql.error('select to_iso8601(ts) from tb state_window(col_timestamp);')
tdSql.error('select to_iso8601(ts) from tb state_window(col_tinyint);')
tdSql.error('select to_iso8601(ts) from tb state_window(col_smallint);')
tdSql.error('select to_iso8601(ts) from tb state_window(col_int);')
tdSql.error('select to_iso8601(ts) from tb state_window(col_bigint);')
tdSql.error('select to_iso8601(ts) from tb state_window(col_bool);')
tdSql.error('select to_iso8601(ts) from tb state_window(col_float);')
tdSql.error('select to_iso8601(ts) from tb state_window(col_double);')
tdSql.error('select to_iso8601(ts) from tb state_window(col_binary);')
tdSql.error('select to_iso8601(ts) from tb state_window(col_nchar);')
#interval/sliding
tdSql.error('select to_iso8601(ts) from tb interval(1y)')
tdSql.error('select to_iso8601(ts) from tb interval(1n)')
tdSql.error('select to_iso8601(ts) from tb interval(1w)')
tdSql.error('select to_iso8601(ts) from tb interval(1d)')
tdSql.error('select to_iso8601(ts) from tb interval(1h)')
tdSql.error('select to_iso8601(ts) from tb interval(1s)')
tdSql.error('select to_iso8601(ts) from tb interval(1y) sliding(1y)')
tdSql.error('select to_iso8601(ts) from tb interval(1n) sliding(1n)')
tdSql.error('select to_iso8601(ts) from tb interval(1w) sliding(1w)')
tdSql.error('select to_iso8601(ts) from tb interval(1d) sliding(1d)')
tdSql.error('select to_iso8601(ts) from tb interval(1h) sliding(1h)')
tdSql.error('select to_iso8601(ts) from tb interval(1s) sliding(1s)')
#group by
tdSql.error('select to_iso8601(ts) from stb group by ts;')
tdSql.error('select to_iso8601(ts) from stb group by col_tinyint;')
tdSql.error('select to_iso8601(ts) from stb group by col_smallint;')
tdSql.error('select to_iso8601(ts) from stb group by col_int;')
tdSql.error('select to_iso8601(ts) from stb group by col_bigint;')
tdSql.error('select to_iso8601(ts) from stb group by col_bool;')
tdSql.error('select to_iso8601(ts) from stb group by col_float;')
tdSql.error('select to_iso8601(ts) from stb group by col_double;')
tdSql.error('select to_iso8601(ts) from stb group by col_binary;')
tdSql.error('select to_iso8601(ts) from stb group by col_nchar;')
tdSql.error('select to_iso8601(ts) from stb group by tag_tinyint;')
tdSql.error('select to_iso8601(ts) from stb group by tag_smallint;')
tdSql.error('select to_iso8601(ts) from stb group by tag_int;')
tdSql.error('select to_iso8601(ts) from stb group by tag_bigint;')
tdSql.error('select to_iso8601(ts) from stb group by tag_bool;')
tdSql.error('select to_iso8601(ts) from stb group by tag_float;')
tdSql.error('select to_iso8601(ts) from stb group by tag_double;')
tdSql.error('select to_iso8601(ts) from stb group by tag_binary;')
tdSql.error('select to_iso8601(ts) from stb group by tag_nchar;')
tdSql.error('select to_iso8601(ts) from stb group by tbname;')
tdSql.error('select to_iso8601(ts) from stb group by tag_tinyint,col_tinyint;')
tdSql.error('select to_iso8601(ts) from stb group by tag_smallint,col_smallint;')
tdSql.error('select to_iso8601(ts) from stb group by tag_int,col_int;')
tdSql.error('select to_iso8601(ts) from stb group by tag_bigint,col_bigint;')
tdSql.error('select to_iso8601(ts) from stb group by tag_bool,col_bool;')
tdSql.error('select to_iso8601(ts) from stb group by tag_float,col_float;')
tdSql.error('select to_iso8601(ts) from stb group by tag_double,col_double;')
tdSql.error('select to_iso8601(ts) from stb group by tag_binary,col_binary;')
tdSql.error('select to_iso8601(ts) from stb group by tag_nchar,col_nchar;')
#order by
tdSql.error('select to_iso8601(ts) from stb order by col_tinyint;')
tdSql.error('select to_iso8601(ts) from stb order by col_tinyint desc;')
tdSql.error('select to_iso8601(ts) from stb order by col_smallint;')
tdSql.error('select to_iso8601(ts) from stb order by col_smallint desc;')
tdSql.error('select to_iso8601(ts) from stb order by col_int;')
tdSql.error('select to_iso8601(ts) from stb order by col_int desc;')
tdSql.error('select to_iso8601(ts) from stb order by col_bigint;')
tdSql.error('select to_iso8601(ts) from stb order by col_bigint desc;')
tdSql.error('select to_iso8601(ts) from stb order by col_bool;')
tdSql.error('select to_iso8601(ts) from stb order by col_bool desc;')
tdSql.error('select to_iso8601(ts) from stb order by col_float;')
tdSql.error('select to_iso8601(ts) from stb order by col_float desc;')
tdSql.error('select to_iso8601(ts) from stb order by col_double;')
tdSql.error('select to_iso8601(ts) from stb order by col_double desc;')
tdSql.error('select to_iso8601(ts) from stb order by col_double;')
tdSql.error('select to_iso8601(ts) from stb order by col_double desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_timestamp;')
tdSql.error('select to_iso8601(ts) from stb order by tag_timestamp desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_tinyint;')
tdSql.error('select to_iso8601(ts) from stb order by tag_tinyint desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_smallint;')
tdSql.error('select to_iso8601(ts) from stb order by tag_smallint desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_int;')
tdSql.error('select to_iso8601(ts) from stb order by tag_int desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_bigint;')
tdSql.error('select to_iso8601(ts) from stb order by tag_bigint desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_bool;')
tdSql.error('select to_iso8601(ts) from stb order by tag_bool desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_float;')
tdSql.error('select to_iso8601(ts) from stb order by tag_float desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_double;')
tdSql.error('select to_iso8601(ts) from stb order by tag_double desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_double;')
tdSql.error('select to_iso8601(ts) from stb order by tag_double desc;')
tdSql.error('select to_iso8601(ts) from stb order by tbname;')
tdSql.error('select to_iso8601(ts) from stb order by tbname desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_timestamp,col_timestamp;')
tdSql.error('select to_iso8601(ts) from stb order by tag_timestamp,col_timestamp desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_tinyint,col_timestamp;')
tdSql.error('select to_iso8601(ts) from stb order by tag_tinyint,col_timestamp desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_smallint,col_timestamp;')
tdSql.error('select to_iso8601(ts) from stb order by tag_smallint,col_timestamp desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_int,col_timestamp;')
tdSql.error('select to_iso8601(ts) from stb order by tag_int,col_timestamp desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_bigint,col_timestamp;')
tdSql.error('select to_iso8601(ts) from stb order by tag_bigint,col_timestamp desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_bool,col_timestamp;')
tdSql.error('select to_iso8601(ts) from stb order by tag_bool,col_timestamp desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_float,col_timestamp;')
tdSql.error('select to_iso8601(ts) from stb order by tag_float,col_timestamp desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_double,col_timestamp;')
tdSql.error('select to_iso8601(ts) from stb order by tag_double,col_timestamp desc;')
tdSql.error('select to_iso8601(ts) from stb order by tag_double,col_timestamp;')
tdSql.error('select to_iso8601(ts) from stb order by tag_double,col_timestamp desc;')
tdSql.execute('drop database db_m')
tdSql.execute('drop database db_u')
tdSql.execute('drop database db_n')
def stop(self):
tdSql.close()
tdLog.success("%s successfully executed" % __file__)
tdCases.addWindows(__file__, TDTestCase())
tdCases.addLinux(__file__, TDTestCase())