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
from util.log import *
from util.cases import *
from util.sql import *


class TDTestCase:
S
Shuduo Sang 已提交
13
    def init(self, conn, logSql):
sangshuduo's avatar
sangshuduo 已提交
14
        tdLog.debug("start to execute %s" % __file__)
S
Shuduo Sang 已提交
15
        tdSql.init(conn.cursor(), logSql)
sangshuduo's avatar
sangshuduo 已提交
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

    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')
H
Haojun Liao 已提交
91
        # TSIM: sql create table $tb (ts timestamp, a0123456789012345678901234567890123456789 int)
S
Shuduo Sang 已提交
92
        getMaxColNum = "grep -w '#define TSDB_COL_NAME_LEN' ../../src/inc/taosdef.h|awk '{print $3}'"
H
Haojun Liao 已提交
93
        boundary = int(subprocess.check_output(getMaxColNum, shell=True)) - 1
S
Shuduo Sang 已提交
94 95 96 97 98 99 100 101 102 103
        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 已提交
104
        tdLog.info(
S
Shuduo Sang 已提交
105 106
            'create table tb (ts timestamp, %s int), col_name length is %d' %
            (col_name, len(col_name)))
sangshuduo's avatar
sangshuduo 已提交
107
        tdSql.execute(
S
Shuduo Sang 已提交
108 109
            'create table tb (ts timestamp, %s int)' % col_name)

sangshuduo's avatar
sangshuduo 已提交
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
        # 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())