Merge pull request #5896 from taosdata/test/TD-3918
[TD-3918] <test> add case to verify the bug of TD-3897
This commit is contained in:
commit
38e57820ea
|
@ -224,6 +224,7 @@ python3 ./test.py -f query/queryJoin10tables.py
|
|||
python3 ./test.py -f query/queryStddevWithGroupby.py
|
||||
python3 ./test.py -f query/querySecondtscolumnTowherenow.py
|
||||
python3 ./test.py -f query/queryFilterTswithDateUnit.py
|
||||
python3 ./test.py -f query/queryTscomputWithNow.py
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -47,53 +47,53 @@ class TDTestCase:
|
|||
|
||||
for col in cols:
|
||||
tdSql.error(f" select * from tts1 where {col} = 1d ")
|
||||
tdSql.error(f" select * from tts1 where {col} < 1d ")
|
||||
tdSql.error(f" select * from tts1 where {col} < -1d ")
|
||||
tdSql.error(f" select * from tts1 where {col} > 1d ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= 1d ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= -1d ")
|
||||
tdSql.error(f" select * from tts1 where {col} <= 1d ")
|
||||
tdSql.error(f" select * from tts1 where {col} <> 1d ")
|
||||
|
||||
tdSql.error(f" select * from tts1 where {col} = 1m ")
|
||||
tdSql.error(f" select * from tts1 where {col} = -1m ")
|
||||
tdSql.error(f" select * from tts1 where {col} < 1m ")
|
||||
tdSql.error(f" select * from tts1 where {col} > 1m ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= 1m ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= -1m ")
|
||||
tdSql.error(f" select * from tts1 where {col} <= 1m ")
|
||||
tdSql.error(f" select * from tts1 where {col} <> 1m ")
|
||||
|
||||
tdSql.error(f" select * from tts1 where {col} = 1s ")
|
||||
tdSql.error(f" select * from tts1 where {col} = -1s ")
|
||||
tdSql.error(f" select * from tts1 where {col} < 1s ")
|
||||
tdSql.error(f" select * from tts1 where {col} > 1s ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= 1s ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= -1s ")
|
||||
tdSql.error(f" select * from tts1 where {col} <= 1s ")
|
||||
tdSql.error(f" select * from tts1 where {col} <> 1s ")
|
||||
|
||||
tdSql.error(f" select * from tts1 where {col} = 1a ")
|
||||
tdSql.error(f" select * from tts1 where {col} = -1a ")
|
||||
tdSql.error(f" select * from tts1 where {col} < 1a ")
|
||||
tdSql.error(f" select * from tts1 where {col} > 1a ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= 1a ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= -1a ")
|
||||
tdSql.error(f" select * from tts1 where {col} <= 1a ")
|
||||
tdSql.error(f" select * from tts1 where {col} <> 1a ")
|
||||
|
||||
tdSql.error(f" select * from tts1 where {col} = 1h ")
|
||||
tdSql.error(f" select * from tts1 where {col} = -1h ")
|
||||
tdSql.error(f" select * from tts1 where {col} < 1h ")
|
||||
tdSql.error(f" select * from tts1 where {col} > 1h ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= 1h ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= -1h ")
|
||||
tdSql.error(f" select * from tts1 where {col} <= 1h ")
|
||||
tdSql.error(f" select * from tts1 where {col} <> 1h ")
|
||||
|
||||
tdSql.error(f" select * from tts1 where {col} = 1w ")
|
||||
tdSql.error(f" select * from tts1 where {col} = -1w ")
|
||||
tdSql.error(f" select * from tts1 where {col} < 1w ")
|
||||
tdSql.error(f" select * from tts1 where {col} > 1w ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= 1w ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= -1w ")
|
||||
tdSql.error(f" select * from tts1 where {col} <= 1w ")
|
||||
tdSql.error(f" select * from tts1 where {col} <> 1w ")
|
||||
|
||||
tdSql.error(f" select * from tts1 where {col} = 1u ")
|
||||
tdSql.error(f" select * from tts1 where {col} = -1u ")
|
||||
tdSql.error(f" select * from tts1 where {col} < 1u ")
|
||||
tdSql.error(f" select * from tts1 where {col} > 1u ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= 1u ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= -1u ")
|
||||
tdSql.error(f" select * from tts1 where {col} <= 1u ")
|
||||
tdSql.error(f" select * from tts1 where {col} <> 1u ")
|
||||
tdSql.error(f" select * from tts1 where {col} <> u ")
|
||||
|
||||
tdSql.error(f" select * from tts1 where {col} = 0d ")
|
||||
tdSql.error(f" select * from tts1 where {col} < 0s ")
|
||||
|
@ -125,6 +125,12 @@ class TDTestCase:
|
|||
tdSql.error(f" select * from tts1 where {col} <> 0/1d ")
|
||||
tdSql.error(f" select * from tts1 where {col} <> 1w+'2010-01-01 00:00:00' ")
|
||||
|
||||
tdSql.error(f" select * from tts1 where {col} = 1-1h ")
|
||||
tdSql.error(f" select * from tts1 where {col} < 1w-d ")
|
||||
tdSql.error(f" select * from tts1 where {col} > 0/u ")
|
||||
tdSql.error(f" select * from tts1 where {col} >= d/s ")
|
||||
tdSql.error(f" select * from tts1 where {col} <= 1/a ")
|
||||
tdSql.error(f" select * from tts1 where {col} <> d/1 ")
|
||||
|
||||
def run(self):
|
||||
tdSql.execute("drop database if exists dbms")
|
||||
|
@ -148,19 +154,16 @@ class TDTestCase:
|
|||
# create databases precision is us
|
||||
tdSql.execute("create database if not exists dbus keep 36500 precision 'us' ")
|
||||
tdSql.execute("use dbus")
|
||||
tsp2 = -28800000 * 1000
|
||||
tsp3 = -946800000000 * 1000
|
||||
tsp2 = tsp2 * 1000
|
||||
tsp3 = tsp3 * 1000
|
||||
self.insertnow(tsp1,tsp2,tsp3)
|
||||
self.querynow()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success(f"{__file__} successfully executed")
|
||||
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
||||
|
|
|
@ -0,0 +1,177 @@
|
|||
###################################################################
|
||||
# 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 inertnow(self):
|
||||
tsp1 = 0
|
||||
tsp2 = -28800000
|
||||
tsp3 = -946800000000
|
||||
|
||||
tdSql.execute(
|
||||
"create table stbts (ts timestamp, ts1 timestamp, c1 int, ts2 timestamp) TAGS(t1 int)"
|
||||
)
|
||||
tdSql.execute("create table tts1 using stbts tags(1)")
|
||||
|
||||
tdSql.execute("insert into tts1 values (now+1d, now+1d, 6, now+1d)")
|
||||
tdSql.execute("insert into tts1 values (now, now, 5, now)")
|
||||
tdSql.execute("insert into tts1 values (now-1d, now-1d, 4, now-1d)")
|
||||
tdSql.execute(f"insert into tts1 values ({tsp1}, {tsp1}, 3, {tsp1})")
|
||||
tdSql.execute(f"insert into tts1 values ({tsp2}, {tsp2}, 2, {tsp2})")
|
||||
tdSql.execute(f"insert into tts1 values ({tsp3}, {tsp3}, 1, {tsp3})")
|
||||
|
||||
def querynow(self):
|
||||
interval_day1 = (datetime.date.today() - datetime.date(1970, 1, 1)).days
|
||||
interval_day2 = (datetime.date.today() - datetime.date(1940, 1, 1)).days
|
||||
|
||||
tdLog.printNoPrefix("==========step query: execute query operation")
|
||||
time.sleep(1)
|
||||
tdSql.execute(" select * from tts1 where ts > now+1d ")
|
||||
ts_len1 = len(tdSql.cursor.fetchall())
|
||||
tdSql.execute(" select * from tts1 where ts < now+1d ")
|
||||
ts_len2 = len(tdSql.cursor.fetchall())
|
||||
tdSql.execute(" select * from tts1 where ts > now-1d ")
|
||||
ts_len3 = len(tdSql.cursor.fetchall())
|
||||
tdSql.execute(" select * from tts1 where ts < now-1d ")
|
||||
ts_len4 = len(tdSql.cursor.fetchall())
|
||||
tdSql.execute(f" select * from tts1 where ts > now-{interval_day1+1}d ")
|
||||
ts_len5 = len(tdSql.cursor.fetchall())
|
||||
tdSql.execute(f" select * from tts1 where ts < now-{interval_day1+1}d ")
|
||||
ts_len6 = len(tdSql.cursor.fetchall())
|
||||
tdSql.execute(f" select * from tts1 where ts > now-{interval_day1-1}d ")
|
||||
ts_len7 = len(tdSql.cursor.fetchall())
|
||||
tdSql.execute(f" select * from tts1 where ts < now-{interval_day1-1}d ")
|
||||
ts_len8 = len(tdSql.cursor.fetchall())
|
||||
tdSql.execute(f" select * from tts1 where ts > now-{interval_day2+1}d ")
|
||||
ts_len9 = len(tdSql.cursor.fetchall())
|
||||
tdSql.execute(f" select * from tts1 where ts < now-{interval_day2+1}d ")
|
||||
ts_len10 = len(tdSql.cursor.fetchall())
|
||||
tdSql.execute(f" select * from tts1 where ts > now-{interval_day2-1}d ")
|
||||
ts_len11 = len(tdSql.cursor.fetchall())
|
||||
tdSql.execute(f" select * from tts1 where ts < now-{interval_day2-1}d ")
|
||||
ts_len12 = len(tdSql.cursor.fetchall())
|
||||
|
||||
tdSql.query(" select * from tts1 where ts1 > now+1d ")
|
||||
tdSql.checkRows(ts_len1)
|
||||
tdSql.query(" select * from tts1 where ts2 > now+1440m ")
|
||||
tdSql.checkRows(ts_len1)
|
||||
|
||||
tdSql.query(" select * from tts1 where ts1 < now+1d ")
|
||||
tdSql.checkRows(ts_len2)
|
||||
tdSql.query(" select * from tts1 where ts2 < now+1440m ")
|
||||
tdSql.checkRows(ts_len2)
|
||||
|
||||
tdSql.query(" select * from tts1 where ts1 > now-1d ")
|
||||
tdSql.checkRows(ts_len3)
|
||||
tdSql.query(" select * from tts1 where ts2 > now-1440m ")
|
||||
tdSql.checkRows(ts_len3)
|
||||
|
||||
tdSql.query(" select * from tts1 where ts1 < now-1d ")
|
||||
tdSql.checkRows(ts_len4)
|
||||
tdSql.query(" select * from tts1 where ts2 < now-1440m ")
|
||||
tdSql.checkRows(ts_len4)
|
||||
|
||||
tdSql.query(f" select * from tts1 where ts1 > now-{interval_day1+1}d ")
|
||||
tdSql.checkRows(ts_len5)
|
||||
tdSql.query(f" select * from tts1 where ts2 > now-{(interval_day1+1)*1440}m " )
|
||||
tdSql.checkRows(ts_len5)
|
||||
|
||||
tdSql.query(f" select * from tts1 where ts1 < now-{interval_day1+1}d ")
|
||||
tdSql.checkRows(ts_len6)
|
||||
tdSql.query(f" select * from tts1 where ts2 < now-{(interval_day1+1)*1440}m ")
|
||||
tdSql.checkRows(ts_len6)
|
||||
|
||||
tdSql.query(f" select * from tts1 where ts1 > now-{interval_day1-1}d ")
|
||||
tdSql.checkRows(ts_len7)
|
||||
tdSql.query(f" select * from tts1 where ts2 > now-{(interval_day1-1)*1440}m ")
|
||||
tdSql.checkRows(ts_len7)
|
||||
|
||||
tdSql.query(f" select * from tts1 where ts1 < now-{interval_day1-1}d ")
|
||||
tdSql.checkRows(ts_len8)
|
||||
tdSql.query(f" select * from tts1 where ts2 < now-{(interval_day1-1)*1440}m ")
|
||||
tdSql.checkRows(ts_len8)
|
||||
|
||||
tdSql.query(f" select * from tts1 where ts1 > now-{interval_day2 + 1}d ")
|
||||
tdSql.checkRows(ts_len9)
|
||||
tdSql.query(f" select * from tts1 where ts2 > now-{(interval_day2 + 1)*1440}m ")
|
||||
tdSql.checkRows(ts_len9)
|
||||
|
||||
tdSql.query(f" select * from tts1 where ts1 < now-{interval_day2 + 1}d ")
|
||||
tdSql.checkRows(ts_len10)
|
||||
tdSql.query(f" select * from tts1 where ts2 < now-{(interval_day2 + 1)*1440}m ")
|
||||
tdSql.checkRows(ts_len10)
|
||||
|
||||
tdSql.query(f" select * from tts1 where ts1 > now-{interval_day2 - 1}d ")
|
||||
tdSql.checkRows(ts_len11)
|
||||
tdSql.query(f" select * from tts1 where ts2 > now-{(interval_day2 - 1)*1440}m ")
|
||||
tdSql.checkRows(ts_len11)
|
||||
|
||||
tdSql.query(f" select * from tts1 where ts1 < now-{interval_day2 - 1}d ")
|
||||
tdSql.checkRows(ts_len12)
|
||||
tdSql.query(f" select * from tts1 where ts2 < now-{(interval_day2 - 1)*1440}m ")
|
||||
tdSql.checkRows(ts_len12)
|
||||
|
||||
|
||||
|
||||
def run(self):
|
||||
tdSql.execute("drop database if exists dbms")
|
||||
tdSql.execute("drop database if exists dbus")
|
||||
|
||||
# timestamp list:
|
||||
# 0 -> "1970-01-01 08:00:00" | -28800000 -> "1970-01-01 00:00:00" | -946800000000 -> "1940-01-01 00:00:00"
|
||||
# -631180800000 -> "1950-01-01 00:00:00"
|
||||
|
||||
tdLog.printNoPrefix("==========step1:create table precision ms && insert data && query")
|
||||
# create databases precision is ms
|
||||
tdSql.execute("create database if not exists dbms keep 36500")
|
||||
tdSql.execute("use dbms")
|
||||
self.inertnow()
|
||||
self.querynow()
|
||||
|
||||
tdLog.printNoPrefix("==========step2:create table precision us && insert data && query")
|
||||
# create databases precision is us
|
||||
tdSql.execute("create database if not exists dbus keep 36500 precision 'us' ")
|
||||
tdSql.execute("use dbus")
|
||||
self.inertnow()
|
||||
self.querynow()
|
||||
|
||||
tdSql.query("show dnodes")
|
||||
index = tdSql.getData(0, 0)
|
||||
tdDnodes.stop(index)
|
||||
tdDnodes.start(index)
|
||||
|
||||
tdLog.printNoPrefix("==========step3:after wal, query table precision ms")
|
||||
tdSql.execute("use dbus")
|
||||
self.querynow()
|
||||
|
||||
tdLog.printNoPrefix("==========step4: query table precision us")
|
||||
tdSql.execute("use dbus")
|
||||
self.querynow()
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success(f"{__file__} successfully executed")
|
||||
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
Loading…
Reference in New Issue