[TD-2366]<test> add test case for is null
This commit is contained in:
parent
6248b98621
commit
a818a44385
|
@ -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
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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())
|
Loading…
Reference in New Issue