bottom.py 4.2 KB
Newer Older
J
jiacy-jcy 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
###################################################################
#           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 -*-

from util.log import *
from util.cases import *
from util.sql import *



class TDTestCase:
    def init(self, conn, logSql):
        tdLog.debug("start to execute %s" % __file__)
        tdSql.init(conn.cursor())

        self.rowNum = 10
        self.ts = 1537146000000
G
Ganlin Zhao 已提交
27

J
jiacy-jcy 已提交
28
    def run(self):
G
Ganlin Zhao 已提交
29
        tdSql.prepare()
J
jiacy-jcy 已提交
30

G
Ganlin Zhao 已提交
31
        tdSql.execute('''create table test(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 float, col6 double,
J
jiacy-jcy 已提交
32 33 34
                    col7 bool, col8 binary(20), col9 nchar(20), col11 tinyint unsigned, col12 smallint unsigned, col13 int unsigned, col14 bigint unsigned) tags(loc nchar(20))''')
        tdSql.execute("create table test1 using test tags('beijing')")
        for i in range(self.rowNum):
G
Ganlin Zhao 已提交
35 36
            tdSql.execute("insert into test1 values(%d, %d, %d, %d, %d, %f, %f, %d, 'taosdata%d', '涛思数据%d', %d, %d, %d, %d)"
                        % (self.ts + i, i + 1, i + 1, i + 1, i + 1, i + 0.1, i + 0.1, i % 2, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1))
J
jiacy-jcy 已提交
37

G
Ganlin Zhao 已提交
38
        # bottom verifacation
J
jiacy-jcy 已提交
39 40 41 42 43 44 45 46 47 48 49 50
        tdSql.error("select bottom(ts, 10) from test")
        tdSql.error("select bottom(col1, 0) from test")
        tdSql.error("select bottom(col1, 101) from test")
        tdSql.error("select bottom(col2, 0) from test")
        tdSql.error("select bottom(col2, 101) from test")
        tdSql.error("select bottom(col3, 0) from test")
        tdSql.error("select bottom(col3, 101) from test")
        tdSql.error("select bottom(col4, 0) from test")
        tdSql.error("select bottom(col4, 101) from test")
        tdSql.error("select bottom(col5, 0) from test")
        tdSql.error("select bottom(col5, 101) from test")
        tdSql.error("select bottom(col6, 0) from test")
G
Ganlin Zhao 已提交
51 52
        tdSql.error("select bottom(col6, 101) from test")
        tdSql.error("select bottom(col7, 10) from test")
J
jiacy-jcy 已提交
53 54 55 56 57
        tdSql.error("select bottom(col8, 10) from test")
        tdSql.error("select bottom(col9, 10) from test")

        tdSql.query("select bottom(col1, 2) from test")
        tdSql.checkRows(2)
J
jiacy-jcy 已提交
58
        tdSql.checkEqual(tdSql.queryResult,[(2,),(1,)])
J
jiacy-jcy 已提交
59 60
        tdSql.query("select bottom(col2, 2) from test")
        tdSql.checkRows(2)
J
jiacy-jcy 已提交
61
        tdSql.checkEqual(tdSql.queryResult,[(2,),(1,)])
J
jiacy-jcy 已提交
62 63 64

        tdSql.query("select bottom(col3, 2) from test")
        tdSql.checkRows(2)
J
jiacy-jcy 已提交
65
        tdSql.checkEqual(tdSql.queryResult,[(2,),(1,)])
J
jiacy-jcy 已提交
66 67 68

        tdSql.query("select bottom(col4, 2) from test")
        tdSql.checkRows(2)
J
jiacy-jcy 已提交
69
        tdSql.checkEqual(tdSql.queryResult,[(2,),(1,)])
J
jiacy-jcy 已提交
70 71 72

        tdSql.query("select bottom(col11, 2) from test")
        tdSql.checkRows(2)
J
jiacy-jcy 已提交
73
        tdSql.checkEqual(tdSql.queryResult,[(2,),(1,)])
J
jiacy-jcy 已提交
74 75 76

        tdSql.query("select bottom(col12, 2) from test")
        tdSql.checkRows(2)
J
jiacy-jcy 已提交
77
        tdSql.checkEqual(tdSql.queryResult,[(2,),(1,)])
J
jiacy-jcy 已提交
78 79 80

        tdSql.query("select bottom(col13, 2) from test")
        tdSql.checkRows(2)
J
jiacy-jcy 已提交
81
        tdSql.checkEqual(tdSql.queryResult,[(2,),(1,)])
J
jiacy-jcy 已提交
82

J
jiacy-jcy 已提交
83 84 85
        tdSql.query("select bottom(col13,50) from test")
        tdSql.checkRows(10)

J
jiacy-jcy 已提交
86 87
        tdSql.query("select bottom(col14, 2) from test")
        tdSql.checkRows(2)
J
jiacy-jcy 已提交
88 89
        tdSql.checkEqual(tdSql.queryResult,[(2,),(1,)])
        tdSql.query("select ts,bottom(col1, 2) from test1")
J
jiacy-jcy 已提交
90 91 92
        tdSql.checkRows(2)
        tdSql.query("select ts,bottom(col1, 2),ts from test group by tbname")
        tdSql.checkRows(2)
G
Ganlin Zhao 已提交
93

J
jiacy-jcy 已提交
94 95 96
        tdSql.query('select bottom(col2,1) from test interval(1y) order by col2')
        tdSql.checkData(0,0,1)

J
jiacy-jcy 已提交
97

J
jiacy-jcy 已提交
98 99
        tdSql.error('select * from test where bottom(col2,1)=1')
        
J
jiacy-jcy 已提交
100 101 102 103 104 105 106

    def stop(self):
        tdSql.close()
        tdLog.success("%s successfully executed" % __file__)

tdCases.addWindows(__file__, TDTestCase())
tdCases.addLinux(__file__, TDTestCase())