querySession.py 5.3 KB
Newer Older
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
###################################################################
#           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 *
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())

    def run(self):
        tdSql.prepare()

        print("==============step1")
        tdSql.execute(
            "create table if not exists st (ts timestamp, tagtype int) tags(dev nchar(50), tag2 binary(16))")
        tdSql.execute(
            'CREATE TABLE if not exists dev_001 using st tags("dev_01", "tag_01")')
        tdSql.execute(
            'CREATE TABLE if not exists dev_002 using st tags("dev_02", "tag_02")')

        print("==============step2")

        tdSql.execute(
            """INSERT INTO dev_001 VALUES('2020-05-13 10:00:00.000', 1)('2020-05-13 10:00:00.005', 2)('2020-05-13 10:00:00.011', 3)
            ('2020-05-13 10:00:01.011', 4)('2020-05-13 10:00:01.611', 5)('2020-05-13 10:00:02.612', 6)
            ('2020-05-13 10:01:02.612', 7)('2020-05-13 10:02:02.612', 8)('2020-05-13 10:03:02.613', 9)
            ('2020-05-13 11:00:00.000', 10)('2020-05-13 12:00:00.000', 11)('2020-05-13 13:00:00.001', 12)
            ('2020-05-14 13:00:00.001', 13)('2020-05-15 14:00:00.000', 14)('2020-05-20 10:00:00.000', 15)
            ('2020-05-27 10:00:00.001', 16) dev_002 VALUES('2020-05-13 10:00:00.000', 1)('2020-05-13 10:00:00.005', 2)('2020-05-13 10:00:00.009', 3)('2020-05-13 10:00:00.0021', 4)
            ('2020-05-13 10:00:00.031', 5)('2020-05-13 10:00:00.036', 6)('2020-05-13 10:00:00.51', 7)
            """)

        # session(ts,5a)
        tdSql.query("select count(*) from dev_001 session(ts,5a)")
        tdSql.checkRows(15)
        tdSql.checkData(0, 1, 2)


        # session(ts,1s)
        tdSql.query("select count(*) from dev_001 session(ts,1s)")
        tdSql.checkRows(12)
        tdSql.checkData(0, 1, 5)

        tdSql.query("select count(*) from dev_001 session(ts,1000a)")
        tdSql.checkRows(12)
        tdSql.checkData(0, 1, 5)

        # session(ts,1m)
        tdSql.query("select count(*) from dev_001 session(ts,1m)")
        tdSql.checkRows(9)
        tdSql.checkData(0, 1, 8)

        # session(ts,1h)
        tdSql.query("select count(*) from dev_001 session(ts,1h)")
        tdSql.checkRows(6)
        tdSql.checkData(0, 1, 11)

        # session(ts,1d)
        tdSql.query("select count(*) from dev_001 session(ts,1d)")
        tdSql.checkRows(4)
        tdSql.checkData(0, 1, 13)

        # session(ts,1w)
        tdSql.query("select count(*) from dev_001 session(ts,1w)")
        tdSql.checkRows(2)
        tdSql.checkData(0, 1, 15)

        # session with where 
L
liuyq-617 已提交
85
        tdSql.query("select count(*),first(tagtype),last(tagtype),avg(tagtype),sum(tagtype),min(tagtype),max(tagtype),leastsquares(tagtype, 1, 1),spread(tagtype),stddev(tagtype),percentile(tagtype,0)  from dev_001 where ts <'2020-05-20 0:0:0' session(ts,1d)")
86 87 88 89 90 91 92 93 94 95
        tdSql.checkRows(2)
        tdSql.checkData(0, 1, 13)
        tdSql.checkData(0, 2, 1)
        tdSql.checkData(0, 3, 13)
        tdSql.checkData(0, 4, 7)
        tdSql.checkData(0, 5, 91)
        tdSql.checkData(0, 6, 1)
        tdSql.checkData(0, 7, 13)
        tdSql.checkData(0, 8, '{slop:1.000000, intercept:0.000000}')
        tdSql.checkData(0, 9, 12)
L
liuyq-617 已提交
96 97 98
        tdSql.checkData(0, 10, 3.741657387)
        tdSql.checkData(0, 11, 1)
        tdSql.checkData(1, 11, 14)
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120

        # tdsql err
        tdSql.error("select * from dev_001 session(ts,1w)")
        tdSql.error("select count(*) from st session(ts,1w)")
        tdSql.error("select count(*) from dev_001 group by tagtype session(ts,1w) ")
        tdSql.error("select count(*) from dev_001 session(ts,1n)")
        tdSql.error("select count(*) from dev_001 session(ts,1y)")
        tdSql.error("select count(*) from dev_001 session(ts,0s)")
        tdSql.error("select count(*) from dev_001 session(i,1y)")
        tdSql.error("select count(*) from dev_001 session(ts,1d) where ts <'2020-05-20 0:0:0'")

        #test precision us 
        tdSql.execute("create database test precision 'us'")
        tdSql.execute("use test")
        tdSql.execute("create table dev_001 (ts timestamp ,i timestamp ,j int)")
        tdSql.execute("insert into dev_001 values(1623046993681000,now,1)(1623046993681001,now+1s,2)(1623046993681002,now+2s,3)(1623046993681004,now+5s,4)")

        # session(ts,1u)
        tdSql.query("select count(*) from dev_001 session(ts,1u)")
        tdSql.checkRows(2)
        tdSql.checkData(0, 1, 3)
        tdSql.error("select count(*) from dev_001 session(i,1s)")
121 122 123
        # test second timestamp fileds
        tdSql.execute("create table secondts(ts timestamp,t2 timestamp,i int)")
        tdSql.error("select count(*) from secondts session(t2,2s)")
124 125 126 127 128 129 130 131

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


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