131 lines
5.3 KiB
Python
131 lines
5.3 KiB
Python
###################################################################
|
|
# Copyright (c) 2016 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 *
|
|
from util.dnodes import *
|
|
|
|
|
|
class TDTestCase:
|
|
def init(self, conn, logSql):
|
|
tdLog.debug(f"start to execute {__file__}")
|
|
tdSql.init(conn.cursor(), logSql)
|
|
|
|
def run(self):
|
|
tdSql.execute("drop database if exists db")
|
|
tdSql.execute("create database if not exists db keep 36500")
|
|
tdSql.execute("use db")
|
|
|
|
tdLog.printNoPrefix("==========step1:create table && insert data")
|
|
# timestamp list:
|
|
# 0->"1970-01-01 08:00:00" | -28800000->"1970-01-01 00:00:00" | -946800000000->"1940-01-01 00:00:00"
|
|
ts1 = 0
|
|
ts2 = -28800000
|
|
ts3 = -946800000000
|
|
tdSql.execute(
|
|
"create table stb2ts (ts timestamp, ts1 timestamp, ts2 timestamp, c1 int, ts3 timestamp) TAGS(t1 int)"
|
|
)
|
|
tdSql.execute("create table t2ts1 using stb2ts tags(1)")
|
|
|
|
tdSql.execute("insert into t2ts1 values (now, now, now, 1, now)")
|
|
tdSql.execute("insert into t2ts1 values (now-1m, now-1m, now-1m, 1, now-1m)")
|
|
tdSql.execute(f"insert into t2ts1 values ({ts1}, {ts1}, {ts1}, 1, {ts1})")
|
|
# tdSql.execute(f"insert into t2ts1 values ({ts2}, {ts2}, {ts2}, 1, {ts2})")
|
|
# tdSql.execute(f"insert into t2ts1 values ({ts3}, {ts3}, {ts3}, 1, {ts3})")
|
|
|
|
tdLog.printNoPrefix("==========step2:query")
|
|
time.sleep(1)
|
|
# query primary key timestamp column
|
|
tdSql.execute("select * from t2ts1 where ts < now")
|
|
ts_len1 = len(tdSql.cursor.fetchall())
|
|
tdSql.execute("select * from t2ts1 where ts <= now")
|
|
ts_len2 = len(tdSql.cursor.fetchall())
|
|
tdSql.execute("select * from t2ts1 where ts > now")
|
|
ts_len3 = len(tdSql.cursor.fetchall())
|
|
tdSql.execute("select * from t2ts1 where ts >= now")
|
|
ts_len4 = len(tdSql.cursor.fetchall())
|
|
tdSql.execute("select * from t2ts1 where ts = now")
|
|
ts_len5 = len(tdSql.cursor.fetchall())
|
|
# tdSql.execute("select * from t2ts1 where ts <> now")
|
|
ts_len6 = 3
|
|
tdSql.execute("select * from t2ts1 where ts between 0 and now")
|
|
ts_len7 = len(tdSql.cursor.fetchall())
|
|
tdSql.execute("select * from t2ts1 where ts between now and now+100d")
|
|
ts_len8 = len(tdSql.cursor.fetchall())
|
|
|
|
# query noemal timestamp column
|
|
tdSql.query("select * from t2ts1 where ts1 < now")
|
|
tdSql.checkRows(ts_len1)
|
|
tdSql.query("select * from t2ts1 where ts2 < now")
|
|
tdSql.checkRows(ts_len1)
|
|
tdSql.query("select * from t2ts1 where ts3 < now")
|
|
tdSql.checkRows(ts_len1)
|
|
|
|
tdSql.query("select * from t2ts1 where ts1 <= now")
|
|
tdSql.checkRows(ts_len2)
|
|
tdSql.query("select * from t2ts1 where ts2 <= now")
|
|
tdSql.checkRows(ts_len2)
|
|
tdSql.query("select * from t2ts1 where ts3 <= now")
|
|
tdSql.checkRows(ts_len2)
|
|
|
|
tdSql.query("select * from t2ts1 where ts1 > now")
|
|
tdSql.checkRows(ts_len3)
|
|
tdSql.query("select * from t2ts1 where ts2 > now")
|
|
tdSql.checkRows(ts_len3)
|
|
tdSql.query("select * from t2ts1 where ts3 > now")
|
|
tdSql.checkRows(ts_len3)
|
|
|
|
tdSql.query("select * from t2ts1 where ts1 >= now")
|
|
tdSql.checkRows(ts_len4)
|
|
tdSql.query("select * from t2ts1 where ts2 >= now")
|
|
tdSql.checkRows(ts_len4)
|
|
tdSql.query("select * from t2ts1 where ts3 >= now")
|
|
tdSql.checkRows(ts_len4)
|
|
|
|
tdSql.query("select * from t2ts1 where ts1 = now")
|
|
tdSql.checkRows(ts_len5)
|
|
tdSql.query("select * from t2ts1 where ts2 = now")
|
|
tdSql.checkRows(ts_len5)
|
|
tdSql.query("select * from t2ts1 where ts2 = now")
|
|
tdSql.checkRows(ts_len5)
|
|
|
|
tdSql.query("select * from t2ts1 where ts1 <> now")
|
|
tdSql.checkRows(ts_len6)
|
|
tdSql.query("select * from t2ts1 where ts2 <> now")
|
|
tdSql.checkRows(ts_len6)
|
|
tdSql.query("select * from t2ts1 where ts3 <> now")
|
|
tdSql.checkRows(ts_len6)
|
|
|
|
tdSql.query("select * from t2ts1 where ts1 between 0 and now")
|
|
tdSql.checkRows(ts_len7)
|
|
tdSql.query("select * from t2ts1 where ts2 between 0 and now")
|
|
tdSql.checkRows(ts_len7)
|
|
tdSql.query("select * from t2ts1 where ts3 between 0 and now")
|
|
tdSql.checkRows(ts_len7)
|
|
|
|
tdSql.query("select * from t2ts1 where ts1 between now and now+100d")
|
|
tdSql.checkRows(ts_len8)
|
|
tdSql.query("select * from t2ts1 where ts2 between now and now+100d")
|
|
tdSql.checkRows(ts_len8)
|
|
tdSql.query("select * from t2ts1 where ts3 between now and now+100d")
|
|
tdSql.checkRows(ts_len8)
|
|
|
|
def stop(self):
|
|
tdSql.close()
|
|
tdLog.success(f"{__file__} successfully executed")
|
|
|
|
|
|
tdCases.addWindows(__file__, TDTestCase())
|
|
tdCases.addLinux(__file__, TDTestCase()) |