forked from taosdata/TDengine
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: update taostools 2.2.0 (2dba49c) for develop (taosdata#16774)
* feat: update taos-tools f169c0f for develop * feat: update taos-tools a4d9b92 for develop * feat: update taos-tools 7d5c1c0 for develop * fix: after taosbenchmark create table without if not exits * feat: update taos-tools 2.2.0 (2dba49c) for develop * test: add more taosdump test cases * fix: rust example cargo bstr to 0.2
- Loading branch information
1 parent
a9c0051
commit 395d08c
Showing
21 changed files
with
897 additions
and
144 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule taos-tools
updated
5 files
+18 −17 | .github/workflows/3.0-coveralls.yml | |
+17 −17 | .github/workflows/coveralls.yml | |
+1 −0 | README.md | |
+1,464 −1,369 | src/taosdump.c | |
+79 −36 | tests/taosdump/native/taosdumpTestInspect.py |
131 changes: 131 additions & 0 deletions
131
tests/develop-test/5-taos-tools/taosdump/taosdumpDbNtb.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,131 @@ | ||
################################################################### | ||
# 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 os | ||
from util.log import * | ||
from util.cases import * | ||
from util.sql import * | ||
from util.dnodes import * | ||
|
||
|
||
class TDTestCase: | ||
def caseDescription(self): | ||
''' | ||
case1<sdsang>: [TD-18291] taosdump basic test | ||
''' | ||
return | ||
|
||
def init(self, conn, logSql): | ||
tdLog.debug("start to execute %s" % __file__) | ||
tdSql.init(conn.cursor(), logSql) | ||
self.tmpdir = "tmp" | ||
|
||
def getPath(self, tool="taosdump"): | ||
selfPath = os.path.dirname(os.path.realpath(__file__)) | ||
|
||
if ("community" in selfPath): | ||
projPath = selfPath[:selfPath.find("community")] | ||
elif ("src" in selfPath): | ||
projPath = selfPath[:selfPath.find("src")] | ||
elif ("/tools/" in selfPath): | ||
projPath = selfPath[:selfPath.find("/tools/")] | ||
else: | ||
tdLog.exit("path: %s is not supported" % selfPath) | ||
|
||
paths = [] | ||
for root, dirs, files in os.walk(projPath): | ||
if ((tool) in files): | ||
rootRealPath = os.path.dirname(os.path.realpath(root)) | ||
if ("packaging" not in rootRealPath): | ||
paths.append(os.path.join(root, tool)) | ||
break | ||
if (len(paths) == 0): | ||
return "" | ||
return paths[0] | ||
|
||
def run(self): | ||
tdSql.prepare() | ||
|
||
tdSql.execute("drop database if exists db") | ||
tdSql.execute("create database db keep 3649 ") | ||
|
||
tdSql.execute("use db") | ||
tdSql.execute( | ||
"create table st(ts timestamp, c1 INT, c2 BOOL, c3 TINYINT, c4 SMALLINT, c5 BIGINT, c6 FLOAT, c7 DOUBLE, c8 TIMESTAMP, c9 BINARY(10), c10 NCHAR(10), c11 TINYINT UNSIGNED, c12 SMALLINT UNSIGNED, c13 INT UNSIGNED, c14 BIGINT UNSIGNED) tags(n1 INT, w2 BOOL, t3 TINYINT, t4 SMALLINT, t5 BIGINT, t6 FLOAT, t7 DOUBLE, t8 TIMESTAMP, t9 BINARY(10), t10 NCHAR(10), t11 TINYINT UNSIGNED, t12 SMALLINT UNSIGNED, t13 INT UNSIGNED, t14 BIGINT UNSIGNED)") | ||
tdSql.execute( | ||
"create table t1 using st tags(1, true, 1, 1, 1, 1.0, 1.0, 1, '1', '一', 1, 1, 1, 1)") | ||
tdSql.execute( | ||
"insert into t1 values(1640000000000, 1, true, 1, 1, 1, 1.0, 1.0, 1, '1', '一', 1, 1, 1, 1)") | ||
tdSql.execute( | ||
"create table t2 using st tags(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)") | ||
tdSql.execute( | ||
"insert into t2 values(1640000000000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)") | ||
tdSql.execute( | ||
"create table db.nt1 (ts timestamp, c1 INT, c2 BOOL, c3 TINYINT, c4 SMALLINT, c5 BIGINT, c6 FLOAT, c7 DOUBLE, c8 TIMESTAMP, c9 BINARY(10), c10 NCHAR(10), c11 TINYINT UNSIGNED, c12 SMALLINT UNSIGNED, c13 INT UNSIGNED, c14 BIGINT UNSIGNED)") | ||
tdSql.execute( | ||
"insert into nt1 values(1640000000000, 1, true, 1, 1, 1, 1.0, 1.0, 1, '1', '一', 1, 1, 1, 1)") | ||
tdSql.execute( | ||
"insert into nt1 values(1640000000000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)") | ||
|
||
# sys.exit(1) | ||
|
||
binPath = self.getPath("taosdump") | ||
if (binPath == ""): | ||
tdLog.exit("taosdump not found!") | ||
else: | ||
tdLog.info("taosdump found in %s" % binPath) | ||
|
||
if not os.path.exists(self.tmpdir): | ||
os.makedirs(self.tmpdir) | ||
else: | ||
print("directory exists") | ||
os.system("rm -rf %s" % self.tmpdir) | ||
os.makedirs(self.tmpdir) | ||
|
||
os.system( | ||
"%s db t1 -o %s -T 1" % | ||
(binPath, self.tmpdir)) | ||
|
||
tdSql.execute("drop database db") | ||
# sys.exit(1) | ||
|
||
os.system("%s -i %s -T 1" % (binPath, self.tmpdir)) | ||
|
||
tdSql.query("show databases") | ||
dbresult = tdSql.queryResult | ||
|
||
found = False | ||
for i in range(len(dbresult)): | ||
print("Found db: %s" % dbresult[i][0]) | ||
if (dbresult[i][0] == "db"): | ||
found = True | ||
break | ||
|
||
assert found == True | ||
|
||
tdSql.execute("use db") | ||
tdSql.query("show stables") | ||
tdSql.checkRows(1) | ||
tdSql.checkData(0, 0, 'st') | ||
|
||
tdSql.query("show tables") | ||
tdSql.checkRows(1) | ||
|
||
|
||
def stop(self): | ||
tdSql.close() | ||
tdLog.success("%s successfully executed" % __file__) | ||
|
||
|
||
tdCases.addWindows(__file__, TDTestCase()) | ||
tdCases.addLinux(__file__, TDTestCase()) |
131 changes: 131 additions & 0 deletions
131
tests/develop-test/5-taos-tools/taosdump/taosdumpDbStb.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,131 @@ | ||
################################################################### | ||
# 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 os | ||
from util.log import * | ||
from util.cases import * | ||
from util.sql import * | ||
from util.dnodes import * | ||
|
||
|
||
class TDTestCase: | ||
def caseDescription(self): | ||
''' | ||
case1<sdsang>: [TD-18291] taosdump basic test | ||
''' | ||
return | ||
|
||
def init(self, conn, logSql): | ||
tdLog.debug("start to execute %s" % __file__) | ||
tdSql.init(conn.cursor(), logSql) | ||
self.tmpdir = "tmp" | ||
|
||
def getPath(self, tool="taosdump"): | ||
selfPath = os.path.dirname(os.path.realpath(__file__)) | ||
|
||
if ("community" in selfPath): | ||
projPath = selfPath[:selfPath.find("community")] | ||
elif ("src" in selfPath): | ||
projPath = selfPath[:selfPath.find("src")] | ||
elif ("/tools/" in selfPath): | ||
projPath = selfPath[:selfPath.find("/tools/")] | ||
else: | ||
tdLog.exit("path: %s is not supported" % selfPath) | ||
|
||
paths = [] | ||
for root, dirs, files in os.walk(projPath): | ||
if ((tool) in files): | ||
rootRealPath = os.path.dirname(os.path.realpath(root)) | ||
if ("packaging" not in rootRealPath): | ||
paths.append(os.path.join(root, tool)) | ||
break | ||
if (len(paths) == 0): | ||
return "" | ||
return paths[0] | ||
|
||
def run(self): | ||
tdSql.prepare() | ||
|
||
tdSql.execute("drop database if exists db") | ||
tdSql.execute("create database db keep 3649 ") | ||
|
||
tdSql.execute("use db") | ||
tdSql.execute( | ||
"create table st(ts timestamp, c1 INT, c2 BOOL, c3 TINYINT, c4 SMALLINT, c5 BIGINT, c6 FLOAT, c7 DOUBLE, c8 TIMESTAMP, c9 BINARY(10), c10 NCHAR(10), c11 TINYINT UNSIGNED, c12 SMALLINT UNSIGNED, c13 INT UNSIGNED, c14 BIGINT UNSIGNED) tags(n1 INT, w2 BOOL, t3 TINYINT, t4 SMALLINT, t5 BIGINT, t6 FLOAT, t7 DOUBLE, t8 TIMESTAMP, t9 BINARY(10), t10 NCHAR(10), t11 TINYINT UNSIGNED, t12 SMALLINT UNSIGNED, t13 INT UNSIGNED, t14 BIGINT UNSIGNED)") | ||
tdSql.execute( | ||
"create table t1 using st tags(1, true, 1, 1, 1, 1.0, 1.0, 1, '1', '一', 1, 1, 1, 1)") | ||
tdSql.execute( | ||
"insert into t1 values(1640000000000, 1, true, 1, 1, 1, 1.0, 1.0, 1, '1', '一', 1, 1, 1, 1)") | ||
tdSql.execute( | ||
"create table t2 using st tags(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)") | ||
tdSql.execute( | ||
"insert into t2 values(1640000000000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)") | ||
tdSql.execute( | ||
"create table db.nt1 (ts timestamp, c1 INT, c2 BOOL, c3 TINYINT, c4 SMALLINT, c5 BIGINT, c6 FLOAT, c7 DOUBLE, c8 TIMESTAMP, c9 BINARY(10), c10 NCHAR(10), c11 TINYINT UNSIGNED, c12 SMALLINT UNSIGNED, c13 INT UNSIGNED, c14 BIGINT UNSIGNED)") | ||
tdSql.execute( | ||
"insert into nt1 values(1640000000000, 1, true, 1, 1, 1, 1.0, 1.0, 1, '1', '一', 1, 1, 1, 1)") | ||
tdSql.execute( | ||
"insert into nt1 values(1640000000000, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL)") | ||
|
||
# sys.exit(1) | ||
|
||
binPath = self.getPath("taosdump") | ||
if (binPath == ""): | ||
tdLog.exit("taosdump not found!") | ||
else: | ||
tdLog.info("taosdump found in %s" % binPath) | ||
|
||
if not os.path.exists(self.tmpdir): | ||
os.makedirs(self.tmpdir) | ||
else: | ||
print("directory exists") | ||
os.system("rm -rf %s" % self.tmpdir) | ||
os.makedirs(self.tmpdir) | ||
|
||
os.system( | ||
"%s db st -o %s -T 1" % | ||
(binPath, self.tmpdir)) | ||
|
||
tdSql.execute("drop database db") | ||
# sys.exit(1) | ||
|
||
os.system("%s -i %s -T 1" % (binPath, self.tmpdir)) | ||
|
||
tdSql.query("show databases") | ||
dbresult = tdSql.queryResult | ||
|
||
found = False | ||
for i in range(len(dbresult)): | ||
print("Found db: %s" % dbresult[i][0]) | ||
if (dbresult[i][0] == "db"): | ||
found = True | ||
break | ||
|
||
assert found == True | ||
|
||
tdSql.execute("use db") | ||
tdSql.query("show stables") | ||
tdSql.checkRows(1) | ||
tdSql.checkData(0, 0, 'st') | ||
|
||
tdSql.query("show tables") | ||
tdSql.checkRows(2) | ||
|
||
|
||
def stop(self): | ||
tdSql.close() | ||
tdLog.success("%s successfully executed" % __file__) | ||
|
||
|
||
tdCases.addWindows(__file__, TDTestCase()) | ||
tdCases.addLinux(__file__, TDTestCase()) |
Oops, something went wrong.