mirror of
https://github.com/taosdata/TDengine
synced 2026-05-24 10:09:01 +00:00
* feat(mqtt): Initial commit for mqtt
* chore(xnode/mnd): xnode message handlers for mnode
* chore(mnd/xnode): mnode part for xnode
* chore(xnode/translater): fix show commands
* fix(ast/creater): fix xnode create option
* fix(xnode/ci): fix ci & doc's error codes
* chore(xnode/sql): make create/drop/show work properly
* fix(xnode/sql): commit new files
* fix(xnode/sql): commit cmake files
* fix: fix testing cases
* fix(xnode/tsc): fix tokens
* fix(ast/anode): fix anode update decl.
* fix(xnode/error): fix xnode error codes
* fix: xnode make/destroy
* chore: xnode with option & dnode id
* chore: use taosmqtt for xnode
* chore: new error code for xnode launching
* chore(xnode): new error code
* chore: header for _xnode_mgmt_mqtt
* chore: source for _xnode_mgmt_mqtt
* chore: remove test directory from cmake
* chore: remove taosmqtt for ci to compile
* chore: remove taosudf header from xnode
* chore: new window macro
* chore: remove xnode mgmt mqtt for windows compilation
* Revert "chore: remove xnode mgmt mqtt for windows compilation"
This reverts commit 197e1640c7.
* chore: cleanup code
* chore: xnode mgmt comment windows part out
* chore: mgmt/mqtt, move uv head toppest
* xnode/mnode: create xnode once per dnode
* fix(xnode/systable/test): fix column count
* xnode/sdb: renumber sdb type for xnode to make start/stop order correct
* xnode/mqtt: new param mqttPort
* fix SXnode's struct type
* transfer dnode id to mqtt subscription
* tmqtt: remove uv_a linking
* tmqtt/tools: sources for tools
* tools: fix windows compilation
* tools/producer: fix windows sleep param
* tools/producer: fix uninited var rc
* make tools only for linux
* test/mnodes: wail 1 or 2 seconds for offline to be leader
* update topic producer tool for geometry data type testing
* format tool sql statements
* show xnodes' ep
* make shell auto complete xnodes
* use usleep instead of sleep
* mqtt/proto: first version mqtt protocol
* remove assert styles
* build with linux only
* fix libuv for taosmqtt building
* fix log printing
* mem: use ttq_ prefix instead of tmqtt
* xnode/parser/proto: protocol option for xnode
* xnode/translater/option: translate xnode option proto
* xnode/translator: translate proto param
* xnode/tmsg: encode/decode proto param
* xnode/mnode: proto parma for mndXnode
* xnode/proto: protocol param for xnode
* xnode/mqtt: save/load proto from xnode json
* rename tmqtt proto header
* rename head directories
* rename header name styles
* restyle func names
* update
* update
* use camel db
* use camel for cxt
* update count of information_schema
* fix exceptional cases
* fix w.r.t reviews
* fixes w.r.t reviews
* use ttq_free
* append xnode msgs
* update information schema count
* support tmq meta data sub
* success typo fix
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix error line var w.r.t. suggestions from copilot
* denote mqtt node with bnode instead of xnode
* smoke testing for mqtt
* soak testing
* new package for test framework: paho 2.1.0
* import mqtt into util
* fix soak testing
* test/soak: user 5 topics per client
* test/soak: cover qos
* update docker image references to tdengine-ci:0.1 in CI scripts and common.py
* refactor: rename bnode msg to backup node
* refactor: rename xnode to bnode 1
* refactor: rename xnode to bnode 2
* refactor: rename xnode to bnode 3
* refactor: rename xnode to bnode 4
* refactor: rename xnode to bnode 4
* refactor: rename xnode to bnode 5
* refactor: rename xnode to bnode 6
* refactor: rename some files 1
* refactor: rename some files 2
* refactor: rename some files 3
* refactor: rename some files 4
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: chenhaoran <haoran920c@163.com>
Co-authored-by: Simon Guan <guanshengliang@qq.com>
244 lines
11 KiB
Python
244 lines
11 KiB
Python
import sys
|
|
from util.log import *
|
|
from util.cases import *
|
|
from util.sql import *
|
|
from util.dnodes import tdDnodes
|
|
from math import inf
|
|
|
|
class TDTestCase:
|
|
def caseDescription(self):
|
|
'''
|
|
case1<shenglian zhou>: [TD-21890] table count scan test case
|
|
'''
|
|
return
|
|
|
|
def init(self, conn, logSql, replicaVer=1):
|
|
tdLog.debug("start to execute %s" % __file__)
|
|
tdSql.init(conn.cursor(), True)
|
|
self._conn = conn
|
|
|
|
def restartTaosd(self, index=1, dbname="db"):
|
|
tdDnodes.stop(index)
|
|
tdDnodes.startWithoutSleep(index)
|
|
tdSql.execute(f"use tbl_count")
|
|
|
|
def run(self):
|
|
print("running {}".format(__file__))
|
|
tdSql.execute("drop database if exists tbl_count")
|
|
tdSql.execute("create database if not exists tbl_count")
|
|
tdSql.execute('use tbl_count')
|
|
tdSql.execute('create table stb1 (ts timestamp, c1 bool, c2 tinyint, c3 smallint, c4 int, c5 bigint, c6 float, c7 double, c8 binary(10), c9 nchar(10), c10 tinyint unsigned, c11 smallint unsigned, c12 int unsigned, c13 bigint unsigned) TAGS(t1 int, t2 binary(10), t3 double);')
|
|
|
|
tdSql.execute("create table tb1 using stb1 tags(1,'1',1.0);")
|
|
|
|
tdSql.execute("create table tb2 using stb1 tags(2,'2',2.0);")
|
|
|
|
tdSql.execute("create table tb3 using stb1 tags(3,'3',3.0);")
|
|
|
|
tdSql.execute('insert into tb1 values (\'2021-11-11 09:00:00\',true,1,1,1,1,1,1,"123","1234",1,1,1,1);')
|
|
|
|
tdSql.execute("insert into tb1 values ('2021-11-11 09:00:01',true,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);")
|
|
|
|
tdSql.execute('insert into tb1 values (\'2021-11-11 09:00:02\',true,2,NULL,2,NULL,2,NULL,"234",NULL,2,NULL,2,NULL);')
|
|
|
|
tdSql.execute('insert into tb1 values (\'2021-11-11 09:00:03\',false,NULL,3,NULL,3,NULL,3,NULL,"3456",NULL,3,NULL,3);')
|
|
|
|
tdSql.execute('insert into tb1 values (\'2021-11-11 09:00:04\',true,4,4,4,4,4,4,"456","4567",4,4,4,4);')
|
|
|
|
tdSql.execute('insert into tb1 values (\'2021-11-11 09:00:05\',true,127,32767,2147483647,9223372036854775807,3.402823466e+38,1.79769e+308,"567","5678",254,65534,4294967294,9223372036854775807);')
|
|
|
|
tdSql.execute('insert into tb1 values (\'2021-11-11 09:00:06\',true,-127,-32767,-2147483647,-9223372036854775807,-3.402823466e+38,-1.79769e+308,"678","6789",0,0,0,0);')
|
|
|
|
tdSql.execute('insert into tb2 values (\'2021-11-11 09:00:00\',true,1,1,1,1,1,1,"111","1111",1,1,1,1);')
|
|
|
|
tdSql.execute('insert into tb2 values (\'2021-11-11 09:00:01\',true,2,2,2,2,2,2,"222","2222",2,2,2,2);')
|
|
|
|
tdSql.execute('insert into tb2 values (\'2021-11-11 09:00:02\',true,3,3,2,3,3,3,"333","3333",3,3,3,3);')
|
|
|
|
tdSql.execute('insert into tb2 values (\'2021-11-11 09:00:03\',false,4,4,4,4,4,4,"444","4444",4,4,4,4);')
|
|
|
|
tdSql.execute('insert into tb2 values (\'2021-11-11 09:00:04\',true,5,5,5,5,5,5,"555","5555",5,5,5,5);')
|
|
|
|
tdSql.execute('insert into tb2 values (\'2021-11-11 09:00:05\',true,6,6,6,6,6,6,"666","6666",6,6,6,6);')
|
|
|
|
tdSql.execute('insert into tb2 values (\'2021-11-11 09:00:06\',true,7,7,7,7,7,7,"777","7777",7,7,7,7);')
|
|
|
|
tdSql.query('select count(*),db_name, stable_name from information_schema.ins_tables group by db_name, stable_name;')
|
|
tdSql.checkRows(3)
|
|
for i in range(0, 3):
|
|
db_name = tdSql.getData(i, 1)
|
|
if db_name == 'information_schema':
|
|
tdSql.checkData(i, 0, 38)
|
|
tdSql.checkData(i, 2, None)
|
|
elif db_name == 'performance_schema':
|
|
tdSql.checkData(i, 0, 5)
|
|
tdSql.checkData(i, 2, None)
|
|
elif db_name == 'tbl_count':
|
|
tdSql.checkData(i, 0, 3)
|
|
tdSql.checkData(i, 2, 'stb1')
|
|
else:
|
|
raise Exception("unexpected db_name: %s" % db_name)
|
|
|
|
tdSql.query('select count(1) v,db_name, stable_name from information_schema.ins_tables group by db_name, stable_name order by v desc;')
|
|
tdSql.checkRows(3)
|
|
tdSql.checkData(0, 0, 38)
|
|
tdSql.checkData(0, 1, 'information_schema')
|
|
tdSql.checkData(0, 2, None)
|
|
tdSql.checkData(1, 0, 5)
|
|
tdSql.checkData(1, 1, 'performance_schema')
|
|
tdSql.checkData(1, 2, None)
|
|
tdSql.checkData(2, 0, 3)
|
|
tdSql.checkData(2, 1, 'tbl_count')
|
|
tdSql.checkData(2, 2, 'stb1')
|
|
|
|
tdSql.query('select count(1) v,db_name from information_schema.ins_tables group by db_name order by v asc')
|
|
tdSql.checkRows(3)
|
|
tdSql.checkData(1, 0, 5)
|
|
tdSql.checkData(1, 1, 'performance_schema')
|
|
tdSql.checkData(0, 0, 3)
|
|
tdSql.checkData(0, 1, 'tbl_count')
|
|
tdSql.checkData(2, 0, 38)
|
|
tdSql.checkData(2, 1, 'information_schema')
|
|
|
|
tdSql.query("select count(*) from information_schema.ins_tables where db_name='tbl_count'")
|
|
tdSql.checkRows(1)
|
|
tdSql.checkData(0, 0, 3)
|
|
|
|
tdSql.query('select count(*) from information_schema.ins_tables where db_name=\'tbl_count\' and stable_name="stb1";')
|
|
tdSql.checkRows(1)
|
|
tdSql.checkData(0, 0, 3)
|
|
|
|
tdSql.query('select count(*) from information_schema.ins_tables')
|
|
tdSql.checkRows(1)
|
|
tdSql.checkData(0, 0, 46)
|
|
|
|
|
|
tdSql.execute('create table stba (ts timestamp, c1 bool, c2 tinyint, c3 smallint, c4 int, c5 bigint, c6 float, c7 double, c8 binary(10), c9 nchar(10), c10 tinyint unsigned, c11 smallint unsigned, c12 int unsigned, c13 bigint unsigned) TAGS(t1 int, t2 binary(10), t3 double);')
|
|
|
|
tdSql.execute("create table tba1 using stba tags(1,'1',1.0);")
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:00\',true, 1,1,1,1,1,1,"111","1111",1,1,1,1);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:01\',true, 2,2,2,2,2,2,"222","2222",2,2,2,2);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:02\',true, 3,3,2,3,3,3,"333","3333",3,3,3,3);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:03\',false,4,4,4,4,4,4,"444","4444",4,4,4,4);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:04\',true, 5,5,5,5,5,5,"555","5555",5,5,5,5);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:05\',true, 6,6,6,6,6,6,"666","6666",6,6,6,6);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:06\',true, 7,7,7,7,7,7,"777","7777",7,7,7,7);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:07\',true, 8,8,8,8,8,8,"888","8888",8,8,8,8);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:08\',true, 9,9,9,9,9,9,"999","9999",9,9,9,9);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:09\',true, 0,0,0,0,0,0,"000","0000",0,0,0,0);')
|
|
|
|
self.restartTaosd(1, dbname='tbl_count')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:10\',true, 1,1,1,1,1,1,"111","1111",1,1,1,1);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:11\',true, 2,2,2,2,2,2,"222","2222",2,2,2,2);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:12\',true, 3,3,2,3,3,3,"333","3333",3,3,3,3);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:13\',false,4,4,4,4,4,4,"444","4444",4,4,4,4);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:14\',true, 5,5,5,5,5,5,"555","5555",5,5,5,5);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:15\',true, 6,6,6,6,6,6,"666","6666",6,6,6,6);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:16\',true, 7,7,7,7,7,7,"777","7777",7,7,7,7);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:17\',true, 8,8,8,8,8,8,"888","8888",8,8,8,8);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:18\',true, 9,9,9,9,9,9,"999","9999",9,9,9,9);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:19\',true, 0,0,0,0,0,0,"000","0000",0,0,0,0);')
|
|
|
|
self.restartTaosd(1, dbname='tbl_count')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:20\',true, 1,1,1,1,1,1,"111","1111",1,1,1,1);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:21\',true, 2,2,2,2,2,2,"222","2222",2,2,2,2);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:22\',true, 3,3,2,3,3,3,"333","3333",3,3,3,3);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:23\',false,4,4,4,4,4,4,"444","4444",4,4,4,4);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:24\',true, 5,5,5,5,5,5,"555","5555",5,5,5,5);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:25\',true, 6,6,6,6,6,6,"666","6666",6,6,6,6);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:26\',true, 7,7,7,7,7,7,"777","7777",7,7,7,7);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:27\',true, 8,8,8,8,8,8,"888","8888",8,8,8,8);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:28\',true, 9,9,9,9,9,9,"999","9999",9,9,9,9);')
|
|
|
|
tdSql.execute('insert into tba1 values (\'2021-11-11 09:00:29\',true, 0,0,0,0,0,0,"000","0000",0,0,0,0);')
|
|
|
|
tdSql.query('select count(*) v,db_name, stable_name from information_schema.ins_tables group by db_name, stable_name order by v;')
|
|
tdSql.checkRows(4)
|
|
tdSql.checkData(0, 0, 1)
|
|
tdSql.checkData(0, 1, 'tbl_count')
|
|
tdSql.checkData(0, 2, 'stba')
|
|
|
|
tdSql.checkData(1, 0, 3)
|
|
tdSql.checkData(1, 1, 'tbl_count')
|
|
tdSql.checkData(1, 2, 'stb1')
|
|
tdSql.checkData(2, 0, 5)
|
|
tdSql.checkData(2, 1, 'performance_schema')
|
|
tdSql.checkData(2, 2, None)
|
|
tdSql.checkData(3, 0, 38)
|
|
tdSql.checkData(3, 1, 'information_schema')
|
|
tdSql.checkData(3, 2, None)
|
|
|
|
tdSql.query('select count(1) v,db_name, stable_name from information_schema.ins_tables group by db_name, stable_name order by v;')
|
|
tdSql.checkRows(4)
|
|
tdSql.checkData(0, 0, 1)
|
|
tdSql.checkData(0, 1, 'tbl_count')
|
|
tdSql.checkData(0, 2, 'stba')
|
|
tdSql.checkData(1, 0, 3)
|
|
tdSql.checkData(1, 1, 'tbl_count')
|
|
tdSql.checkData(1, 2, 'stb1')
|
|
tdSql.checkData(2, 0, 5)
|
|
tdSql.checkData(2, 1, 'performance_schema')
|
|
tdSql.checkData(2, 2, None)
|
|
tdSql.checkData(3, 0, 38)
|
|
tdSql.checkData(3, 1, 'information_schema')
|
|
tdSql.checkData(3, 2, None)
|
|
|
|
tdSql.query('select count(1) v,db_name from information_schema.ins_tables group by db_name order by v')
|
|
tdSql.checkRows(3)
|
|
|
|
tdSql.checkData(0, 0, 4)
|
|
tdSql.checkData(0, 1, 'tbl_count')
|
|
tdSql.checkData(1, 0, 5)
|
|
tdSql.checkData(1, 1, 'performance_schema')
|
|
tdSql.checkData(2, 0, 38)
|
|
tdSql.checkData(2, 1, 'information_schema')
|
|
|
|
tdSql.query("select count(*) from information_schema.ins_tables where db_name='tbl_count'")
|
|
tdSql.checkRows(1)
|
|
tdSql.checkData(0, 0, 4)
|
|
|
|
tdSql.query('select count(*) from information_schema.ins_tables where db_name=\'tbl_count\' and stable_name="stb1";')
|
|
tdSql.checkRows(1)
|
|
tdSql.checkData(0, 0, 3)
|
|
|
|
tdSql.query('select count(*) from information_schema.ins_tables')
|
|
tdSql.checkRows(1)
|
|
tdSql.checkData(0, 0, 47)
|
|
|
|
|
|
tdSql.execute('drop database tbl_count')
|
|
def stop(self):
|
|
tdSql.close()
|
|
tdLog.success("%s successfully executed" % __file__)
|
|
|
|
tdCases.addWindows(__file__, TDTestCase())
|
|
tdCases.addLinux(__file__, TDTestCase())
|