提交 dd6f16ff 编写于 作者: W wpan

Merge branch 'develop' into feature/TD-10396

...@@ -986,36 +986,55 @@ static void parse_args(int argc, char *argv[], SArguments *arguments) { ...@@ -986,36 +986,55 @@ static void parse_args(int argc, char *argv[], SArguments *arguments) {
arguments->performance_print = true; arguments->performance_print = true;
} else if ((0 == strncmp(argv[i], "-P", strlen("-P"))) } else if ((0 == strncmp(argv[i], "-P", strlen("-P")))
|| (0 == strncmp(argv[i], "--port", strlen("--port")))) { || (0 == strncmp(argv[i], "--port", strlen("--port")))) {
uint64_t port;
char strPort[BIGINT_BUFF_LEN];
if (2 == strlen(argv[i])) { if (2 == strlen(argv[i])) {
if (argc == i+1) { if (argc == i+1) {
errorPrintReqArg(argv[0], "P"); errorPrintReqArg(argv[0], "P");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} else if (!isStringNumber(argv[i+1])) { } else if (isStringNumber(argv[i+1])) {
tstrncpy(strPort, argv[++i], BIGINT_BUFF_LEN);
} else {
errorPrintReqArg2(argv[0], "P"); errorPrintReqArg2(argv[0], "P");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
arguments->port = atoi(argv[++i]);
} else if (0 == strncmp(argv[i], "--port=", strlen("--port="))) { } else if (0 == strncmp(argv[i], "--port=", strlen("--port="))) {
if (isStringNumber((char *)(argv[i] + strlen("--port=")))) { if (isStringNumber((char *)(argv[i] + strlen("--port=")))) {
arguments->port = atoi((char *)(argv[i]+strlen("--port="))); tstrncpy(strPort, (char *)(argv[i]+strlen("--port=")), BIGINT_BUFF_LEN);
} else {
errorPrintReqArg2(argv[0], "--port");
exit(EXIT_FAILURE);
} }
} else if (0 == strncmp(argv[i], "-P", strlen("-P"))) { } else if (0 == strncmp(argv[i], "-P", strlen("-P"))) {
if (isStringNumber((char *)(argv[i] + strlen("-P")))) { if (isStringNumber((char *)(argv[i] + strlen("-P")))) {
arguments->port = atoi((char *)(argv[i]+strlen("-P"))); tstrncpy(strPort, (char *)(argv[i]+strlen("-P")), BIGINT_BUFF_LEN);
} else {
errorPrintReqArg2(argv[0], "--port");
exit(EXIT_FAILURE);
} }
} else if (strlen("--port") == strlen(argv[i])) { } else if (strlen("--port") == strlen(argv[i])) {
if (argc == i+1) { if (argc == i+1) {
errorPrintReqArg3(argv[0], "--port"); errorPrintReqArg3(argv[0], "--port");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} else if (!isStringNumber(argv[i+1])) { } else if (isStringNumber(argv[i+1])) {
tstrncpy(strPort, argv[++i], BIGINT_BUFF_LEN);
} else {
errorPrintReqArg2(argv[0], "--port"); errorPrintReqArg2(argv[0], "--port");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
arguments->port = atoi(argv[++i]);
} else { } else {
errorUnrecognized(argv[0], argv[i]); errorUnrecognized(argv[0], argv[i]);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
port = atoi(strPort);
if (port > 65535) {
errorWrongValue("taosdump", "-P or --port", strPort);
exit(EXIT_FAILURE);
}
arguments->port = (uint16_t)port;
} else if ((0 == strncmp(argv[i], "-I", strlen("-I"))) } else if ((0 == strncmp(argv[i], "-I", strlen("-I")))
|| (0 == strncmp(argv[i], "--interface", strlen("--interface")))) { || (0 == strncmp(argv[i], "--interface", strlen("--interface")))) {
if (2 == strlen(argv[i])) { if (2 == strlen(argv[i])) {
...@@ -1581,7 +1600,9 @@ static void parse_args(int argc, char *argv[], SArguments *arguments) { ...@@ -1581,7 +1600,9 @@ static void parse_args(int argc, char *argv[], SArguments *arguments) {
&& strcasecmp(dataType, "BIGINT") && strcasecmp(dataType, "BIGINT")
&& strcasecmp(dataType, "DOUBLE") && strcasecmp(dataType, "DOUBLE")
&& strcasecmp(dataType, "TIMESTAMP") && strcasecmp(dataType, "TIMESTAMP")
&& !regexMatch(dataType, "^(NCHAR|BINARY)(\\([1-9][0-9]*\\))?$", REG_ICASE | REG_EXTENDED) && !regexMatch(dataType,
"^(NCHAR|BINARY)(\\([1-9][0-9]*\\))?$",
REG_ICASE | REG_EXTENDED)
&& strcasecmp(dataType, "UTINYINT") && strcasecmp(dataType, "UTINYINT")
&& strcasecmp(dataType, "USMALLINT") && strcasecmp(dataType, "USMALLINT")
&& strcasecmp(dataType, "UINT") && strcasecmp(dataType, "UINT")
...@@ -1603,11 +1624,13 @@ static void parse_args(int argc, char *argv[], SArguments *arguments) { ...@@ -1603,11 +1624,13 @@ static void parse_args(int argc, char *argv[], SArguments *arguments) {
arguments->data_type[0] = TSDB_DATA_TYPE_FLOAT; arguments->data_type[0] = TSDB_DATA_TYPE_FLOAT;
} else if (0 == strcasecmp(dataType, "DOUBLE")) { } else if (0 == strcasecmp(dataType, "DOUBLE")) {
arguments->data_type[0] = TSDB_DATA_TYPE_DOUBLE; arguments->data_type[0] = TSDB_DATA_TYPE_DOUBLE;
} else if (1 == regexMatch(dataType, "^BINARY(\\([1-9][0-9]*\\))?$", REG_ICASE | } else if (1 == regexMatch(dataType,
REG_EXTENDED)) { "^BINARY(\\([1-9][0-9]*\\))?$",
REG_ICASE | REG_EXTENDED)) {
arguments->data_type[0] = TSDB_DATA_TYPE_BINARY; arguments->data_type[0] = TSDB_DATA_TYPE_BINARY;
} else if (1 == regexMatch(dataType, "^NCHAR(\\([1-9][0-9]*\\))?$", REG_ICASE | } else if (1 == regexMatch(dataType,
REG_EXTENDED)) { "^NCHAR(\\([1-9][0-9]*\\))?$",
REG_ICASE | REG_EXTENDED)) {
arguments->data_type[0] = TSDB_DATA_TYPE_NCHAR; arguments->data_type[0] = TSDB_DATA_TYPE_NCHAR;
} else if (0 == strcasecmp(dataType, "BOOL")) { } else if (0 == strcasecmp(dataType, "BOOL")) {
arguments->data_type[0] = TSDB_DATA_TYPE_BOOL; arguments->data_type[0] = TSDB_DATA_TYPE_BOOL;
...@@ -10280,7 +10303,7 @@ static void startMultiThreadInsertData(int threads, char* db_name, ...@@ -10280,7 +10303,7 @@ static void startMultiThreadInsertData(int threads, char* db_name,
&stbInfo->childTblName, &childTblCount, &stbInfo->childTblName, &childTblCount,
limit, limit,
offset); offset);
ntables = childTblCount; // CBD ntables = childTblCount;
} else { } else {
ntables = g_args.ntables; ntables = g_args.ntables;
tableFrom = 0; tableFrom = 0;
......
此差异已折叠。
...@@ -29,21 +29,7 @@ namespace TDengineDriver ...@@ -29,21 +29,7 @@ namespace TDengineDriver
private string password="taosdata"; private string password="taosdata";
private short port = 0; private short port = 0;
//sql parameters
private string dbName;
private string tbName;
private string precision;
private bool isInsertData;
private bool isQueryData;
private long tableCount;
private long totalRows;
private long batchRows;
private long beginTimestamp = 1551369600000L;
private IntPtr conn = IntPtr.Zero; private IntPtr conn = IntPtr.Zero;
private long rowsInserted = 0;
static void Main(string[] args) static void Main(string[] args)
{ {
...@@ -73,15 +59,6 @@ namespace TDengineDriver ...@@ -73,15 +59,6 @@ namespace TDengineDriver
tester.executeQuery("select * from tb;"); tester.executeQuery("select * from tb;");
// Console.WriteLine("expected is : {0}", width);
// tdSql.checkData(0,0,"2021-06-10 0:00:00.100000001");
// tdSql.checkData(1,0,"2021-06-10 0:00:00.150000000");
// tdSql.checkData(2,0,"2021-06-10 0:00:00.299999999");
// tdSql.checkData(3,1,3);
// tdSql.checkData(4,1,5);
// tdSql.checkData(5,1,7);
// tdSql.checkRows(6);
tester.executeQuery("select count(*) from tb where ts > 1623254400100000000 and ts < 1623254400100000002;"); tester.executeQuery("select count(*) from tb where ts > 1623254400100000000 and ts < 1623254400100000002;");
Console.WriteLine("expected is : 1 " ); Console.WriteLine("expected is : 1 " );
tester.executeQuery("select count(*) from tb where ts > '2021-06-10 0:00:00.100000001' and ts < '2021-06-10 0:00:00.160000000';"); tester.executeQuery("select count(*) from tb where ts > '2021-06-10 0:00:00.100000001' and ts < '2021-06-10 0:00:00.160000000';");
...@@ -271,8 +248,8 @@ namespace TDengineDriver ...@@ -271,8 +248,8 @@ namespace TDengineDriver
// tdSql.checkData(0,0,1623258000123456789); // tdSql.checkData(0,0,1623258000123456789);
Console.WriteLine("usdb" ); Console.WriteLine("usdb" );
tester.execute("drop database if exists usdb;");
tester.execute("create database usdb precision 'us';"); tester.execute("create database usdb precision 'us';");
tester.execute("use usdb;"); tester.execute("use usdb;");
tester.execute("create stable st (ts timestamp ,speed float ) tags(time timestamp ,id int);"); tester.execute("create stable st (ts timestamp ,speed float ) tags(time timestamp ,id int);");
...@@ -290,12 +267,8 @@ namespace TDengineDriver ...@@ -290,12 +267,8 @@ namespace TDengineDriver
tester.executeQuery("select first(*) from tb1;"); tester.executeQuery("select first(*) from tb1;");
Console.WriteLine("expected is : 1623258000123 " ); Console.WriteLine("expected is : 1623258000123 " );
tester.CloseConnection(); tester.CloseConnection();
tester.cleanup(); tester.cleanup();
} }
public void InitTDengine() public void InitTDengine()
...@@ -321,13 +294,13 @@ namespace TDengineDriver ...@@ -321,13 +294,13 @@ namespace TDengineDriver
Console.WriteLine("[ OK ] Connection established."); Console.WriteLine("[ OK ] Connection established.");
} }
} }
//EXECUTE SQL //EXECUTE SQL
public void execute(string sql) public void execute(string sql)
{ {
DateTime dt1 = DateTime.Now; DateTime dt1 = DateTime.Now;
IntPtr res = TDengine.Query(this.conn, sql.ToString()); IntPtr res = TDengine.Query(this.conn, sql.ToString());
DateTime dt2 = DateTime.Now; DateTime dt2 = DateTime.Now;
TimeSpan span = dt2 - dt1;
if ((res == IntPtr.Zero) || (TDengine.ErrorNo(res) != 0)) if ((res == IntPtr.Zero) || (TDengine.ErrorNo(res) != 0))
{ {
...@@ -481,22 +454,16 @@ namespace TDengineDriver ...@@ -481,22 +454,16 @@ namespace TDengineDriver
switch(psc) switch(psc)
{ {
case 0: case 0:
Console.WriteLine("db:[{0:G}]'s precision is {1:G}",this.dbName,"millisecond"); Console.WriteLine("db:[{0:G}]'s precision is {1:G} millisecond");
break; break;
case 1: case 1:
Console.WriteLine("db:[{0:G}]'s precision is {1:G}",this.dbName,"microsecond"); Console.WriteLine("db:[{0:G}]'s precision is {1:G} microsecond");
break; break;
case 2: case 2:
Console.WriteLine("db:[{0:G}]'s precision is {1:G}",this.dbName,"nanosecond"); Console.WriteLine("db:[{0:G}]'s precision is {1:G} nanosecond");
break; break;
} }
} }
// public void checkData(int x ,int y , long ts ){
// }
} }
} }
###################################################################
# 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 taos
import subprocess
from util.log import tdLog
from util.cases import tdCases
from util.sql import tdSql
class TDTestCase:
def init(self, conn, logSql):
tdLog.debug("start to execute %s" % __file__)
tdSql.init(conn.cursor(), logSql)
def run(self):
try:
str1 = 'taos -n speed -P 6030 -N 1000 -l 100000 -S tcp'
result1 = subprocess.call(str1)
except Exception as result1:
if result1 == 1:
tdLog.exit("the shell 'taos -n speed -P 6030 -N 1000 -l 100000 -S tcp' is wrong")
try:
str2 = 'taos -n speed -P 6030 -N 1000 -l 100000 -S udp'
result2 = subprocess.call(str2)
except Exception as result2:
if result2 == 1:
tdLog.exit("the shell 'taos -n speed -P 6030 -N 1000 -l 100000 -S udp' is wrong")
try:
str3 = 'taos -n fqdn'
result3 = subprocess.call(str3)
except Exception as result3:
if result3 ==1:
tdLog.exit('the shell"taos -n fqdn" is wrong')
def stop(self):
tdSql.close()
tdLog.success("%s successfully executed" % __file__)
tdCases.addWindows(__file__, TDTestCase())
tdCases.addLinux(__file__, TDTestCase())
...@@ -398,7 +398,12 @@ python3 ./test.py -f query/queryWildcardLength.py ...@@ -398,7 +398,12 @@ python3 ./test.py -f query/queryWildcardLength.py
python3 ./test.py -f query/queryTbnameUpperLower.py python3 ./test.py -f query/queryTbnameUpperLower.py
python3 ./test.py -f query/query.py python3 ./test.py -f query/query.py
python3 ./test.py -f query/queryDiffColsOr.py python3 ./test.py -f query/queryDiffColsOr.py
python3 ./test.py -f client/nettest.py
python3 ./test.py -f query/queryRegex.py python3 ./test.py -f query/queryRegex.py
#======================p4-end=============== #======================p4-end===============
......
###################################################################
# 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 *
from util.dnodes import *
import multiprocessing as mp
class TDTestCase:
def init(self, conn, logSql):
tdLog.debug("start to execute %s" % __file__)
tdSql.init(conn.cursor())
self.ts = 1609430400000
def alterTableSchema(self):
conn1 = taos.connect(host="127.0.0.1", user="root", password="taosdata", config=tdDnodes.getSimCfgPath())
c1 = conn1.cursor()
c1.execute("use db")
c1.execute("alter table st drop column c2")
c1.execute("alter table st add column c2 double")
tdLog.sleep(1)
c1.execute("select * from st")
for data in c1:
print("Process 1: c2 = %s" % data[2])
def insertData(self):
conn2 = taos.connect(host="127.0.0.1", user="root", password="taosdata", config=tdDnodes.getSimCfgPath())
c2 = conn2.cursor()
tdLog.sleep(1)
c2.execute("use db")
c2.execute("insert into t1 values(%d, 2, 2.22)" % (self.ts + 1))
c2.execute("select * from st")
for data in c2:
print("Process 2: c2 = %f" % data[2])
def run(self):
tdSql.prepare()
tdSql.execute("create table st(ts timestamp, c1 int, c2 float) tags(t1 int)")
tdSql.execute("create table t1 using st tags(1)")
tdSql.execute("insert into t1 values(%d, 1, 1.11)" % self.ts)
p1 = mp.Process(target=self.alterTableSchema, args=())
p2 = mp.Process(target=self.insertData, args=())
p1.start()
p2.start()
p1.join()
p2.join()
def stop(self):
tdSql.close()
tdLog.success("%s successfully executed" % __file__)
tdCases.addWindows(__file__, TDTestCase())
tdCases.addLinux(__file__, TDTestCase())
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册