column_name.py 4.3 KB
Newer Older
sangshuduo's avatar
sangshuduo 已提交
1 2 3
# -*- coding: utf-8 -*-

import sys
S
Shuduo Sang 已提交
4 5 6
import string
import random
import subprocess
sangshuduo's avatar
sangshuduo 已提交
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 85 86 87 88 89 90 91 92
from util.log import *
from util.cases import *
from util.sql import *


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

    def run(self):
        tdSql.prepare()

        tdLog.info('=============== step1')
        tdLog.info('drop table dd -x step0')
        tdSql.error('drop table dd')
        tdLog.info('create table tb(ts timestamp, int) -x step1')
        tdSql.error('create table tb(ts timestamp, int)')
        # TSIM: return -1
        # TSIM: step1:
        # TSIM:
        # TSIM: sql show tables
        tdLog.info('show tables')
        tdSql.query('show tables')
        # TSIM: if $rows != 0 then
        tdLog.info('tdSql.checkRow(0)')
        tdSql.checkRows(0)
        # TSIM: return -1
        # TSIM: endi
        # TSIM:
        # TSIM: print =============== step2
        tdLog.info('=============== step2')
        # TSIM: sql create table $tb (ts timestamp, s int)
        tdLog.info('create table tb (ts timestamp, s int)')
        tdSql.execute('create table tb (ts timestamp, s int)')
        # TSIM: sql show tables
        tdLog.info('show tables')
        tdSql.query('show tables')
        # TSIM: if $rows != 1 then
        tdLog.info('tdSql.checkRow(1)')
        tdSql.checkRows(1)
        # TSIM: return -1
        # TSIM: endi
        # TSIM:
        # TSIM: sql drop table $tb
        tdLog.info('drop table tb')
        tdSql.execute('drop table tb')
        # TSIM: sql show tables
        tdLog.info('show tables')
        tdSql.query('show tables')
        # TSIM: if $rows != 0 then
        tdLog.info('tdSql.checkRow(0)')
        tdSql.checkRows(0)
        # TSIM: return -1
        # TSIM: endi
        # TSIM:
        # TSIM: print =============== step3
        tdLog.info('=============== step3')
        # TSIM: sql create table $tb (ts timestamp, a0123456789 int)
        tdLog.info('create table tb (ts timestamp, a0123456789 int)')
        tdSql.execute('create table tb (ts timestamp, a0123456789 int)')
        # TSIM: sql show tables
        tdLog.info('show tables')
        tdSql.query('show tables')
        # TSIM: if $rows != 1 then
        tdLog.info('tdSql.checkRow(1)')
        tdSql.checkRows(1)
        # TSIM: return -1
        # TSIM: endi
        # TSIM:
        # TSIM: sql drop table $tb
        tdLog.info('drop table tb')
        tdSql.execute('drop table tb')
        # TSIM: sql show tables
        tdLog.info('show tables')
        tdSql.query('show tables')
        # TSIM: if $rows != 0 then
        tdLog.info('tdSql.checkRow(0)')
        tdSql.checkRows(0)
        # TSIM: return -1
        # TSIM: endi
        # TSIM:
        # TSIM: print =============== step4
        tdLog.info('=============== step4')
        # TSIM: sql create table $tb (ts timestamp,
        # a0123456789012345678901234567890123456789 int)
S
Shuduo Sang 已提交
93 94 95 96 97 98 99 100 101 102 103 104
        getMaxColNum = "grep -w '#define TSDB_COL_NAME_LEN' ../../src/inc/taosdef.h|awk '{print $3}'"
        boundary = int(subprocess.check_output(getMaxColNum, shell=True))
        tdLog.info("get max column name length is %d" % boundary)
        chars = string.ascii_uppercase + string.ascii_lowercase

#        col_name = ''.join(random.choices(chars, k=boundary+1))
#        tdLog.info(
#            'create table tb (ts timestamp, %s int), col_name length is %d' % (col_name, len(col_name)))
#        tdSql.error(
#            'create table tb (ts timestamp, %s int)' % col_name)

        col_name = ''.join(random.choices(chars, k=boundary))
sangshuduo's avatar
sangshuduo 已提交
105
        tdLog.info(
S
Shuduo Sang 已提交
106 107
            'create table tb (ts timestamp, %s int), col_name length is %d' %
            (col_name, len(col_name)))
sangshuduo's avatar
sangshuduo 已提交
108
        tdSql.execute(
S
Shuduo Sang 已提交
109 110
            'create table tb (ts timestamp, %s int)' % col_name)

sangshuduo's avatar
sangshuduo 已提交
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
        # TSIM: sql insert into $tb values (now , 1)
        tdLog.info("insert into tb values (now , 1)")
        tdSql.execute("insert into tb values (now , 1)")
        # TSIM: sql select * from $tb
        tdLog.info('select * from tb')
        tdSql.query('select * from tb')
        # TSIM: if $rows != 1 then
        tdLog.info('tdSql.checkRow(1)')
        tdSql.checkRows(1)
# convert end

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


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