[TD-2366]<test> add test case for is null

This commit is contained in:
Ping Xiao 2020-12-11 15:31:15 +08:00
parent 6248b98621
commit a818a44385
4 changed files with 170 additions and 0 deletions

View File

@ -172,6 +172,8 @@ python3 ./test.py -f query/sliding.py
python3 ./test.py -f query/unionAllTest.py python3 ./test.py -f query/unionAllTest.py
python3 ./test.py -f query/bug2281.py python3 ./test.py -f query/bug2281.py
python3 ./test.py -f query/bug2119.py python3 ./test.py -f query/bug2119.py
python3 ./test.py -f query/isNullTest.py
#stream #stream
python3 ./test.py -f stream/metric_1.py python3 ./test.py -f stream/metric_1.py
python3 ./test.py -f stream/new.py python3 ./test.py -f stream/new.py

View File

@ -75,7 +75,46 @@ class TDTestCase:
tdSql.checkData(18, 1, 9.75000) tdSql.checkData(18, 1, 9.75000)
tdSql.checkData(19, 1, 10) tdSql.checkData(19, 1, 10)
tdSql.execute("create table t2(ts timestamp, c int)")
tdSql.execute("insert into t2 values(%d, 1)" % (self.ts + 3000))
tdSql.query("select twa(c) from t2 where ts >= '2018-09-17 09:00:00.000' and ts <= '2018-09-17 09:01:30.000' ")
tdSql.checkRows(1)
tdSql.checkData(0, 0, 1)
tdSql.query("select twa(c) from t2 where ts >= '2018-09-17 09:00:00.000' and ts <= '2018-09-17 09:01:30.000' interval(2s) ")
tdSql.checkRows(1)
tdSql.checkData(0, 1, 1)
tdSql.query("select twa(c) from t2 where ts >= '2018-09-17 09:00:00.000' and ts <= '2018-09-17 09:01:30.000' interval(2s) sliding(1s) ")
tdSql.checkRows(2)
tdSql.checkData(0, 1, 1)
tdSql.checkData(1, 1, 1)
tdSql.query("select twa(c) from t2 where ts >= '2018-09-17 09:00:04.000' and ts <= '2018-09-17 09:01:30.000' ")
tdSql.checkRows(0)
tdSql.query("select twa(c) from t2 where ts >= '2018-09-17 08:00:00.000' and ts <= '2018-09-17 09:00:00.000' ")
tdSql.checkRows(0)
tdSql.execute("create table t3(ts timestamp, c int)")
tdSql.execute("insert into t3 values(%d, 1)" % (self.ts))
tdSql.execute("insert into t3 values(%d, -2)" % (self.ts + 3000))
tdSql.query("select twa(c) from t3 where ts >= '2018-09-17 08:59:00.000' and ts <= '2018-09-17 09:01:30.000'")
tdSql.checkRows(1)
tdSql.checkData(-0.5)
tdSql.query("select twa(c) from t3 where ts >= '2018-09-17 08:59:00.000' and ts <= '2018-09-17 09:01:30.000' interval(1s)")
tdSql.checkRows(2)
tdSql.checkData(0, 1, 0.5005)
tdSql.checkData(1, 1, -2)
tdSql.query("select twa(c) from t3 where ts >= '2018-09-17 08:59:00.000' and ts <= '2018-09-17 09:01:30.000' interval(2s) sliding(1s)")
tdSql.checkRows(4)
tdSql.checkData(0, 1, 0.5005)
tdSql.checkData(1, 1, 0.0005)
tdSql.checkData(2, 1, -1.5)
tdSql.checkData(3, 1, -2)
def stop(self): def stop(self):
tdSql.close() tdSql.close()

View File

@ -19,6 +19,7 @@ python3 ./test.py -f insert/randomNullCommit.py
python3 insert/retentionpolicy.py python3 insert/retentionpolicy.py
python3 ./test.py -f insert/alterTableAndInsert.py python3 ./test.py -f insert/alterTableAndInsert.py
python3 ./test.py -f insert/insertIntoTwoTables.py python3 ./test.py -f insert/insertIntoTwoTables.py
python3 ./test.py -f query/isNullTest.py
#table #table
python3 ./test.py -f table/alter_wal0.py python3 ./test.py -f table/alter_wal0.py

View File

@ -0,0 +1,128 @@
###################################################################
# 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
import taos
from util.log import tdLog
from util.cases import tdCases
from util.sql import tdSql
class TDTestCase:
def init(self, conn, logSql):
tdLog.debug("start to execute %s" % __file__)
tdSql.init(conn.cursor(), logSql)
self.ts = 1537146000000
def run(self):
tdSql.prepare()
print("==============step1")
tdSql.execute("create table st(ts timestamp, c1 int, c2 binary(20), c3 nchar(20)) tags(t1 int, t2 binary(20), t3 nchar(20))")
tdSql.execute("create table t1 using st tags(1, 'binary1', 'nchar1')")
tdSql.execute("insert into t2(ts, c2) using st(t2) tags('') values(%d, '')" % (self.ts + 10))
tdSql.execute("insert into t3(ts, c2) using st(t3) tags('') values(%d, '')" % (self.ts + 10))
for i in range(10):
tdSql.execute("insert into t1 values(%d, %d, 'binary%d', 'nchar%d')" % (self.ts + i, i, i, i))
tdSql.execute("insert into t2 values(%d, %d, 'binary%d', 'nchar%d')" % (self.ts + i, i, i, i))
tdSql.execute("insert into t3 values(%d, %d, 'binary%d', 'nchar%d')" % (self.ts + i, i, i, i))
tdSql.execute("insert into t1(ts, c2) values(%d, '')" % (self.ts + 10))
tdSql.execute("insert into t1(ts, c3) values(%d, '')" % (self.ts + 11))
tdSql.execute("insert into t2(ts, c3) values(%d, '')" % (self.ts + 11))
tdSql.execute("insert into t3(ts, c3) values(%d, '')" % (self.ts + 11))
tdSql.query("select count(*) from st")
tdSql.checkData(0, 0, 36)
tdSql.query("select count(*) from st where t1 is null")
tdSql.checkData(0, 0, 24)
tdSql.query("select count(*) from st where t1 is not null")
tdSql.checkData(0, 0, 12)
tdSql.query("select count(*) from st where t2 is null")
tdSql.checkData(0, 0, 12)
tdSql.query("select count(*) from st where t2 is not null")
tdSql.checkData(0, 0, 24)
tdSql.error("select count(*) from st where t2 <> null")
tdSql.error("select count(*) from st where t2 = null")
tdSql.query("select count(*) from st where t2 = '' ")
tdSql.checkData(0, 0, 12)
tdSql.query("select count(*) from st where t2 <> '' ")
tdSql.checkData(0, 0, 24)
tdSql.query("select count(*) from st where t3 is null")
tdSql.checkData(0, 0, 12)
tdSql.query("select count(*) from st where t3 is not null")
tdSql.checkData(0, 0, 24)
tdSql.error("select count(*) from st where t3 <> null")
tdSql.error("select count(*) from st where t3 = null")
tdSql.query("select count(*) from st where t3 = '' ")
tdSql.checkData(0, 0, 12)
tdSql.query("select count(*) from st where t3 <> '' ")
tdSql.checkData(0, 0, 24)
tdSql.query("select count(*) from st where c1 is not null")
tdSql.checkData(0, 0, 30)
tdSql.query("select count(*) from st where c1 is null")
tdSql.checkData(0, 0, 6)
tdSql.query("select count(*) from st where c2 is not null")
tdSql.checkData(0, 0, 33)
tdSql.query("select count(*) from st where c2 is null")
tdSql.checkData(0, 0, 3)
tdSql.error("select count(*) from st where c2 <> null")
tdSql.error("select count(*) from st where c2 = null")
tdSql.query("select count(*) from st where c2 = '' ")
tdSql.checkData(0, 0, 3)
tdSql.query("select count(*) from st where c2 <> '' ")
tdSql.checkData(0, 0, 30)
tdSql.query("select count(*) from st where c3 is not null")
tdSql.checkData(0, 0, 33)
tdSql.query("select count(*) from st where c3 is null")
tdSql.checkData(0, 0, 3)
tdSql.error("select count(*) from st where c3 <> null")
tdSql.error("select count(*) from st where c3 = null")
tdSql.query("select count(*) from st where c3 = '' ")
tdSql.checkData(0, 0, 3)
tdSql.query("select count(*) from st where c3 <> '' ")
tdSql.checkData(0, 0, 30)
def stop(self):
tdSql.close()
tdLog.success("%s successfully executed" % __file__)
tdCases.addWindows(__file__, TDTestCase())
tdCases.addLinux(__file__, TDTestCase())