Merge branch 'feature/query' of https://github.com/taosdata/TDengine into feature/query
This commit is contained in:
commit
adb8b05129
|
@ -126,7 +126,7 @@ int32_t balanceAllocVnodes(SVgObj *pVgroup) {
|
||||||
|
|
||||||
balanceAccquireDnodeList();
|
balanceAccquireDnodeList();
|
||||||
|
|
||||||
mDebug("db:%s, alloc %d vnodes to vgroup, dnodes total:%d, avail:%d", pVgroup->dbName, pVgroup->numOfVnodes,
|
mDebug("db:%s, try alloc %d vnodes to vgroup, dnodes total:%d, avail:%d", pVgroup->dbName, pVgroup->numOfVnodes,
|
||||||
mnodeGetDnodesNum(), tsBalanceDnodeListSize);
|
mnodeGetDnodesNum(), tsBalanceDnodeListSize);
|
||||||
for (int32_t i = 0; i < pVgroup->numOfVnodes; ++i) {
|
for (int32_t i = 0; i < pVgroup->numOfVnodes; ++i) {
|
||||||
for (; dnode < tsBalanceDnodeListSize; ++dnode) {
|
for (; dnode < tsBalanceDnodeListSize; ++dnode) {
|
||||||
|
@ -571,7 +571,8 @@ static void balanceCheckDnodeAccess() {
|
||||||
if (pDnode->status != TAOS_DN_STATUS_DROPPING && pDnode->status != TAOS_DN_STATUS_OFFLINE) {
|
if (pDnode->status != TAOS_DN_STATUS_DROPPING && pDnode->status != TAOS_DN_STATUS_OFFLINE) {
|
||||||
pDnode->status = TAOS_DN_STATUS_OFFLINE;
|
pDnode->status = TAOS_DN_STATUS_OFFLINE;
|
||||||
pDnode->offlineReason = TAOS_DN_OFF_STATUS_MSG_TIMEOUT;
|
pDnode->offlineReason = TAOS_DN_OFF_STATUS_MSG_TIMEOUT;
|
||||||
mInfo("dnode:%d, set to offline state", pDnode->dnodeId);
|
mInfo("dnode:%d, set to offline state, access seq:%d, last seq:%d", pDnode->dnodeId, tsAccessSquence,
|
||||||
|
pDnode->lastAccess);
|
||||||
balanceSetVgroupOffline(pDnode);
|
balanceSetVgroupOffline(pDnode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -471,7 +471,8 @@ static int32_t mnodeProcessDnodeStatusMsg(SMnodeMsg *pMsg) {
|
||||||
mnodeGetClusterId());
|
mnodeGetClusterId());
|
||||||
return TSDB_CODE_MND_INVALID_CLUSTER_ID;
|
return TSDB_CODE_MND_INVALID_CLUSTER_ID;
|
||||||
} else {
|
} else {
|
||||||
mTrace("dnode:%d, status received, access times %d", pDnode->dnodeId, pDnode->lastAccess);
|
mTrace("dnode:%d, status received, access times %d openVnodes:%d:%d", pDnode->dnodeId, pDnode->lastAccess,
|
||||||
|
htons(pStatus->openVnodes), pDnode->openVnodes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2409,14 +2409,16 @@ static void mnodeProcessCreateChildTableRsp(SRpcMsg *rpcMsg) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (mnodeMsg->retry++ < 10) {
|
if (mnodeMsg->retry++ < 10) {
|
||||||
mDebug("app:%p:%p, table:%s, create table rsp received, need retry, times:%d result:%s thandle:%p",
|
mDebug("app:%p:%p, table:%s, create table rsp received, need retry, times:%d vgId:%d sid:%d uid:%" PRIu64
|
||||||
mnodeMsg->rpcMsg.ahandle, mnodeMsg, pTable->info.tableId, mnodeMsg->retry, tstrerror(rpcMsg->code),
|
" result:%s thandle:%p",
|
||||||
mnodeMsg->rpcMsg.handle);
|
mnodeMsg->rpcMsg.ahandle, mnodeMsg, pTable->info.tableId, mnodeMsg->retry, pTable->vgId, pTable->sid,
|
||||||
|
pTable->uid, tstrerror(rpcMsg->code), mnodeMsg->rpcMsg.handle);
|
||||||
|
|
||||||
dnodeDelayReprocessMnodeWriteMsg(mnodeMsg);
|
dnodeDelayReprocessMnodeWriteMsg(mnodeMsg);
|
||||||
} else {
|
} else {
|
||||||
mError("app:%p:%p, table:%s, failed to create in dnode, result:%s thandle:%p", mnodeMsg->rpcMsg.ahandle, mnodeMsg,
|
mError("app:%p:%p, table:%s, failed to create in dnode, vgId:%d sid:%d uid:%" PRIu64 ", result:%s thandle:%p",
|
||||||
pTable->info.tableId, tstrerror(rpcMsg->code), mnodeMsg->rpcMsg.handle);
|
mnodeMsg->rpcMsg.ahandle, mnodeMsg, pTable->info.tableId, pTable->vgId, pTable->sid, pTable->uid,
|
||||||
|
tstrerror(rpcMsg->code), mnodeMsg->rpcMsg.handle);
|
||||||
|
|
||||||
SSdbOper oper = {.type = SDB_OPER_GLOBAL, .table = tsChildTableSdb, .pObj = pTable};
|
SSdbOper oper = {.type = SDB_OPER_GLOBAL, .table = tsChildTableSdb, .pObj = pTable};
|
||||||
sdbDeleteRow(&oper);
|
sdbDeleteRow(&oper);
|
||||||
|
|
|
@ -270,24 +270,26 @@ void mnodeUpdateVgroup(SVgObj *pVgroup) {
|
||||||
Traverse all vgroups on mnode, if there no such vgId on a dnode, so send msg to this dnode for re-creating this vgId/vnode
|
Traverse all vgroups on mnode, if there no such vgId on a dnode, so send msg to this dnode for re-creating this vgId/vnode
|
||||||
*/
|
*/
|
||||||
void mnodeCheckUnCreatedVgroup(SDnodeObj *pDnode, SVnodeLoad *pVloads, int32_t openVnodes) {
|
void mnodeCheckUnCreatedVgroup(SDnodeObj *pDnode, SVnodeLoad *pVloads, int32_t openVnodes) {
|
||||||
SVnodeLoad *pNextV = NULL;
|
|
||||||
|
|
||||||
void *pIter = NULL;
|
void *pIter = NULL;
|
||||||
while (1) {
|
while (1) {
|
||||||
SVgObj *pVgroup;
|
SVgObj *pVgroup;
|
||||||
pIter = mnodeGetNextVgroup(pIter, &pVgroup);
|
pIter = mnodeGetNextVgroup(pIter, &pVgroup);
|
||||||
if (pVgroup == NULL) break;
|
if (pVgroup == NULL) break;
|
||||||
|
|
||||||
pNextV = pVloads;
|
for (int v = 0; v < pVgroup->numOfVnodes; ++v) {
|
||||||
int32_t i;
|
if (pVgroup->vnodeGid[v].dnodeId == pDnode->dnodeId) {
|
||||||
for (i = 0; i < openVnodes; ++i) {
|
// vgroup should have a vnode on this dnode
|
||||||
if ((pVgroup->vnodeGid[i].pDnode == pDnode) && (pVgroup->vgId == pNextV->vgId)) {
|
bool have = false;
|
||||||
|
for (int32_t i = 0; i < openVnodes; ++i) {
|
||||||
|
SVnodeLoad *pVload = pVloads + i;
|
||||||
|
if (pVgroup->vgId == pVload->vgId) {
|
||||||
|
have = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
pNextV++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i == openVnodes) {
|
if (have) continue;
|
||||||
|
|
||||||
if (pVgroup->status == TAOS_VG_STATUS_CREATING || pVgroup->status == TAOS_VG_STATUS_DROPPING) {
|
if (pVgroup->status == TAOS_VG_STATUS_CREATING || pVgroup->status == TAOS_VG_STATUS_DROPPING) {
|
||||||
mDebug("vgId:%d, not exist in dnode:%d and status is %s, do nothing", pVgroup->vgId, pDnode->dnodeId,
|
mDebug("vgId:%d, not exist in dnode:%d and status is %s, do nothing", pVgroup->vgId, pDnode->dnodeId,
|
||||||
vgroupStatus[pVgroup->status]);
|
vgroupStatus[pVgroup->status]);
|
||||||
|
@ -297,12 +299,12 @@ void mnodeCheckUnCreatedVgroup(SDnodeObj *pDnode, SVnodeLoad *pVloads, int32_t o
|
||||||
mnodeSendCreateVgroupMsg(pVgroup, NULL);
|
mnodeSendCreateVgroupMsg(pVgroup, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mnodeDecVgroupRef(pVgroup);
|
mnodeDecVgroupRef(pVgroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
sdbFreeIter(pIter);
|
sdbFreeIter(pIter);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void mnodeUpdateVgroupStatus(SVgObj *pVgroup, SDnodeObj *pDnode, SVnodeLoad *pVload) {
|
void mnodeUpdateVgroupStatus(SVgObj *pVgroup, SDnodeObj *pDnode, SVnodeLoad *pVload) {
|
||||||
|
|
|
@ -172,23 +172,23 @@ python3 testNoCompress.py
|
||||||
python3 testMinTablesPerVnode.py
|
python3 testMinTablesPerVnode.py
|
||||||
|
|
||||||
# functions
|
# functions
|
||||||
python3 ./test.py -f functions/function_avg.py
|
python3 ./test.py -f functions/function_avg.py -r 1
|
||||||
python3 ./test.py -f functions/function_bottom.py
|
python3 ./test.py -f functions/function_bottom.py -r 1
|
||||||
python3 ./test.py -f functions/function_count.py
|
python3 ./test.py -f functions/function_count.py -r 1
|
||||||
python3 ./test.py -f functions/function_diff.py
|
python3 ./test.py -f functions/function_diff.py -r 1
|
||||||
python3 ./test.py -f functions/function_first.py
|
python3 ./test.py -f functions/function_first.py -r 1
|
||||||
python3 ./test.py -f functions/function_last.py
|
python3 ./test.py -f functions/function_last.py -r 1
|
||||||
python3 ./test.py -f functions/function_last_row.py
|
python3 ./test.py -f functions/function_last_row.py -r 1
|
||||||
python3 ./test.py -f functions/function_leastsquares.py
|
python3 ./test.py -f functions/function_leastsquares.py -r 1
|
||||||
python3 ./test.py -f functions/function_max.py
|
python3 ./test.py -f functions/function_max.py -r 1
|
||||||
python3 ./test.py -f functions/function_min.py
|
python3 ./test.py -f functions/function_min.py -r 1
|
||||||
python3 ./test.py -f functions/function_operations.py
|
python3 ./test.py -f functions/function_operations.py -r 1
|
||||||
python3 ./test.py -f functions/function_percentile.py
|
python3 ./test.py -f functions/function_percentile.py
|
||||||
python3 ./test.py -f functions/function_spread.py
|
python3 ./test.py -f functions/function_spread.py -r 1
|
||||||
python3 ./test.py -f functions/function_stddev.py
|
python3 ./test.py -f functions/function_stddev.py -r 1
|
||||||
python3 ./test.py -f functions/function_sum.py
|
python3 ./test.py -f functions/function_sum.py -r 1
|
||||||
python3 ./test.py -f functions/function_top.py
|
python3 ./test.py -f functions/function_top.py -r 1
|
||||||
#python3 ./test.py -f functions/function_twa.py
|
#python3 ./test.py -f functions/function_twa.py -r 1
|
||||||
python3 queryCount.py
|
python3 queryCount.py
|
||||||
python3 ./test.py -f query/queryGroupbyWithInterval.py
|
python3 ./test.py -f query/queryGroupbyWithInterval.py
|
||||||
python3 client/twoClients.py
|
python3 client/twoClients.py
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
intData = []
|
||||||
|
floatData = []
|
||||||
|
|
||||||
|
#tdSql.execute('''create table test(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 float, col6 double,
|
||||||
|
# col7 bool, col8 binary(20), col9 nchar(20)) tags(loc nchar(20))''')
|
||||||
|
#tdSql.execute("create table test1 using test tags('beijing')")
|
||||||
|
for i in range(self.rowNum):
|
||||||
|
#tdSql.execute("insert into test1 values(%d, %d, %d, %d, %d, %f, %f, %d, 'taosdata%d', '涛思数据%d')"
|
||||||
|
# % (self.ts + i, i + 1, i + 1, i + 1, i + 1, i + 0.1, i + 0.1, i % 2, i + 1, i + 1))
|
||||||
|
intData.append(i + 1)
|
||||||
|
floatData.append(i + 0.1)
|
||||||
|
|
||||||
|
# average verifacation
|
||||||
|
tdSql.error("select avg(ts) from test")
|
||||||
|
tdSql.error("select avg(ts) from test1")
|
||||||
|
tdSql.error("select avg(col7) from test")
|
||||||
|
tdSql.error("select avg(col7) from test1")
|
||||||
|
tdSql.error("select avg(col8) from test")
|
||||||
|
tdSql.error("select avg(col8) from test1")
|
||||||
|
tdSql.error("select avg(col9) from test")
|
||||||
|
tdSql.error("select avg(col9) from test1")
|
||||||
|
|
||||||
|
tdSql.query("select avg(col1) from test")
|
||||||
|
tdSql.checkData(0, 0, np.average(intData))
|
||||||
|
tdSql.query("select avg(col2) from test")
|
||||||
|
tdSql.checkData(0, 0, np.average(intData))
|
||||||
|
tdSql.query("select avg(col3) from test")
|
||||||
|
tdSql.checkData(0, 0, np.average(intData))
|
||||||
|
tdSql.query("select avg(col4) from test")
|
||||||
|
tdSql.checkData(0, 0, np.average(intData))
|
||||||
|
tdSql.query("select avg(col5) from test")
|
||||||
|
tdSql.checkData(0, 0, np.average(floatData))
|
||||||
|
tdSql.query("select avg(col6) from test")
|
||||||
|
tdSql.checkData(0, 0, np.average(floatData))
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,93 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
#tdSql.execute('''create table test(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 float, col6 double,
|
||||||
|
# col7 bool, col8 binary(20), col9 nchar(20)) tags(loc nchar(20))''')
|
||||||
|
#tdSql.execute("create table test1 using test tags('beijing')")
|
||||||
|
#for i in range(self.rowNum):
|
||||||
|
# tdSql.execute("insert into test1 values(%d, %d, %d, %d, %d, %f, %f, %d, 'taosdata%d', '涛思数据%d')"
|
||||||
|
# % (self.ts + i, i + 1, i + 1, i + 1, i + 1, i + 0.1, i + 0.1, i % 2, i + 1, i + 1))
|
||||||
|
|
||||||
|
# bottom verifacation
|
||||||
|
tdSql.error("select bottom(ts, 10) from test")
|
||||||
|
tdSql.error("select bottom(col1, 0) from test")
|
||||||
|
tdSql.error("select bottom(col1, 101) from test")
|
||||||
|
tdSql.error("select bottom(col2, 0) from test")
|
||||||
|
tdSql.error("select bottom(col2, 101) from test")
|
||||||
|
tdSql.error("select bottom(col3, 0) from test")
|
||||||
|
tdSql.error("select bottom(col3, 101) from test")
|
||||||
|
tdSql.error("select bottom(col4, 0) from test")
|
||||||
|
tdSql.error("select bottom(col4, 101) from test")
|
||||||
|
tdSql.error("select bottom(col5, 0) from test")
|
||||||
|
tdSql.error("select bottom(col5, 101) from test")
|
||||||
|
tdSql.error("select bottom(col6, 0) from test")
|
||||||
|
tdSql.error("select bottom(col6, 101) from test")
|
||||||
|
tdSql.error("select bottom(col7, 10) from test")
|
||||||
|
tdSql.error("select bottom(col8, 10) from test")
|
||||||
|
tdSql.error("select bottom(col9, 10) from test")
|
||||||
|
|
||||||
|
tdSql.query("select bottom(col1, 2) from test")
|
||||||
|
tdSql.checkRows(2)
|
||||||
|
tdSql.checkData(0, 1, 1)
|
||||||
|
tdSql.checkData(1, 1, 2)
|
||||||
|
|
||||||
|
tdSql.query("select bottom(col2, 2) from test")
|
||||||
|
tdSql.checkRows(2)
|
||||||
|
tdSql.checkData(0, 1, 1)
|
||||||
|
tdSql.checkData(1, 1, 2)
|
||||||
|
|
||||||
|
tdSql.query("select bottom(col3, 2) from test")
|
||||||
|
tdSql.checkRows(2)
|
||||||
|
tdSql.checkData(0, 1, 1)
|
||||||
|
tdSql.checkData(1, 1, 2)
|
||||||
|
|
||||||
|
tdSql.query("select bottom(col4, 2) from test")
|
||||||
|
tdSql.checkRows(2)
|
||||||
|
tdSql.checkData(0, 1, 1)
|
||||||
|
tdSql.checkData(1, 1, 2)
|
||||||
|
|
||||||
|
tdSql.query("select bottom(col5, 2) from test")
|
||||||
|
tdSql.checkRows(2)
|
||||||
|
tdSql.checkData(0, 1, 0.1)
|
||||||
|
tdSql.checkData(1, 1, 1.1)
|
||||||
|
|
||||||
|
tdSql.query("select bottom(col6, 2) from test")
|
||||||
|
tdSql.checkRows(2)
|
||||||
|
tdSql.checkData(0, 1, 0.1)
|
||||||
|
tdSql.checkData(1, 1, 1.1)
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,79 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
#tdSql.execute('''create table test(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 float, col6 double,
|
||||||
|
# col7 bool, col8 binary(20), col9 nchar(20)) tags(loc nchar(20))''')
|
||||||
|
#tdSql.execute("create table test1 using test tags('beijing')")
|
||||||
|
#for i in range(self.rowNum):
|
||||||
|
# tdSql.execute("insert into test1 values(%d, %d, %d, %d, %d, %f, %f, %d, 'taosdata%d', '涛思数据%d')"
|
||||||
|
# % (self.ts + i, i + 1, i + 1, i + 1, i + 1, i + 0.1, i + 0.1, i % 2, i + 1, i + 1))
|
||||||
|
|
||||||
|
# Count verifacation
|
||||||
|
tdSql.query("select count(*) from test")
|
||||||
|
tdSql.checkData(0, 0, 11)
|
||||||
|
|
||||||
|
tdSql.query("select count(ts) from test")
|
||||||
|
tdSql.checkData(0, 0, 11)
|
||||||
|
tdSql.query("select count(col1) from test")
|
||||||
|
tdSql.checkData(0, 0, 11)
|
||||||
|
tdSql.query("select count(col2) from test")
|
||||||
|
tdSql.checkData(0, 0, 11)
|
||||||
|
tdSql.query("select count(col3) from test")
|
||||||
|
tdSql.checkData(0, 0, 11)
|
||||||
|
tdSql.query("select count(col4) from test")
|
||||||
|
tdSql.checkData(0, 0, 11)
|
||||||
|
tdSql.query("select count(col5) from test")
|
||||||
|
tdSql.checkData(0, 0, 11)
|
||||||
|
tdSql.query("select count(col6) from test")
|
||||||
|
tdSql.checkData(0, 0, 11)
|
||||||
|
tdSql.query("select count(col7) from test")
|
||||||
|
tdSql.checkData(0, 0, 11)
|
||||||
|
tdSql.query("select count(col8) from test")
|
||||||
|
tdSql.checkData(0, 0, 11)
|
||||||
|
tdSql.query("select count(col9) from test")
|
||||||
|
tdSql.checkData(0, 0, 11)
|
||||||
|
|
||||||
|
#tdSql.execute("alter table test add column col10 int")
|
||||||
|
#tdSql.query("select count(col10) from test")
|
||||||
|
#tdSql.checkRows(0)
|
||||||
|
|
||||||
|
##tdSql.execute("insert into test1 values(now, 1, 2, 3, 4, 1.1, 2.2, false, 'test', 'test' 1)")
|
||||||
|
tdSql.query("select count(col10) from test")
|
||||||
|
tdSql.checkData(0, 0, 1)
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,99 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
#tdSql.execute('''create table test(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 float, col6 double,
|
||||||
|
# col7 bool, col8 binary(20), col9 nchar(20)) tags(loc nchar(20))''')
|
||||||
|
#tdSql.execute("create table test1 using test tags('beijing')")
|
||||||
|
#tdSql.execute("insert into test1 values(%d, 0, 0, 0, 0, 0.0, 0.0, False, ' ', ' ')" % (self.ts - 1))
|
||||||
|
|
||||||
|
# diff verifacation
|
||||||
|
#tdSql.query("select diff(col1) from test1")
|
||||||
|
#tdSql.checkRows(0)
|
||||||
|
#
|
||||||
|
#tdSql.query("select diff(col2) from test1")
|
||||||
|
#tdSql.checkRows(0)
|
||||||
|
|
||||||
|
#tdSql.query("select diff(col3) from test1")
|
||||||
|
#tdSql.checkRows(0)
|
||||||
|
|
||||||
|
#tdSql.query("select diff(col4) from test1")
|
||||||
|
#tdSql.checkRows(0)
|
||||||
|
|
||||||
|
#tdSql.query("select diff(col5) from test1")
|
||||||
|
#tdSql.checkRows(0)
|
||||||
|
|
||||||
|
#tdSql.query("select diff(col6) from test1")
|
||||||
|
#tdSql.checkRows(0)
|
||||||
|
|
||||||
|
#for i in range(self.rowNum):
|
||||||
|
# tdSql.execute("insert into test1 values(%d, %d, %d, %d, %d, %f, %f, %d, 'taosdata%d', '涛思数据%d')"
|
||||||
|
# % (self.ts + i, i + 1, i + 1, i + 1, i + 1, i + 0.1, i + 0.1, i % 2, i + 1, i + 1))
|
||||||
|
|
||||||
|
tdSql.error("select diff(ts) from test")
|
||||||
|
tdSql.error("select diff(ts) from test1")
|
||||||
|
tdSql.error("select diff(col1) from test")
|
||||||
|
tdSql.error("select diff(col2) from test")
|
||||||
|
tdSql.error("select diff(col3) from test")
|
||||||
|
tdSql.error("select diff(col4) from test")
|
||||||
|
tdSql.error("select diff(col5) from test")
|
||||||
|
tdSql.error("select diff(col6) from test")
|
||||||
|
tdSql.error("select diff(col7) from test")
|
||||||
|
tdSql.error("select diff(col7) from test1")
|
||||||
|
tdSql.error("select diff(col8) from test")
|
||||||
|
tdSql.error("select diff(col8) from test1")
|
||||||
|
tdSql.error("select diff(col9) from test")
|
||||||
|
tdSql.error("select diff(col9) from test1")
|
||||||
|
|
||||||
|
tdSql.query("select diff(col1) from test1")
|
||||||
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
|
tdSql.query("select diff(col2) from test1")
|
||||||
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
|
tdSql.query("select diff(col3) from test1")
|
||||||
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
|
tdSql.query("select diff(col4) from test1")
|
||||||
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
|
tdSql.query("select diff(col5) from test1")
|
||||||
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
|
tdSql.query("select diff(col6) from test1")
|
||||||
|
tdSql.checkRows(10)
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,78 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
tdSql.query("select first(*) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 1, 1)
|
||||||
|
|
||||||
|
tdSql.query("select first(col1) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 1)
|
||||||
|
|
||||||
|
tdSql.query("select first(col2) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 1)
|
||||||
|
|
||||||
|
tdSql.query("select first(col3) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 1)
|
||||||
|
|
||||||
|
tdSql.query("select first(col4) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 1)
|
||||||
|
|
||||||
|
tdSql.query("select first(col5) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 0.1)
|
||||||
|
|
||||||
|
tdSql.query("select first(col6) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 0.1)
|
||||||
|
|
||||||
|
tdSql.query("select first(col7) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, False)
|
||||||
|
|
||||||
|
tdSql.query("select first(col8) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 'taosdata1')
|
||||||
|
|
||||||
|
tdSql.query("select first(col9) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, '涛思数据1')
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,78 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
tdSql.query("select last(*) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 1, 10)
|
||||||
|
|
||||||
|
tdSql.query("select last(col1) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select last(col2) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select last(col3) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select last(col4) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select last(col5) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 9.1)
|
||||||
|
|
||||||
|
tdSql.query("select last(col6) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 9.1)
|
||||||
|
|
||||||
|
tdSql.query("select last(col7) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, True)
|
||||||
|
|
||||||
|
tdSql.query("select last(col8) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 'taosdata10')
|
||||||
|
|
||||||
|
tdSql.query("select last(col9) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, '涛思数据10')
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,78 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
tdSql.query("select last_row(*) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 1, 10)
|
||||||
|
|
||||||
|
tdSql.query("select last_row(col1) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select last_row(col2) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select last_row(col3) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select last_row(col4) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select last_row(col5) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 9.1)
|
||||||
|
|
||||||
|
tdSql.query("select last_row(col6) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 9.1)
|
||||||
|
|
||||||
|
tdSql.query("select last_row(col7) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, True)
|
||||||
|
|
||||||
|
tdSql.query("select last_row(col8) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 'taosdata10')
|
||||||
|
|
||||||
|
tdSql.query("select last_row(col9) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, '涛思数据10')
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,68 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
# leastsquares verifacation
|
||||||
|
tdSql.error("select leastsquares(ts, 1, 1) from test1")
|
||||||
|
tdSql.error("select leastsquares(col1, 1, 1) from test")
|
||||||
|
tdSql.error("select leastsquares(col2, 1, 1) from test")
|
||||||
|
tdSql.error("select leastsquares(col3, 1, 1) from test")
|
||||||
|
tdSql.error("select leastsquares(col4, 1, 1) from test")
|
||||||
|
tdSql.error("select leastsquares(col5, 1, 1) from test")
|
||||||
|
tdSql.error("select leastsquares(col6, 1, 1) from test")
|
||||||
|
tdSql.error("select leastsquares(col7, 1, 1) from test1")
|
||||||
|
tdSql.error("select leastsquares(col8, 1, 1) from test1")
|
||||||
|
tdSql.error("select leastsquares(col9, 1, 1) from test1")
|
||||||
|
|
||||||
|
tdSql.query("select leastsquares(col1, 1, 1) from test1")
|
||||||
|
tdSql.checkData(0, 0, '{slop:1.000000, intercept:0.000000}')
|
||||||
|
|
||||||
|
tdSql.query("select leastsquares(col2, 1, 1) from test1")
|
||||||
|
tdSql.checkData(0, 0, '{slop:1.000000, intercept:0.000000}')
|
||||||
|
|
||||||
|
tdSql.query("select leastsquares(col3, 1, 1) from test1")
|
||||||
|
tdSql.checkData(0, 0, '{slop:1.000000, intercept:0.000000}')
|
||||||
|
|
||||||
|
tdSql.query("select leastsquares(col4, 1, 1) from test1")
|
||||||
|
tdSql.checkData(0, 0, '{slop:1.000000, intercept:0.000000}')
|
||||||
|
|
||||||
|
tdSql.query("select leastsquares(col5, 1, 1) from test1")
|
||||||
|
tdSql.checkData(0, 0, '{slop:1.000000, intercept:-0.900000}')
|
||||||
|
|
||||||
|
tdSql.query("select leastsquares(col6, 1, 1) from test1")
|
||||||
|
tdSql.checkData(0, 0, '{slop:1.000000, intercept:-0.900000}')
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,76 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
intData = []
|
||||||
|
floatData = []
|
||||||
|
|
||||||
|
#tdSql.execute('''create table test(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 float, col6 double,
|
||||||
|
# col7 bool, col8 binary(20), col9 nchar(20)) tags(loc nchar(20))''')
|
||||||
|
#tdSql.execute("create table test1 using test tags('beijing')")
|
||||||
|
for i in range(self.rowNum):
|
||||||
|
intData.append(i + 1)
|
||||||
|
floatData.append(i + 0.1)
|
||||||
|
|
||||||
|
# max verifacation
|
||||||
|
tdSql.error("select max(ts) from test")
|
||||||
|
tdSql.error("select max(ts) from test1")
|
||||||
|
tdSql.error("select max(col7) from test")
|
||||||
|
tdSql.error("select max(col7) from test1")
|
||||||
|
tdSql.error("select max(col8) from test")
|
||||||
|
tdSql.error("select max(col8) from test1")
|
||||||
|
tdSql.error("select max(col9) from test")
|
||||||
|
tdSql.error("select max(col9) from test1")
|
||||||
|
|
||||||
|
tdSql.query("select max(col1) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.max(intData))
|
||||||
|
|
||||||
|
tdSql.query("select max(col2) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.max(intData))
|
||||||
|
|
||||||
|
tdSql.query("select max(col3) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.max(intData))
|
||||||
|
|
||||||
|
tdSql.query("select max(col4) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.max(intData))
|
||||||
|
|
||||||
|
tdSql.query("select max(col5) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.max(floatData))
|
||||||
|
|
||||||
|
tdSql.query("select max(col6) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.max(floatData))
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,73 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
intData = []
|
||||||
|
floatData = []
|
||||||
|
|
||||||
|
for i in range(self.rowNum):
|
||||||
|
intData.append(i + 1)
|
||||||
|
floatData.append(i + 0.1)
|
||||||
|
|
||||||
|
# min verifacation
|
||||||
|
tdSql.error("select min(ts) from test")
|
||||||
|
tdSql.error("select min(ts) from test1")
|
||||||
|
tdSql.error("select min(col7) from test")
|
||||||
|
tdSql.error("select min(col7) from test1")
|
||||||
|
tdSql.error("select min(col8) from test")
|
||||||
|
tdSql.error("select min(col8) from test1")
|
||||||
|
tdSql.error("select min(col9) from test")
|
||||||
|
tdSql.error("select min(col9) from test1")
|
||||||
|
|
||||||
|
tdSql.query("select min(col1) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.min(intData))
|
||||||
|
|
||||||
|
tdSql.query("select min(col2) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.min(intData))
|
||||||
|
|
||||||
|
tdSql.query("select min(col3) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.min(intData))
|
||||||
|
|
||||||
|
tdSql.query("select min(col4) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.min(intData))
|
||||||
|
|
||||||
|
tdSql.query("select min(col5) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.min(floatData))
|
||||||
|
|
||||||
|
tdSql.query("select min(col6) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.min(floatData))
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,70 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
# min verifacation
|
||||||
|
tdSql.error("select ts + col1 from test")
|
||||||
|
tdSql.error("select ts + col1 from test1")
|
||||||
|
tdSql.error("select col1 + col7 from test")
|
||||||
|
tdSql.error("select col1 + col7 from test1")
|
||||||
|
tdSql.error("select col1 + col8 from test")
|
||||||
|
tdSql.error("select col1 + col8 from test1")
|
||||||
|
tdSql.error("select col1 + col9 from test")
|
||||||
|
tdSql.error("select col1 + col9 from test1")
|
||||||
|
|
||||||
|
tdSql.query("select col1 + col2 from test1")
|
||||||
|
tdSql.checkRows(11)
|
||||||
|
tdSql.checkData(0, 0, 2.0)
|
||||||
|
|
||||||
|
tdSql.query("select col1 + col2 * col3 + col3 / col4 + col5 + col6 from test1")
|
||||||
|
tdSql.checkRows(11)
|
||||||
|
tdSql.checkData(0, 0, 3.2)
|
||||||
|
|
||||||
|
#tdSql.execute("insert into test1(ts, col1) values(%d, 11)" % (self.ts + 11))
|
||||||
|
tdSql.query("select col1 + col2 from test1")
|
||||||
|
tdSql.checkRows(11)
|
||||||
|
tdSql.checkData(10, 0, None)
|
||||||
|
|
||||||
|
tdSql.query("select col1 + col2 * col3 from test1")
|
||||||
|
tdSql.checkRows(11)
|
||||||
|
tdSql.checkData(10, 0, None)
|
||||||
|
|
||||||
|
tdSql.query("select col1 + col2 * col3 + col3 / col4 + col5 + col6 from test1")
|
||||||
|
tdSql.checkRows(11)
|
||||||
|
tdSql.checkData(10, 0, None)
|
||||||
|
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,136 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
intData = []
|
||||||
|
floatData = []
|
||||||
|
|
||||||
|
for i in range(self.rowNum):
|
||||||
|
intData.append(i + 1)
|
||||||
|
floatData.append(i + 0.1)
|
||||||
|
|
||||||
|
# percentile verifacation
|
||||||
|
tdSql.error("select percentile(ts 20) from test")
|
||||||
|
tdSql.error("select apercentile(ts 20) from test")
|
||||||
|
tdSql.error("select percentile(col7 20) from test")
|
||||||
|
tdSql.error("select apercentile(col7 20) from test")
|
||||||
|
tdSql.error("select percentile(col8 20) from test")
|
||||||
|
tdSql.error("select apercentile(col8 20) from test")
|
||||||
|
tdSql.error("select percentile(col9 20) from test")
|
||||||
|
tdSql.error("select apercentile(col9 20) from test")
|
||||||
|
|
||||||
|
tdSql.query("select percentile(col1, 0) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(intData, 0))
|
||||||
|
tdSql.query("select apercentile(col1, 0) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
tdSql.query("select percentile(col1, 50) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(intData, 50))
|
||||||
|
tdSql.query("select apercentile(col1, 50) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
tdSql.query("select percentile(col1, 100) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(intData, 100))
|
||||||
|
tdSql.query("select apercentile(col1, 100) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
|
||||||
|
tdSql.query("select percentile(col2, 0) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(intData, 0))
|
||||||
|
tdSql.query("select apercentile(col2, 0) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
tdSql.query("select percentile(col2, 50) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(intData, 50))
|
||||||
|
tdSql.query("select apercentile(col2, 50) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
tdSql.query("select percentile(col2, 100) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(intData, 100))
|
||||||
|
tdSql.query("select apercentile(col2, 100) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
|
||||||
|
tdSql.query("select percentile(col3, 0) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(intData, 0))
|
||||||
|
tdSql.query("select apercentile(col3, 0) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
tdSql.query("select percentile(col3, 50) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(intData, 50))
|
||||||
|
tdSql.query("select apercentile(col3, 50) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
tdSql.query("select percentile(col3, 100) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(intData, 100))
|
||||||
|
tdSql.query("select apercentile(col3, 100) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
|
||||||
|
tdSql.query("select percentile(col4, 0) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(intData, 0))
|
||||||
|
tdSql.query("select apercentile(col4, 0) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
tdSql.query("select percentile(col4, 50) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(intData, 50))
|
||||||
|
tdSql.query("select apercentile(col4, 50) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
tdSql.query("select percentile(col4, 100) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(intData, 100))
|
||||||
|
tdSql.query("select apercentile(col4, 100) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
|
||||||
|
tdSql.query("select percentile(col5, 0) from test")
|
||||||
|
print("query result: %s" % tdSql.getData(0, 0))
|
||||||
|
print("array result: %s" % np.percentile(floatData, 0))
|
||||||
|
tdSql.query("select apercentile(col5, 0) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
tdSql.query("select percentile(col5, 50) from test")
|
||||||
|
print("query result: %s" % tdSql.getData(0, 0))
|
||||||
|
print("array result: %s" % np.percentile(floatData, 50))
|
||||||
|
tdSql.query("select apercentile(col5, 50) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
tdSql.query("select percentile(col5, 100) from test")
|
||||||
|
print("query result: %s" % tdSql.getData(0, 0))
|
||||||
|
print("array result: %s" % np.percentile(floatData, 100))
|
||||||
|
tdSql.query("select apercentile(col5, 100) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
|
||||||
|
tdSql.query("select percentile(col6, 0) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(floatData, 0))
|
||||||
|
tdSql.query("select apercentile(col6, 0) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
tdSql.query("select percentile(col6, 50) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(floatData, 50))
|
||||||
|
tdSql.query("select apercentile(col6, 50) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
tdSql.query("select percentile(col6, 100) from test")
|
||||||
|
tdSql.checkData(0, 0, np.percentile(floatData, 100))
|
||||||
|
tdSql.query("select apercentile(col6, 100) from test")
|
||||||
|
print("apercentile result: %s" % tdSql.getData(0, 0))
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,69 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
tdSql.error("select spread(col7) from test")
|
||||||
|
tdSql.error("select spread(col7) from test1")
|
||||||
|
tdSql.error("select spread(col8) from test")
|
||||||
|
tdSql.error("select spread(col8) from test1")
|
||||||
|
tdSql.error("select spread(col9) from test")
|
||||||
|
tdSql.error("select spread(col9) from test1")
|
||||||
|
|
||||||
|
tdSql.query("select spread(col1) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select spread(col2) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select spread(col3) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select spread(col4) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select spread(col5) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 9.1)
|
||||||
|
|
||||||
|
tdSql.query("select spread(col6) from test1")
|
||||||
|
tdSql.checkRows(1)
|
||||||
|
tdSql.checkData(0, 0, 9.1)
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,75 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
intData = []
|
||||||
|
floatData = []
|
||||||
|
|
||||||
|
for i in range(self.rowNum):
|
||||||
|
intData.append(i + 1)
|
||||||
|
floatData.append(i + 0.1)
|
||||||
|
|
||||||
|
# stddev verifacation
|
||||||
|
tdSql.error("select stddev(ts) from test1")
|
||||||
|
tdSql.error("select stddev(col1) from test")
|
||||||
|
tdSql.error("select stddev(col2) from test")
|
||||||
|
tdSql.error("select stddev(col3) from test")
|
||||||
|
tdSql.error("select stddev(col4) from test")
|
||||||
|
tdSql.error("select stddev(col5) from test")
|
||||||
|
tdSql.error("select stddev(col6) from test")
|
||||||
|
tdSql.error("select stddev(col7) from test1")
|
||||||
|
tdSql.error("select stddev(col8) from test1")
|
||||||
|
tdSql.error("select stddev(col9) from test1")
|
||||||
|
|
||||||
|
tdSql.query("select stddev(col1) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.std(intData))
|
||||||
|
|
||||||
|
tdSql.query("select stddev(col2) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.std(intData))
|
||||||
|
|
||||||
|
tdSql.query("select stddev(col3) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.std(intData))
|
||||||
|
|
||||||
|
tdSql.query("select stddev(col4) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.std(intData))
|
||||||
|
|
||||||
|
tdSql.query("select stddev(col5) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.std(floatData))
|
||||||
|
|
||||||
|
tdSql.query("select stddev(col6) from test1")
|
||||||
|
tdSql.checkData(0, 0, np.std(floatData))
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,64 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
intData = []
|
||||||
|
floatData = []
|
||||||
|
|
||||||
|
for i in range(self.rowNum):
|
||||||
|
intData.append(i + 1)
|
||||||
|
floatData.append(i + 0.1)
|
||||||
|
|
||||||
|
# sum verifacation
|
||||||
|
tdSql.error("select sum(ts) from test")
|
||||||
|
tdSql.error("select sum(col7) from test")
|
||||||
|
tdSql.error("select sum(col8) from test")
|
||||||
|
tdSql.error("select sum(col9) from test")
|
||||||
|
|
||||||
|
tdSql.query("select sum(col1) from test")
|
||||||
|
tdSql.checkData(0, 0, np.sum(intData))
|
||||||
|
tdSql.query("select sum(col2) from test")
|
||||||
|
tdSql.checkData(0, 0, np.sum(intData))
|
||||||
|
tdSql.query("select sum(col3) from test")
|
||||||
|
tdSql.checkData(0, 0, np.sum(intData))
|
||||||
|
tdSql.query("select sum(col4) from test")
|
||||||
|
tdSql.checkData(0, 0, np.sum(intData))
|
||||||
|
tdSql.query("select sum(col5) from test")
|
||||||
|
tdSql.checkData(0, 0, np.sum(floatData))
|
||||||
|
tdSql.query("select sum(col6) from test")
|
||||||
|
tdSql.checkData(0, 0, np.sum(floatData))
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,93 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
intData = []
|
||||||
|
floatData = []
|
||||||
|
|
||||||
|
for i in range(self.rowNum):
|
||||||
|
intData.append(i + 1)
|
||||||
|
floatData.append(i + 0.1)
|
||||||
|
|
||||||
|
# top verifacation
|
||||||
|
tdSql.error("select top(ts, 10) from test")
|
||||||
|
tdSql.error("select top(col1, 0) from test")
|
||||||
|
tdSql.error("select top(col1, 101) from test")
|
||||||
|
tdSql.error("select top(col2, 0) from test")
|
||||||
|
tdSql.error("select top(col2, 101) from test")
|
||||||
|
tdSql.error("select top(col3, 0) from test")
|
||||||
|
tdSql.error("select top(col3, 101) from test")
|
||||||
|
tdSql.error("select top(col4, 0) from test")
|
||||||
|
tdSql.error("select top(col4, 101) from test")
|
||||||
|
tdSql.error("select top(col5, 0) from test")
|
||||||
|
tdSql.error("select top(col5, 101) from test")
|
||||||
|
tdSql.error("select top(col6, 0) from test")
|
||||||
|
tdSql.error("select top(col6, 101) from test")
|
||||||
|
tdSql.error("select top(col7, 10) from test")
|
||||||
|
tdSql.error("select top(col8, 10) from test")
|
||||||
|
tdSql.error("select top(col9, 10) from test")
|
||||||
|
|
||||||
|
tdSql.query("select top(col1, 2) from test")
|
||||||
|
tdSql.checkRows(2)
|
||||||
|
tdSql.checkData(0, 1, 9)
|
||||||
|
tdSql.checkData(1, 1, 10)
|
||||||
|
|
||||||
|
tdSql.query("select top(col2, 2) from test")
|
||||||
|
tdSql.checkRows(2)
|
||||||
|
tdSql.checkData(0, 1, 9)
|
||||||
|
tdSql.checkData(1, 1, 10)
|
||||||
|
|
||||||
|
tdSql.query("select top(col3, 2) from test")
|
||||||
|
tdSql.checkRows(2)
|
||||||
|
tdSql.checkData(0, 1, 9)
|
||||||
|
tdSql.checkData(1, 1, 10)
|
||||||
|
|
||||||
|
tdSql.query("select top(col4, 2) from test")
|
||||||
|
tdSql.checkRows(2)
|
||||||
|
tdSql.checkData(0, 1, 9)
|
||||||
|
tdSql.checkData(1, 1, 10)
|
||||||
|
|
||||||
|
tdSql.query("select top(col5, 2) from test")
|
||||||
|
tdSql.checkRows(2)
|
||||||
|
tdSql.checkData(0, 1, 8.1)
|
||||||
|
tdSql.checkData(1, 1, 9.1)
|
||||||
|
|
||||||
|
tdSql.query("select top(col6, 2) from test")
|
||||||
|
tdSql.checkRows(2)
|
||||||
|
tdSql.checkData(0, 1, 8.1)
|
||||||
|
tdSql.checkData(1, 1, 9.1)
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,130 @@
|
||||||
|
###################################################################
|
||||||
|
# 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 *
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.rowNum = 10
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.execute("use db")
|
||||||
|
|
||||||
|
intData = []
|
||||||
|
floatData = []
|
||||||
|
|
||||||
|
for i in range(self.rowNum):
|
||||||
|
intData.append(i + 1)
|
||||||
|
floatData.append(i + 0.1)
|
||||||
|
|
||||||
|
# twa verifacation
|
||||||
|
tdSql.error("select twa(ts) from test")
|
||||||
|
tdSql.error("select twa(ts) from test1")
|
||||||
|
|
||||||
|
tdSql.error("select twa(col1) from test")
|
||||||
|
tdSql.error("select twa(col1) from test1")
|
||||||
|
|
||||||
|
tdSql.error("select twa(col2) from test")
|
||||||
|
tdSql.error("select twa(col2) from test1")
|
||||||
|
|
||||||
|
tdSql.error("select twa(col3) from test")
|
||||||
|
tdSql.error("select twa(col3) from test1")
|
||||||
|
|
||||||
|
tdSql.error("select twa(col4) from test")
|
||||||
|
tdSql.error("select twa(col4) from test1")
|
||||||
|
|
||||||
|
tdSql.error("select twa(col5) from test")
|
||||||
|
tdSql.error("select twa(col5) from test1")
|
||||||
|
|
||||||
|
tdSql.error("select twa(col6) from test")
|
||||||
|
tdSql.error("select twa(col6) from test1")
|
||||||
|
|
||||||
|
tdSql.error("select twa(col7) from test")
|
||||||
|
tdSql.error("select twa(col7) from test1")
|
||||||
|
|
||||||
|
tdSql.error("select twa(col8) from test")
|
||||||
|
tdSql.error("select twa(col8) from test1")
|
||||||
|
|
||||||
|
tdSql.error("select twa(col9) from test")
|
||||||
|
tdSql.error("select twa(col9) from test1")
|
||||||
|
|
||||||
|
tdSql.error("select twa(col1) from test where ts > %d" % self.ts)
|
||||||
|
tdSql.error("select twa(col1) from test1 where ts > %d" % self.ts)
|
||||||
|
|
||||||
|
tdSql.error("select twa(col2) from test where ts > %d" % self.ts)
|
||||||
|
tdSql.error("select twa(col2) from test1 where ts > %d" % self.ts)
|
||||||
|
|
||||||
|
tdSql.error("select twa(col3) from test where ts > %d" % self.ts)
|
||||||
|
tdSql.error("select twa(col3) from test1 where ts > %d" % self.ts)
|
||||||
|
|
||||||
|
tdSql.error("select twa(col4) from test where ts > %d" % self.ts)
|
||||||
|
tdSql.error("select twa(col4) from test1 where ts > %d" % self.ts)
|
||||||
|
|
||||||
|
tdSql.error("select twa(col5) from test where ts > %d" % self.ts)
|
||||||
|
tdSql.error("select twa(col5) from test1 where ts > %d" % self.ts)
|
||||||
|
|
||||||
|
tdSql.error("select twa(col6) from test where ts > %d" % self.ts)
|
||||||
|
tdSql.error("select twa(col6) from test1 where ts > %d" % self.ts)
|
||||||
|
|
||||||
|
tdSql.error("select twa(col1) from test where ts < %d" % (self.ts + self.rowNum))
|
||||||
|
tdSql.error("select twa(col1) from test1 where ts < %d" % (self.ts + self.rowNum))
|
||||||
|
|
||||||
|
tdSql.error("select twa(col2) from test where ts < %d" % (self.ts + self.rowNum))
|
||||||
|
tdSql.error("select twa(col2) from test1 where ts < %d" % (self.ts + self.rowNum))
|
||||||
|
|
||||||
|
tdSql.error("select twa(col3) from test where ts < %d" % (self.ts + self.rowNum))
|
||||||
|
tdSql.error("select twa(col3) from test1 where ts < %d" % (self.ts + self.rowNum))
|
||||||
|
|
||||||
|
tdSql.error("select twa(col4) from test where ts < %d" % (self.ts + self.rowNum))
|
||||||
|
tdSql.error("select twa(col4) from test1 where ts < %d" % (self.ts + self.rowNum))
|
||||||
|
|
||||||
|
tdSql.error("select twa(col5) from test where ts < %d" % (self.ts + self.rowNum))
|
||||||
|
tdSql.error("select twa(col5) from test1 where ts < %d" % (self.ts + self.rowNum))
|
||||||
|
|
||||||
|
tdSql.error("select twa(col6) from test where ts < %d" % (self.ts + self.rowNum))
|
||||||
|
tdSql.error("select twa(col6) from test1 where ts < %d" % (self.ts + self.rowNum))
|
||||||
|
|
||||||
|
tdSql.query("select twa(col1) from test where ts > %d and ts < %d" % (self.ts, self.ts + self.rowNum))
|
||||||
|
tdSql.query("select twa(col1) from test1 where ts > %d and ts < %d" % (self.ts, self.ts + self.rowNum))
|
||||||
|
|
||||||
|
tdSql.query("select twa(col2) from test where ts > %d and ts < %d" % (self.ts, self.ts + self.rowNum))
|
||||||
|
tdSql.query("select twa(col2) from test1 where ts > %d and ts < %d" % (self.ts, self.ts + self.rowNum))
|
||||||
|
|
||||||
|
tdSql.query("select twa(col3) from test where ts > %d and ts < %d" % (self.ts, self.ts + self.rowNum))
|
||||||
|
tdSql.query("select twa(col3) from test1 where ts > %d and ts < %d" % (self.ts, self.ts + self.rowNum))
|
||||||
|
|
||||||
|
tdSql.query("select twa(col4) from test where ts > %d and ts < %d" % (self.ts, self.ts + self.rowNum))
|
||||||
|
tdSql.query("select twa(col4) from test1 where ts > %d and ts < %d" % (self.ts, self.ts + self.rowNum))
|
||||||
|
|
||||||
|
tdSql.query("select twa(col5) from test where ts > %d and ts < %d" % (self.ts, self.ts + self.rowNum))
|
||||||
|
tdSql.query("select twa(col5) from test1 where ts > %d and ts < %d" % (self.ts, self.ts + self.rowNum))
|
||||||
|
|
||||||
|
tdSql.query("select twa(col6) from test where ts > %d and ts < %d" % (self.ts, self.ts + self.rowNum))
|
||||||
|
tdSql.query("select twa(col6) from test1 where ts > %d and ts < %d" % (self.ts, self.ts + self.rowNum))
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -16,6 +16,7 @@
|
||||||
import sys
|
import sys
|
||||||
import getopt
|
import getopt
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import time
|
||||||
from distutils.log import warn as printf
|
from distutils.log import warn as printf
|
||||||
|
|
||||||
from util.log import *
|
from util.log import *
|
||||||
|
@ -33,7 +34,8 @@ if __name__ == "__main__":
|
||||||
valgrind = 0
|
valgrind = 0
|
||||||
logSql = True
|
logSql = True
|
||||||
stop = 0
|
stop = 0
|
||||||
opts, args = getopt.gnu_getopt(sys.argv[1:], 'f:p:m:l:scgh', [
|
restart = False
|
||||||
|
opts, args = getopt.gnu_getopt(sys.argv[1:], 'f:p:m:l:scghr', [
|
||||||
'file=', 'path=', 'master', 'logSql', 'stop', 'cluster', 'valgrind', 'help'])
|
'file=', 'path=', 'master', 'logSql', 'stop', 'cluster', 'valgrind', 'help'])
|
||||||
for key, value in opts:
|
for key, value in opts:
|
||||||
if key in ['-h', '--help']:
|
if key in ['-h', '--help']:
|
||||||
|
@ -46,8 +48,12 @@ if __name__ == "__main__":
|
||||||
tdLog.printNoPrefix('-s stop All dnodes')
|
tdLog.printNoPrefix('-s stop All dnodes')
|
||||||
tdLog.printNoPrefix('-c Test Cluster Flag')
|
tdLog.printNoPrefix('-c Test Cluster Flag')
|
||||||
tdLog.printNoPrefix('-g valgrind Test Flag')
|
tdLog.printNoPrefix('-g valgrind Test Flag')
|
||||||
|
tdLog.printNoPrefix('-r taosd restart test')
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
|
if key in ['-r', '--restart']:
|
||||||
|
restart = True
|
||||||
|
|
||||||
if key in ['-f', '--file']:
|
if key in ['-f', '--file']:
|
||||||
fileName = value
|
fileName = value
|
||||||
|
|
||||||
|
@ -138,5 +144,19 @@ if __name__ == "__main__":
|
||||||
tdCases.runAllLinux(conn)
|
tdCases.runAllLinux(conn)
|
||||||
else:
|
else:
|
||||||
tdCases.runOneLinux(conn, fileName)
|
tdCases.runOneLinux(conn, fileName)
|
||||||
|
if restart:
|
||||||
|
if fileName == "all":
|
||||||
|
tdLog.info("not need to query ")
|
||||||
|
else:
|
||||||
|
sp = fileName.rsplit(".", 1)
|
||||||
|
if len(sp) == 2 and sp[1] == "py":
|
||||||
|
tdDnodes.stopAll()
|
||||||
|
tdDnodes.start(1)
|
||||||
|
time.sleep(1)
|
||||||
|
conn = taos.connect( host, config=tdDnodes.getSimCfgPath())
|
||||||
|
tdLog.info("Procedures for tdengine deployed in %s" % (host))
|
||||||
|
tdLog.info("query test after taosd restart")
|
||||||
|
tdCases.runOneLinux(conn, sp[0] + "_" + "restart.py")
|
||||||
|
else:
|
||||||
|
tdLog.info("not need to query")
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|
Loading…
Reference in New Issue