Merge branch 'develop' into feature/TD-1925_new
This commit is contained in:
commit
ab9df5f44e
|
@ -146,7 +146,7 @@ matrix:
|
|||
branch_pattern: coverity_scan
|
||||
|
||||
- os: linux
|
||||
dist: trusty
|
||||
dist: xenial
|
||||
language: c
|
||||
git:
|
||||
- depth: 1
|
||||
|
@ -157,7 +157,7 @@ matrix:
|
|||
- build-essential
|
||||
- cmake
|
||||
env:
|
||||
- DESC="trusty/gcc-4.8 build"
|
||||
- DESC="xenial build"
|
||||
|
||||
before_script:
|
||||
- export TZ=Asia/Harbin
|
||||
|
@ -227,7 +227,7 @@ matrix:
|
|||
|
||||
- os: linux
|
||||
arch: arm64
|
||||
dist: trusty
|
||||
dist: xenial
|
||||
language: c
|
||||
git:
|
||||
- depth: 1
|
||||
|
@ -238,7 +238,7 @@ matrix:
|
|||
- build-essential
|
||||
- cmake
|
||||
env:
|
||||
- DESC="trusty/gcc-4.8 build"
|
||||
- DESC="xenial build"
|
||||
|
||||
before_script:
|
||||
- export TZ=Asia/Harbin
|
||||
|
|
|
@ -921,6 +921,10 @@ static void minMax_function(SQLFunctionCtx *pCtx, char *pOutput, int32_t isMin,
|
|||
*notNullElems = pCtx->size - pCtx->preAggVals.statis.numOfNull;
|
||||
assert(*notNullElems >= 0);
|
||||
|
||||
if (*notNullElems == 0){
|
||||
return;
|
||||
}
|
||||
|
||||
void * tval = NULL;
|
||||
int16_t index = 0;
|
||||
|
||||
|
|
|
@ -4478,6 +4478,7 @@ int32_t parseFillClause(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SQuerySQL* pQuery
|
|||
const char* msg = "illegal value or data overflow";
|
||||
const char* msg1 = "value is expected";
|
||||
const char* msg2 = "invalid fill option";
|
||||
const char* msg3 = "top/bottom not support fill";
|
||||
|
||||
if (pItem->pVar.nType != TSDB_DATA_TYPE_BINARY) {
|
||||
return invalidSqlErrMsg(tscGetErrorMsgPayload(pCmd), msg2);
|
||||
|
@ -4560,6 +4561,14 @@ int32_t parseFillClause(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SQuerySQL* pQuery
|
|||
return invalidSqlErrMsg(tscGetErrorMsgPayload(pCmd), msg2);
|
||||
}
|
||||
|
||||
size_t numOfExprs = tscSqlExprNumOfExprs(pQueryInfo);
|
||||
for(int32_t i = 0; i < numOfExprs; ++i) {
|
||||
SSqlExpr* pExpr = tscSqlExprGet(pQueryInfo, i);
|
||||
if (pExpr->functionId == TSDB_FUNC_TOP || pExpr->functionId == TSDB_FUNC_BOTTOM) {
|
||||
return invalidSqlErrMsg(tscGetErrorMsgPayload(pCmd), msg3);
|
||||
}
|
||||
}
|
||||
|
||||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
@ -184,7 +184,19 @@ void dnodeReprocessMWriteMsg(void *pMsg) {
|
|||
dDebug("msg:%p, app:%p type:%s is redirected for mnode not running, retry times:%d", pWrite, pWrite->rpcMsg.ahandle,
|
||||
taosMsg[pWrite->rpcMsg.msgType], pWrite->retry);
|
||||
|
||||
dnodeSendRedirectMsg(pMsg, true);
|
||||
if (pWrite->pBatchMasterMsg) {
|
||||
++pWrite->pBatchMasterMsg->received;
|
||||
if (pWrite->pBatchMasterMsg->successed + pWrite->pBatchMasterMsg->received
|
||||
>= pWrite->pBatchMasterMsg->expected) {
|
||||
dnodeSendRedirectMsg(&pWrite->rpcMsg, true);
|
||||
dnodeFreeMWriteMsg(pWrite);
|
||||
}
|
||||
|
||||
mnodeDestroySubMsg(pWrite);
|
||||
|
||||
return;
|
||||
}
|
||||
dnodeSendRedirectMsg(&pWrite->rpcMsg, true);
|
||||
dnodeFreeMWriteMsg(pWrite);
|
||||
} else {
|
||||
dDebug("msg:%p, app:%p type:%s is reput into mwrite queue:%p, retry times:%d", pWrite, pWrite->rpcMsg.ahandle,
|
||||
|
|
|
@ -42,11 +42,12 @@ typedef struct SMnodeMsg {
|
|||
struct SVgObj * pVgroup;
|
||||
struct STableObj *pTable;
|
||||
struct SSTableObj*pSTable;
|
||||
struct SMnodeMsg *pBatchMasterMsg;
|
||||
SMnodeRsp rpcRsp;
|
||||
int8_t received;
|
||||
int8_t successed;
|
||||
int8_t expected;
|
||||
int8_t retry;
|
||||
int16_t received;
|
||||
int16_t successed;
|
||||
int16_t expected;
|
||||
int16_t retry;
|
||||
int32_t incomingTs;
|
||||
int32_t code;
|
||||
void * pObj;
|
||||
|
@ -57,6 +58,7 @@ typedef struct SMnodeMsg {
|
|||
void * mnodeCreateMsg(SRpcMsg *pRpcMsg);
|
||||
int32_t mnodeInitMsg(SMnodeMsg *pMsg);
|
||||
void mnodeCleanupMsg(SMnodeMsg *pMsg);
|
||||
void mnodeDestroySubMsg(SMnodeMsg *pSubMsg);
|
||||
|
||||
int32_t mnodeInitSystem();
|
||||
int32_t mnodeStartSystem();
|
||||
|
|
|
@ -171,7 +171,7 @@ void mnodeUpdateClusterId() {
|
|||
void *pIter = mnodeGetNextCluster(NULL, &pCluster);
|
||||
if (pCluster != NULL) {
|
||||
tstrncpy(tsClusterId, pCluster->uid, TSDB_CLUSTER_ID_LEN);
|
||||
mInfo("cluster id is set to %s", tsClusterId);
|
||||
mDebug("cluster id is set to %s", tsClusterId);
|
||||
}
|
||||
|
||||
mnodeDecClusterRef(pCluster);
|
||||
|
|
|
@ -387,6 +387,7 @@ static bool mnodeAllOnline() {
|
|||
if (pMnode == NULL) break;
|
||||
if (pMnode->role != TAOS_SYNC_ROLE_MASTER && pMnode->role != TAOS_SYNC_ROLE_SLAVE) {
|
||||
allOnline = false;
|
||||
mDebug("mnode:%d, role:%s, not online", pMnode->mnodeId, syncRole[pMnode->role]);
|
||||
mnodeDecMnodeRef(pMnode);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -225,6 +225,10 @@ void sdbUpdateMnodeRoles() {
|
|||
for (int32_t i = 0; i < tsSdbMgmt.cfg.replica; ++i) {
|
||||
SMnodeObj *pMnode = mnodeGetMnode(roles.nodeId[i]);
|
||||
if (pMnode != NULL) {
|
||||
if (pMnode->role != roles.role[i]) {
|
||||
bnNotify();
|
||||
}
|
||||
|
||||
pMnode->role = roles.role[i];
|
||||
sdbInfo("vgId:1, mnode:%d, role:%s", pMnode->mnodeId, syncRole[pMnode->role]);
|
||||
if (pMnode->mnodeId == dnodeGetDnodeId()) tsSdbMgmt.role = pMnode->role;
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include "tcompare.h"
|
||||
#include "tdataformat.h"
|
||||
#include "tgrant.h"
|
||||
#include "tqueue.h"
|
||||
#include "hash.h"
|
||||
#include "mnode.h"
|
||||
#include "dnode.h"
|
||||
|
@ -720,6 +721,133 @@ static void mnodeExtractTableName(char* tableId, char* name) {
|
|||
}
|
||||
}
|
||||
|
||||
static SMnodeMsg *mnodeCreateSubMsg(SMnodeMsg *pBatchMasterMsg, int32_t contSize) {
|
||||
SMnodeMsg *pSubMsg = taosAllocateQitem(sizeof(*pBatchMasterMsg) + contSize);
|
||||
*pSubMsg = *pBatchMasterMsg;
|
||||
|
||||
//pSubMsg->pCont = (char *) pSubMsg + sizeof(SMnodeMsg);
|
||||
pSubMsg->rpcMsg.pCont = pSubMsg->pCont;
|
||||
pSubMsg->successed = 0;
|
||||
pSubMsg->expected = 0;
|
||||
SCMCreateTableMsg *pCM = pSubMsg->rpcMsg.pCont;
|
||||
pCM->numOfTables = htonl(1);
|
||||
pCM->contLen = htonl(contSize);
|
||||
|
||||
return pSubMsg;
|
||||
}
|
||||
|
||||
void mnodeDestroySubMsg(SMnodeMsg *pSubMsg) {
|
||||
if (pSubMsg) {
|
||||
// pUser is retained in batch master msg
|
||||
if (pSubMsg->pDb) mnodeDecDbRef(pSubMsg->pDb);
|
||||
if (pSubMsg->pVgroup) mnodeDecVgroupRef(pSubMsg->pVgroup);
|
||||
if (pSubMsg->pTable) mnodeDecTableRef(pSubMsg->pTable);
|
||||
if (pSubMsg->pSTable) mnodeDecTableRef(pSubMsg->pSTable);
|
||||
if (pSubMsg->pAcct) mnodeDecAcctRef(pSubMsg->pAcct);
|
||||
if (pSubMsg->pDnode) mnodeDecDnodeRef(pSubMsg->pDnode);
|
||||
|
||||
taosFreeQitem(pSubMsg);
|
||||
}
|
||||
}
|
||||
|
||||
static int32_t mnodeValidateCreateTableMsg(SCreateTableMsg *pCreateTable, SMnodeMsg *pMsg) {
|
||||
if (pMsg->pDb == NULL) pMsg->pDb = mnodeGetDb(pCreateTable->db);
|
||||
if (pMsg->pDb == NULL) {
|
||||
mError("msg:%p, app:%p table:%s, failed to create, db not selected", pMsg, pMsg->rpcMsg.ahandle, pCreateTable->tableId);
|
||||
return TSDB_CODE_MND_DB_NOT_SELECTED;
|
||||
}
|
||||
|
||||
if (pMsg->pDb->status != TSDB_DB_STATUS_READY) {
|
||||
mError("db:%s, status:%d, in dropping", pMsg->pDb->name, pMsg->pDb->status);
|
||||
return TSDB_CODE_MND_DB_IN_DROPPING;
|
||||
}
|
||||
|
||||
if (pMsg->pTable == NULL) pMsg->pTable = mnodeGetTable(pCreateTable->tableId);
|
||||
if (pMsg->pTable != NULL && pMsg->retry == 0) {
|
||||
if (pCreateTable->getMeta) {
|
||||
mDebug("msg:%p, app:%p table:%s, continue to get meta", pMsg, pMsg->rpcMsg.ahandle, pCreateTable->tableId);
|
||||
return mnodeGetChildTableMeta(pMsg);
|
||||
} else if (pCreateTable->igExists) {
|
||||
mDebug("msg:%p, app:%p table:%s, is already exist", pMsg, pMsg->rpcMsg.ahandle, pCreateTable->tableId);
|
||||
return TSDB_CODE_SUCCESS;
|
||||
} else {
|
||||
mError("msg:%p, app:%p table:%s, failed to create, table already exist", pMsg, pMsg->rpcMsg.ahandle,
|
||||
pCreateTable->tableId);
|
||||
return TSDB_CODE_MND_TABLE_ALREADY_EXIST;
|
||||
}
|
||||
}
|
||||
|
||||
if (pCreateTable->numOfTags != 0) {
|
||||
mDebug("msg:%p, app:%p table:%s, create stable msg is received from thandle:%p", pMsg, pMsg->rpcMsg.ahandle,
|
||||
pCreateTable->tableId, pMsg->rpcMsg.handle);
|
||||
return mnodeProcessCreateSuperTableMsg(pMsg);
|
||||
} else {
|
||||
mDebug("msg:%p, app:%p table:%s, create ctable msg is received from thandle:%p", pMsg, pMsg->rpcMsg.ahandle,
|
||||
pCreateTable->tableId, pMsg->rpcMsg.handle);
|
||||
return mnodeProcessCreateChildTableMsg(pMsg);
|
||||
}
|
||||
}
|
||||
|
||||
static int32_t mnodeProcessBatchCreateTableMsg(SMnodeMsg *pMsg) {
|
||||
if (pMsg->pBatchMasterMsg == NULL) { // batch master first round
|
||||
pMsg->pBatchMasterMsg = pMsg;
|
||||
|
||||
SCMCreateTableMsg *pCreate = pMsg->rpcMsg.pCont;
|
||||
int32_t numOfTables = htonl(pCreate->numOfTables);
|
||||
int32_t contentLen = htonl(pCreate->contLen);
|
||||
pMsg->expected = numOfTables;
|
||||
|
||||
int32_t code = TSDB_CODE_SUCCESS;
|
||||
SCreateTableMsg *pCreateTable = (SCreateTableMsg*) ((char*) pCreate + sizeof(SCMCreateTableMsg));
|
||||
for (SCreateTableMsg *p = pCreateTable; p < (SCreateTableMsg *) ((char *) pCreate + contentLen); p = (SCreateTableMsg *) ((char *) p + htonl(p->len))) {
|
||||
SMnodeMsg *pSubMsg = mnodeCreateSubMsg(pMsg, sizeof(SCMCreateTableMsg) + htonl(p->len));
|
||||
memcpy(pSubMsg->pCont + sizeof(SCMCreateTableMsg), p, htonl(p->len));
|
||||
code = mnodeValidateCreateTableMsg(p, pSubMsg);
|
||||
|
||||
if (code == TSDB_CODE_SUCCESS || code == TSDB_CODE_MND_TABLE_ALREADY_EXIST) {
|
||||
++pSubMsg->pBatchMasterMsg->successed;
|
||||
mnodeDestroySubMsg(pSubMsg);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (code != TSDB_CODE_MND_ACTION_IN_PROGRESS) {
|
||||
mnodeDestroySubMsg(pSubMsg);
|
||||
return code;
|
||||
}
|
||||
}
|
||||
|
||||
if (pMsg->successed >= pMsg->expected) {
|
||||
return code;
|
||||
} else {
|
||||
return TSDB_CODE_MND_ACTION_IN_PROGRESS;
|
||||
}
|
||||
} else {
|
||||
if (pMsg->pBatchMasterMsg != pMsg) { // batch sub replay
|
||||
SCMCreateTableMsg *pCreate = pMsg->rpcMsg.pCont;
|
||||
SCreateTableMsg *pCreateTable = (SCreateTableMsg*) ((char*) pCreate + sizeof(SCMCreateTableMsg));
|
||||
int32_t code = mnodeValidateCreateTableMsg(pCreateTable, pMsg);
|
||||
if (code == TSDB_CODE_SUCCESS || code == TSDB_CODE_MND_TABLE_ALREADY_EXIST) {
|
||||
++pMsg->pBatchMasterMsg->successed;
|
||||
mnodeDestroySubMsg(pMsg);
|
||||
}
|
||||
|
||||
if (code != TSDB_CODE_MND_ACTION_IN_PROGRESS) {
|
||||
mnodeDestroySubMsg(pMsg);
|
||||
return code;
|
||||
}
|
||||
|
||||
if (pMsg->pBatchMasterMsg->successed + pMsg->pBatchMasterMsg->received
|
||||
>= pMsg->pBatchMasterMsg->expected) {
|
||||
return code;
|
||||
} else {
|
||||
return TSDB_CODE_MND_ACTION_IN_PROGRESS;
|
||||
}
|
||||
} else { // batch master replay, reprocess the whole batch
|
||||
assert(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static int32_t mnodeProcessCreateTableMsg(SMnodeMsg *pMsg) {
|
||||
SCMCreateTableMsg *pCreate = pMsg->rpcMsg.pCont;
|
||||
|
||||
|
@ -729,6 +857,11 @@ static int32_t mnodeProcessCreateTableMsg(SMnodeMsg *pMsg) {
|
|||
// todo return error
|
||||
}
|
||||
|
||||
// batch master msg first round or reprocessing and batch sub msg reprocessing
|
||||
if (numOfTables > 1 || pMsg->pBatchMasterMsg != NULL) {
|
||||
return mnodeProcessBatchCreateTableMsg(pMsg);
|
||||
}
|
||||
|
||||
SCreateTableMsg *p = (SCreateTableMsg*)((char*) pCreate + sizeof(SCMCreateTableMsg));
|
||||
if (pMsg->pDb == NULL) pMsg->pDb = mnodeGetDb(p->db);
|
||||
if (pMsg->pDb == NULL) {
|
||||
|
@ -1737,6 +1870,18 @@ static int32_t mnodeDoCreateChildTableCb(SMnodeMsg *pMsg, int32_t code) {
|
|||
mDebug("msg:%p, app:%p table:%s, created in dnode, thandle:%p", pMsg, pMsg->rpcMsg.ahandle, pTable->info.tableId,
|
||||
pMsg->rpcMsg.handle);
|
||||
|
||||
if (pMsg->pBatchMasterMsg) {
|
||||
++pMsg->pBatchMasterMsg->successed;
|
||||
if (pMsg->pBatchMasterMsg->successed + pMsg->pBatchMasterMsg->received
|
||||
>= pMsg->pBatchMasterMsg->expected) {
|
||||
dnodeSendRpcMWriteRsp(pMsg->pBatchMasterMsg, code);
|
||||
}
|
||||
|
||||
mnodeDestroySubMsg(pMsg);
|
||||
|
||||
return TSDB_CODE_MND_ACTION_IN_PROGRESS;
|
||||
}
|
||||
|
||||
dnodeSendRpcMWriteRsp(pMsg, TSDB_CODE_SUCCESS);
|
||||
}
|
||||
return TSDB_CODE_MND_ACTION_IN_PROGRESS;
|
||||
|
@ -2477,6 +2622,19 @@ static void mnodeProcessCreateChildTableRsp(SRpcMsg *rpcMsg) {
|
|||
|
||||
mnodeSendDropChildTableMsg(pMsg, false);
|
||||
rpcMsg->code = TSDB_CODE_SUCCESS;
|
||||
|
||||
if (pMsg->pBatchMasterMsg) {
|
||||
++pMsg->pBatchMasterMsg->successed;
|
||||
if (pMsg->pBatchMasterMsg->successed + pMsg->pBatchMasterMsg->received
|
||||
>= pMsg->pBatchMasterMsg->expected) {
|
||||
dnodeSendRpcMWriteRsp(pMsg->pBatchMasterMsg, rpcMsg->code);
|
||||
}
|
||||
|
||||
mnodeDestroySubMsg(pMsg);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
dnodeSendRpcMWriteRsp(pMsg, rpcMsg->code);
|
||||
return;
|
||||
}
|
||||
|
@ -2494,6 +2652,19 @@ static void mnodeProcessCreateChildTableRsp(SRpcMsg *rpcMsg) {
|
|||
if (code != TSDB_CODE_SUCCESS && code != TSDB_CODE_MND_ACTION_IN_PROGRESS) {
|
||||
pMsg->pTable = NULL;
|
||||
mnodeDestroyChildTable(pTable);
|
||||
|
||||
if (pMsg->pBatchMasterMsg) {
|
||||
++pMsg->pBatchMasterMsg->received;
|
||||
if (pMsg->pBatchMasterMsg->successed + pMsg->pBatchMasterMsg->received
|
||||
>= pMsg->pBatchMasterMsg->expected) {
|
||||
dnodeSendRpcMWriteRsp(pMsg->pBatchMasterMsg, code);
|
||||
}
|
||||
|
||||
mnodeDestroySubMsg(pMsg);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
dnodeSendRpcMWriteRsp(pMsg, code);
|
||||
}
|
||||
} else {
|
||||
|
@ -2519,6 +2690,19 @@ static void mnodeProcessCreateChildTableRsp(SRpcMsg *rpcMsg) {
|
|||
//Avoid retry again in client
|
||||
rpcMsg->code = TSDB_CODE_MND_VGROUP_NOT_READY;
|
||||
}
|
||||
|
||||
if (pMsg->pBatchMasterMsg) {
|
||||
++pMsg->pBatchMasterMsg->received;
|
||||
if (pMsg->pBatchMasterMsg->successed + pMsg->pBatchMasterMsg->received
|
||||
>= pMsg->pBatchMasterMsg->expected) {
|
||||
dnodeSendRpcMWriteRsp(pMsg->pBatchMasterMsg, rpcMsg->code);
|
||||
}
|
||||
|
||||
mnodeDestroySubMsg(pMsg);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
dnodeSendRpcMWriteRsp(pMsg, rpcMsg->code);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,9 +50,16 @@ static void httpSendErrorRespImp(HttpContext *pContext, int32_t httpCode, char *
|
|||
char head[512] = {0};
|
||||
char body[512] = {0};
|
||||
|
||||
int8_t httpVersion = 0;
|
||||
int8_t keepAlive = 0;
|
||||
if (pContext->parser != NULL) {
|
||||
httpVersion = pContext->parser->httpVersion;
|
||||
keepAlive = pContext->parser->keepAlive;
|
||||
}
|
||||
|
||||
int32_t bodyLen = sprintf(body, httpRespTemplate[HTTP_RESPONSE_JSON_ERROR], errNo, desc);
|
||||
int32_t headLen = sprintf(head, httpRespTemplate[HTTP_RESPONSE_ERROR], httpVersionStr[pContext->parser->httpVersion],
|
||||
httpCode, httpCodeStr, httpKeepAliveStr[pContext->parser->keepAlive], bodyLen);
|
||||
int32_t headLen = sprintf(head, httpRespTemplate[HTTP_RESPONSE_ERROR], httpVersionStr[httpVersion], httpCode,
|
||||
httpCodeStr, httpKeepAliveStr[keepAlive], bodyLen);
|
||||
|
||||
httpWriteBuf(pContext, head, headLen);
|
||||
httpWriteBuf(pContext, body, bodyLen);
|
||||
|
@ -164,9 +171,16 @@ void httpSendSuccResp(HttpContext *pContext, char *desc) {
|
|||
char head[1024] = {0};
|
||||
char body[1024] = {0};
|
||||
|
||||
int8_t httpVersion = 0;
|
||||
int8_t keepAlive = 0;
|
||||
if (pContext->parser != NULL) {
|
||||
httpVersion = pContext->parser->httpVersion;
|
||||
keepAlive = pContext->parser->keepAlive;
|
||||
}
|
||||
|
||||
int32_t bodyLen = sprintf(body, httpRespTemplate[HTTP_RESPONSE_JSON_OK], TSDB_CODE_SUCCESS, desc);
|
||||
int32_t headLen = sprintf(head, httpRespTemplate[HTTP_RESPONSE_OK], httpVersionStr[pContext->parser->httpVersion],
|
||||
httpKeepAliveStr[pContext->parser->keepAlive], bodyLen);
|
||||
int32_t headLen = sprintf(head, httpRespTemplate[HTTP_RESPONSE_OK], httpVersionStr[httpVersion],
|
||||
httpKeepAliveStr[keepAlive], bodyLen);
|
||||
|
||||
httpWriteBuf(pContext, head, headLen);
|
||||
httpWriteBuf(pContext, body, bodyLen);
|
||||
|
@ -177,9 +191,16 @@ void httpSendOptionResp(HttpContext *pContext, char *desc) {
|
|||
char head[1024] = {0};
|
||||
char body[1024] = {0};
|
||||
|
||||
int8_t httpVersion = 0;
|
||||
int8_t keepAlive = 0;
|
||||
if (pContext->parser != NULL) {
|
||||
httpVersion = pContext->parser->httpVersion;
|
||||
keepAlive = pContext->parser->keepAlive;
|
||||
}
|
||||
|
||||
int32_t bodyLen = sprintf(body, httpRespTemplate[HTTP_RESPONSE_JSON_OK], TSDB_CODE_SUCCESS, desc);
|
||||
int32_t headLen = sprintf(head, httpRespTemplate[HTTP_RESPONSE_OPTIONS], httpVersionStr[pContext->parser->httpVersion],
|
||||
httpKeepAliveStr[pContext->parser->keepAlive], bodyLen);
|
||||
int32_t headLen = sprintf(head, httpRespTemplate[HTTP_RESPONSE_OPTIONS], httpVersionStr[httpVersion],
|
||||
httpKeepAliveStr[keepAlive], bodyLen);
|
||||
|
||||
httpWriteBuf(pContext, head, headLen);
|
||||
httpWriteBuf(pContext, body, bodyLen);
|
||||
|
|
|
@ -503,9 +503,10 @@ void *syncRetrieveData(void *param) {
|
|||
taosClose(pPeer->syncFd);
|
||||
|
||||
// The ref is obtained in both the create thread and the current thread, so it is released twice
|
||||
sInfo("%s, sync retrieve data over, sstatus:%s", pPeer->id, syncStatus[pPeer->sstatus]);
|
||||
|
||||
syncReleasePeer(pPeer);
|
||||
syncReleasePeer(pPeer);
|
||||
|
||||
sInfo("%s, sync retrieve data over, sstatus:%s", pPeer->id, syncStatus[pPeer->sstatus]);
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
@ -178,11 +178,15 @@ python3 ./test.py -f query/floatCompare.py
|
|||
|
||||
#stream
|
||||
python3 ./test.py -f stream/metric_1.py
|
||||
python3 ./test.py -f stream/metric_n.py
|
||||
python3 ./test.py -f stream/new.py
|
||||
python3 ./test.py -f stream/stream1.py
|
||||
python3 ./test.py -f stream/stream2.py
|
||||
#python3 ./test.py -f stream/parser.py
|
||||
python3 ./test.py -f stream/history.py
|
||||
python3 ./test.py -f stream/sys.py
|
||||
python3 ./test.py -f stream/table_1.py
|
||||
python3 ./test.py -f stream/table_n.py
|
||||
|
||||
#alter table
|
||||
python3 ./test.py -f alter/alter_table_crash.py
|
||||
|
|
|
@ -178,11 +178,15 @@ python3 ./test.py -f query/floatCompare.py
|
|||
|
||||
#stream
|
||||
python3 ./test.py -f stream/metric_1.py
|
||||
python3 ./test.py -f stream/metric_n.py
|
||||
python3 ./test.py -f stream/new.py
|
||||
python3 ./test.py -f stream/stream1.py
|
||||
python3 ./test.py -f stream/stream2.py
|
||||
#python3 ./test.py -f stream/parser.py
|
||||
python3 ./test.py -f stream/history.py
|
||||
python3 ./test.py -f stream/sys.py
|
||||
python3 ./test.py -f stream/table_1.py
|
||||
python3 ./test.py -f stream/table_n.py
|
||||
|
||||
#alter table
|
||||
python3 ./test.py -f alter/alter_table_crash.py
|
||||
|
|
|
@ -0,0 +1,123 @@
|
|||
###################################################################
|
||||
# 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 time
|
||||
import taos
|
||||
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):
|
||||
tbNum = 10
|
||||
rowNum = 20
|
||||
totalNum = tbNum * rowNum
|
||||
|
||||
tdSql.prepare()
|
||||
|
||||
tdLog.info("===== preparing data =====")
|
||||
tdSql.execute(
|
||||
"create table stb(ts timestamp, tbcol int, tbcol2 float) tags(tgcol int)")
|
||||
for i in range(tbNum):
|
||||
tdSql.execute("create table tb%d using stb tags(%d)" % (i, i))
|
||||
for j in range(rowNum):
|
||||
tdSql.execute(
|
||||
"insert into tb%d values (now - %dm, %d, %d)" %
|
||||
(i, 1440 - j, j, j))
|
||||
time.sleep(0.1)
|
||||
|
||||
tdLog.info("===== step 1 =====")
|
||||
tdSql.query("select count(*), count(tbcol), count(tbcol2) from stb interval(1d)")
|
||||
tdSql.checkData(0, 1, totalNum)
|
||||
tdSql.checkData(0, 2, totalNum)
|
||||
tdSql.checkData(0, 3, totalNum)
|
||||
|
||||
tdLog.info("===== step 2 =====")
|
||||
tdSql.execute("create table strm_c3 as select count(*), count(tbcol), count(tbcol2) from stb interval(1d)")
|
||||
|
||||
tdLog.info("===== step 3 =====")
|
||||
tdSql.execute("create table strm_c32 as select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from stb interval(1d)")
|
||||
|
||||
tdLog.info("===== step 4 =====")
|
||||
tdSql.query("select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from stb interval(1d)")
|
||||
tdSql.checkData(0, 1, totalNum)
|
||||
tdSql.checkData(0, 2, totalNum)
|
||||
tdSql.checkData(0, 3, totalNum)
|
||||
|
||||
tdLog.info("===== step 5 =====")
|
||||
tdSql.execute("create table strm_c31 as select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from stb interval(1d)")
|
||||
|
||||
tdLog.info("===== step 6 =====")
|
||||
tdSql.query("select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from stb interval(1d)")
|
||||
tdSql.checkData(0, 1, 9.5)
|
||||
tdSql.checkData(0, 2, 1900)
|
||||
tdSql.checkData(0, 3, 0)
|
||||
tdSql.checkData(0, 4, 19)
|
||||
tdSql.checkData(0, 5, 0)
|
||||
tdSql.checkData(0, 6, 19)
|
||||
tdSql.execute("create table strm_avg as select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from stb interval(1d)")
|
||||
|
||||
tdLog.info("===== step 7 =====")
|
||||
tdSql.query("select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), count(tbcol) from stb where ts < now + 4m interval(1d)")
|
||||
tdSql.checkData(0, 1, 9.5)
|
||||
tdSql.checkData(0, 2, 1900)
|
||||
tdSql.checkData(0, 3, 0)
|
||||
tdSql.checkData(0, 4, 19)
|
||||
tdSql.checkData(0, 5, 0)
|
||||
tdSql.checkData(0, 6, 19)
|
||||
tdSql.checkData(0, 7, totalNum)
|
||||
|
||||
tdLog.info("===== step 8 =====")
|
||||
tdSql.query("select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), count(tbcol) from stb where ts < now + 4m interval(1d)")
|
||||
tdSql.checkData(0, 1, 9.5)
|
||||
tdSql.checkData(0, 2, 1900)
|
||||
tdSql.checkData(0, 3, 0)
|
||||
tdSql.checkData(0, 4, 19)
|
||||
tdSql.checkData(0, 5, 0)
|
||||
tdSql.checkData(0, 6, 19)
|
||||
tdSql.checkData(0, 7, totalNum)
|
||||
|
||||
tdLog.info("===== step 9 =====")
|
||||
tdSql.waitedQuery("select * from strm_c3", 1, 120)
|
||||
tdSql.checkData(0, 1, totalNum)
|
||||
tdSql.checkData(0, 2, totalNum)
|
||||
tdSql.checkData(0, 3, totalNum)
|
||||
|
||||
tdLog.info("===== step 10 =====")
|
||||
tdSql.waitedQuery("select * from strm_c31", 1, 30)
|
||||
for i in range(1, 10):
|
||||
tdSql.checkData(0, i, totalNum)
|
||||
|
||||
tdLog.info("===== step 11 =====")
|
||||
tdSql.waitedQuery("select * from strm_avg", 1, 20)
|
||||
tdSql.checkData(0, 1, 9.5)
|
||||
tdSql.checkData(0, 2, 1900)
|
||||
tdSql.checkData(0, 3, 0)
|
||||
tdSql.checkData(0, 4, 19)
|
||||
tdSql.checkData(0, 5, 0)
|
||||
tdSql.checkData(0, 6, 19)
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,62 @@
|
|||
###################################################################
|
||||
# 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
|
||||
#
|
||||
###################################################################
|
||||
|
||||
# migrated from 'stream_on_sys.sim'
|
||||
# -*- coding: utf-8 -*-
|
||||
import sys
|
||||
import time
|
||||
import taos
|
||||
from util.log import tdLog
|
||||
from util.cases import tdCases
|
||||
from util.sql import tdSql
|
||||
|
||||
|
||||
class TDTestCase:
|
||||
updatecfgDict = {'monitor': 1}
|
||||
|
||||
def init(self, conn, logSql):
|
||||
tdLog.debug("start to execute %s" % __file__)
|
||||
tdSql.init(conn.cursor(), logSql)
|
||||
|
||||
|
||||
def run(self):
|
||||
time.sleep(5)
|
||||
tdSql.execute("use log")
|
||||
|
||||
tdSql.execute("create table cpustrm as select count(*), avg(cpu_taosd), max(cpu_taosd), min(cpu_taosd), avg(cpu_system), max(cpu_cores), min(cpu_cores), last(cpu_cores) from log.dn1 interval(4s)")
|
||||
tdSql.execute("create table memstrm as select count(*), avg(mem_taosd), max(mem_taosd), min(mem_taosd), avg(mem_system), first(mem_total), last(mem_total) from log.dn1 interval(4s)")
|
||||
tdSql.execute("create table diskstrm as select count(*), avg(disk_used), last(disk_used), avg(disk_total), first(disk_total) from log.dn1 interval(4s)")
|
||||
tdSql.execute("create table bandstrm as select count(*), avg(band_speed), last(band_speed) from log.dn1 interval(4s)")
|
||||
tdSql.execute("create table reqstrm as select count(*), avg(req_http), last(req_http), avg(req_select), last(req_select), avg(req_insert), last(req_insert) from log.dn1 interval(4s)")
|
||||
tdSql.execute("create table iostrm as select count(*), avg(io_read), last(io_read), avg(io_write), last(io_write) from log.dn1 interval(4s)")
|
||||
|
||||
sqls = [
|
||||
"select * from cpustrm",
|
||||
"select * from memstrm",
|
||||
"select * from diskstrm",
|
||||
"select * from bandstrm",
|
||||
"select * from reqstrm",
|
||||
"select * from iostrm",
|
||||
]
|
||||
for sql in sqls:
|
||||
(rows, _) = tdSql.waitedQuery(sql, 1, 120)
|
||||
if rows < 1:
|
||||
tdLog.exit("failed: sql:%s, expect at least one row" % sql)
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
###################################################################
|
||||
# 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 time
|
||||
import taos
|
||||
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 createFuncStream(self, expr, suffix, value):
|
||||
tbname = "strm_" + suffix
|
||||
tdLog.info("create stream table %s" % tbname)
|
||||
tdSql.query("select %s from tb1 interval(1d)" % expr)
|
||||
tdSql.checkData(0, 1, value)
|
||||
tdSql.execute("create table %s as select %s from tb1 interval(1d)" % (tbname, expr))
|
||||
|
||||
def checkStreamData(self, suffix, value):
|
||||
sql = "select * from strm_" + suffix
|
||||
tdSql.waitedQuery(sql, 1, 120)
|
||||
tdSql.checkData(0, 1, value)
|
||||
|
||||
def run(self):
|
||||
tbNum = 10
|
||||
rowNum = 20
|
||||
|
||||
tdSql.prepare()
|
||||
|
||||
tdLog.info("===== step1 =====")
|
||||
tdSql.execute(
|
||||
"create table stb(ts timestamp, tbcol int, tbcol2 float) tags(tgcol int)")
|
||||
for i in range(tbNum):
|
||||
tdSql.execute("create table tb%d using stb tags(%d)" % (i, i))
|
||||
for j in range(rowNum):
|
||||
tdSql.execute(
|
||||
"insert into tb%d values (now - %dm, %d, %d)" %
|
||||
(i, 1440 - j, j, j))
|
||||
time.sleep(0.1)
|
||||
|
||||
self.createFuncStream("count(*)", "c1", rowNum)
|
||||
self.createFuncStream("count(tbcol)", "c2", rowNum)
|
||||
self.createFuncStream("count(tbcol2)", "c3", rowNum)
|
||||
self.createFuncStream("avg(tbcol)", "av", 9.5)
|
||||
self.createFuncStream("sum(tbcol)", "su", 190)
|
||||
self.createFuncStream("min(tbcol)", "mi", 0)
|
||||
self.createFuncStream("max(tbcol)", "ma", 19)
|
||||
self.createFuncStream("first(tbcol)", "fi", 0)
|
||||
self.createFuncStream("last(tbcol)", "la", 19)
|
||||
self.createFuncStream("stddev(tbcol)", "st", 5.766281297335398)
|
||||
self.createFuncStream("percentile(tbcol, 1)", "pe", 0.19)
|
||||
self.createFuncStream("count(tbcol)", "as", rowNum)
|
||||
|
||||
self.checkStreamData("c1", rowNum)
|
||||
self.checkStreamData("c2", rowNum)
|
||||
self.checkStreamData("c3", rowNum)
|
||||
self.checkStreamData("av", 9.5)
|
||||
self.checkStreamData("su", 190)
|
||||
self.checkStreamData("mi", 0)
|
||||
self.checkStreamData("ma", 19)
|
||||
self.checkStreamData("fi", 0)
|
||||
self.checkStreamData("la", 19)
|
||||
self.checkStreamData("st", 5.766281297335398)
|
||||
self.checkStreamData("pe", 0.19)
|
||||
self.checkStreamData("as", rowNum)
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,143 @@
|
|||
###################################################################
|
||||
# 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 time
|
||||
import taos
|
||||
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):
|
||||
tbNum = 10
|
||||
rowNum = 20
|
||||
|
||||
tdSql.prepare()
|
||||
|
||||
tdLog.info("===== preparing data =====")
|
||||
tdSql.execute(
|
||||
"create table stb(ts timestamp, tbcol int, tbcol2 float) tags(tgcol int)")
|
||||
for i in range(tbNum):
|
||||
tdSql.execute("create table tb%d using stb tags(%d)" % (i, i))
|
||||
for j in range(rowNum):
|
||||
tdSql.execute(
|
||||
"insert into tb%d values (now - %dm, %d, %d)" %
|
||||
(i, 1440 - j, j, j))
|
||||
time.sleep(0.1)
|
||||
|
||||
tdLog.info("===== step 1 =====")
|
||||
tdSql.query("select count(*), count(tbcol), count(tbcol2) from tb1 interval(1d)")
|
||||
tdSql.checkData(0, 1, rowNum)
|
||||
tdSql.checkData(0, 2, rowNum)
|
||||
tdSql.checkData(0, 3, rowNum)
|
||||
|
||||
tdLog.info("===== step 2 =====")
|
||||
tdSql.execute("create table strm_c3 as select count(*), count(tbcol), count(tbcol2) from tb1 interval(1d)")
|
||||
|
||||
tdLog.info("===== step 3 =====")
|
||||
tdSql.execute("create table strm_c32 as select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from tb1 interval(1d)")
|
||||
|
||||
tdLog.info("===== step 4 =====")
|
||||
tdSql.query("select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from tb1 interval(1d)")
|
||||
tdSql.checkData(0, 1, rowNum)
|
||||
tdSql.checkData(0, 2, rowNum)
|
||||
tdSql.checkData(0, 3, rowNum)
|
||||
|
||||
tdLog.info("===== step 5 =====")
|
||||
tdSql.execute("create table strm_c31 as select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from tb1 interval(1d)")
|
||||
|
||||
tdLog.info("===== step 6 =====")
|
||||
tdSql.query("select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from tb1 interval(1d)")
|
||||
tdSql.checkData(0, 1, 9.5)
|
||||
tdSql.checkData(0, 2, 190)
|
||||
tdSql.checkData(0, 3, 0)
|
||||
tdSql.checkData(0, 4, 19)
|
||||
tdSql.checkData(0, 5, 0)
|
||||
tdSql.checkData(0, 6, 19)
|
||||
tdSql.execute("create table strm_avg as select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from tb1 interval(1d)")
|
||||
|
||||
tdLog.info("===== step 7 =====")
|
||||
tdSql.query("select stddev(tbcol), leastsquares(tbcol, 1, 1), percentile(tbcol, 1) from tb1 interval(1d)")
|
||||
tdSql.checkData(0, 1, 5.766281297335398)
|
||||
tdSql.checkData(0, 3, 0.19)
|
||||
tdSql.execute("create table strm_ot as select stddev(tbcol), leastsquares(tbcol, 1, 1), percentile(tbcol, 1) from tb1 interval(1d)")
|
||||
|
||||
tdLog.info("===== step 8 =====")
|
||||
tdSql.query("select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), stddev(tbcol), percentile(tbcol, 1), count(tbcol), leastsquares(tbcol, 1, 1) from tb1 interval(1d)")
|
||||
tdSql.checkData(0, 1, 9.5)
|
||||
tdSql.checkData(0, 2, 190)
|
||||
tdSql.checkData(0, 3, 0)
|
||||
tdSql.checkData(0, 4, 19)
|
||||
tdSql.checkData(0, 5, 0)
|
||||
tdSql.checkData(0, 6, 19)
|
||||
tdSql.checkData(0, 7, 5.766281297335398)
|
||||
tdSql.checkData(0, 8, 0.19)
|
||||
tdSql.checkData(0, 9, rowNum)
|
||||
tdSql.execute("create table strm_to as select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), stddev(tbcol), percentile(tbcol, 1), count(tbcol), leastsquares(tbcol, 1, 1) from tb1 interval(1d)")
|
||||
|
||||
tdLog.info("===== step 9 =====")
|
||||
tdSql.query("select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), stddev(tbcol), percentile(tbcol, 1), count(tbcol), leastsquares(tbcol, 1, 1) from tb1 where ts < now + 4m interval(1d)")
|
||||
tdSql.checkData(0, 9, rowNum)
|
||||
tdSql.execute("create table strm_wh as select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), stddev(tbcol), percentile(tbcol, 1), count(tbcol), leastsquares(tbcol, 1, 1) from tb1 where ts < now + 4m interval(1d)")
|
||||
|
||||
tdLog.info("===== step 10 =====")
|
||||
tdSql.waitedQuery("select * from strm_c3", 1, 120)
|
||||
tdSql.checkData(0, 1, rowNum)
|
||||
tdSql.checkData(0, 2, rowNum)
|
||||
tdSql.checkData(0, 3, rowNum)
|
||||
|
||||
tdLog.info("===== step 11 =====")
|
||||
tdSql.waitedQuery("select * from strm_c31", 1, 30)
|
||||
for i in range(1, 10):
|
||||
tdSql.checkData(0, i, rowNum)
|
||||
|
||||
tdLog.info("===== step 12 =====")
|
||||
tdSql.waitedQuery("select * from strm_avg", 1, 20)
|
||||
tdSql.checkData(0, 1, 9.5)
|
||||
tdSql.checkData(0, 2, 190)
|
||||
tdSql.checkData(0, 3, 0)
|
||||
tdSql.checkData(0, 4, 19)
|
||||
tdSql.checkData(0, 5, 0)
|
||||
tdSql.checkData(0, 6, 19)
|
||||
|
||||
tdLog.info("===== step 13 =====")
|
||||
tdSql.waitedQuery("select * from strm_ot", 1, 20)
|
||||
tdSql.checkData(0, 1, 5.766281297335398)
|
||||
tdSql.checkData(0, 3, 0.19)
|
||||
|
||||
tdLog.info("===== step 14 =====")
|
||||
tdSql.waitedQuery("select * from strm_to", 1, 20)
|
||||
tdSql.checkData(0, 1, 9.5)
|
||||
tdSql.checkData(0, 2, 190)
|
||||
tdSql.checkData(0, 3, 0)
|
||||
tdSql.checkData(0, 4, 19)
|
||||
tdSql.checkData(0, 5, 0)
|
||||
tdSql.checkData(0, 6, 19)
|
||||
tdSql.checkData(0, 7, 5.766281297335398)
|
||||
tdSql.checkData(0, 8, 0.19)
|
||||
tdSql.checkData(0, 9, rowNum)
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -134,8 +134,6 @@ run general/parser/tags_dynamically_specifiy.sim
|
|||
run general/parser/set_tag_vals.sim
|
||||
#unsupport run general/parser/repeatAlter.sim
|
||||
#unsupport run general/parser/slimit_alter_tags.sim
|
||||
#unsupport run general/parser/stream_on_sys.sim
|
||||
#unsupport run general/parser/repeatStream.sim
|
||||
run general/stable/disk.sim
|
||||
run general/stable/dnode3.sim
|
||||
run general/stable/metrics.sim
|
||||
|
@ -213,9 +211,6 @@ run general/vector/table_time.sim
|
|||
run general/stream/restart_stream.sim
|
||||
run general/stream/stream_3.sim
|
||||
run general/stream/stream_restart.sim
|
||||
run general/stream/table_1.sim
|
||||
run general/stream/table_n.sim
|
||||
run general/stream/metrics_n.sim
|
||||
run general/stream/table_del.sim
|
||||
run general/stream/metrics_del.sim
|
||||
run general/stream/table_replica1_vnoden.sim
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
$i = 1
|
||||
$repeats = 5
|
||||
while $i <= $repeats
|
||||
print ====== repeat: $i
|
||||
run general/parser/stream.sim
|
||||
$i = $i + 1
|
||||
endw
|
||||
|
||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
|
@ -1,62 +0,0 @@
|
|||
system sh/stop_dnodes.sh
|
||||
|
||||
system sh/deploy.sh -n dnode1 -i 1
|
||||
system sh/cfg.sh -n dnode1 -c walLevel -v 0
|
||||
system sh/cfg.sh -n dnode1 -c monitor -v 1
|
||||
system sh/cfg.sh -n dnode1 -c monitorInterval -v 1
|
||||
system sh/exec.sh -n dnode1 -s start
|
||||
|
||||
sleep 500
|
||||
sql connect
|
||||
print ======================== stream_on_sys.sim
|
||||
|
||||
$db = log
|
||||
$tb = tb
|
||||
$mt = mt
|
||||
$strm = strm
|
||||
$tbNum = 10
|
||||
$rowNum = 20
|
||||
$totalNum = 200
|
||||
|
||||
$i = 0
|
||||
|
||||
sql use $db
|
||||
|
||||
sql create table cpustrm as select count(*), avg(cpu_taosd), max(cpu_taosd), min(cpu_taosd), avg(cpu_system), max(cpu_cores), min(cpu_cores), last(cpu_cores) from log.dn1 interval(4s)
|
||||
sql create table memstrm as select count(*), avg(mem_taosd), max(mem_taosd), min(mem_taosd), avg(mem_system), first(mem_total), last(mem_total) from log.dn1 interval(4s)
|
||||
sql create table diskstrm as select count(*), avg(disk_used), last(disk_used), avg(disk_total), first(disk_total) from log.dn1 interval(4s)
|
||||
sql create table bandstrm as select count(*), avg(band_speed), last(band_speed) from log.dn1 interval(4s)
|
||||
sql create table reqstrm as select count(*), avg(req_http), last(req_http), avg(req_select), last(req_select), avg(req_insert), last(req_insert) from log.dn1 interval(4s)
|
||||
sql create table iostrm as select count(*), avg(io_read), last(io_read), avg(io_write), last(io_write) from log.dn1 interval(4s)
|
||||
sleep 120000
|
||||
sql select * from cpustrm
|
||||
if $rows <= 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql select * from memstrm
|
||||
if $rows <= 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql select * from diskstrm
|
||||
if $rows <= 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql select * from bandstrm
|
||||
if $rows <= 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql select * from reqstrm
|
||||
if $rows <= 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql select * from iostrm
|
||||
if $rows <= 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
|
@ -105,10 +105,3 @@ sleep 500
|
|||
run general/parser/sliding.sim
|
||||
sleep 500
|
||||
run general/parser/function.sim
|
||||
|
||||
#sleep 500
|
||||
#run general/parser/repeatStream.sim
|
||||
#sleep 500
|
||||
#run general/parser/stream_on_sys.sim
|
||||
#sleep 500
|
||||
#run general/parser/stream.sim
|
|
@ -1,262 +0,0 @@
|
|||
system sh/stop_dnodes.sh
|
||||
|
||||
system sh/deploy.sh -n dnode1 -i 1
|
||||
system sh/cfg.sh -n dnode1 -c walLevel -v 0
|
||||
system sh/exec.sh -n dnode1 -s start
|
||||
|
||||
sleep 3000
|
||||
sql connect
|
||||
|
||||
print ======================== dnode1 start
|
||||
|
||||
$dbPrefix = mn_db
|
||||
$tbPrefix = mn_tb
|
||||
$mtPrefix = mn_mt
|
||||
$stPrefix = mn_st
|
||||
$tbNum = 10
|
||||
$rowNum = 20
|
||||
$totalNum = 200
|
||||
|
||||
print =============== step1
|
||||
$i = 0
|
||||
$db = $dbPrefix . $i
|
||||
$mt = $mtPrefix . $i
|
||||
$st = $stPrefix . $i
|
||||
|
||||
sql drop databae $db -x step1
|
||||
step1:
|
||||
sql create database $db
|
||||
sql use $db
|
||||
sql create table $mt (ts timestamp, tbcol int, tbcol2 float) TAGS(tgcol int)
|
||||
|
||||
$i = 0
|
||||
while $i < $tbNum
|
||||
$tb = $tbPrefix . $i
|
||||
sql create table $tb using $mt tags( $i )
|
||||
|
||||
$x = -1440
|
||||
$y = 0
|
||||
while $y < $rowNum
|
||||
$ms = $x . m
|
||||
sql insert into $tb values (now $ms , $y , $y )
|
||||
$x = $x + 1
|
||||
$y = $y + 1
|
||||
endw
|
||||
|
||||
$i = $i + 1
|
||||
endw
|
||||
|
||||
sleep 100
|
||||
|
||||
print =============== step2 c3
|
||||
$i = 1
|
||||
$tb = $tbPrefix . $i
|
||||
|
||||
sql select count(*), count(tbcol), count(tbcol2) from $mt interval(1d)
|
||||
print select count(*), count(tbcol), count(tbcol2) from $mt interval(1d) ===> $data00 $data01 $data02, $data03
|
||||
if $data01 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 200 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . c3
|
||||
sql create table $st as select count(*), count(tbcol), count(tbcol2) from $mt interval(1d)
|
||||
|
||||
print =============== step3 count32
|
||||
#total 32 count in select
|
||||
sql select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from $mt interval(1d)
|
||||
|
||||
# total 32 count in stream
|
||||
$st = $stPrefix . c32
|
||||
sql create table $st as select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from $mt interval(1d)
|
||||
|
||||
print =============== step4 count31
|
||||
|
||||
#total 31 count in select
|
||||
sql select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from $mt interval(1d)
|
||||
print ===> $data00 $data01 $data02, $data03
|
||||
if $data01 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 200 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
# total 31 count in stream will crash, 32 will error
|
||||
$st = $stPrefix . c31
|
||||
sql create table $st as select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from $mt interval(1d)
|
||||
|
||||
print =============== step5 avg ...
|
||||
sql select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt interval(1d)
|
||||
print ===> $data01 $data02 $data03 $data04 $data05 $data06
|
||||
if $data01 != 9.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 1900 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data04 != 19 then
|
||||
return -1
|
||||
endi
|
||||
if $data05 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data06 != 19 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . avg
|
||||
sql create table $st as select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $mt interval(1d)
|
||||
|
||||
print =============== step6 others
|
||||
sql select stddev(tbcol), leastsquares(tbcol, 1, 1), percentile(tbcol, 1) from $mt interval(1d) -x step6
|
||||
return -1
|
||||
step6:
|
||||
|
||||
$st = $stPrefix . ot
|
||||
sql create table $st as select stddev(tbcol), leastsquares(tbcol, 1, 1), percentile(tbcol, 1) from $mt interval(1d) -x step61
|
||||
return -1
|
||||
step61:
|
||||
|
||||
print =============== step7 where
|
||||
sql select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), count(tbcol) from $mt where ts < now + 4m interval(1d)
|
||||
print select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), count(tbcol) from $mt where ts < now + 4m interval(1d)
|
||||
print ===> $data01 $data02 $data03 $data04 $data05 $data06 $data07
|
||||
if $data01 != 9.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 1900 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data04 != 19 then
|
||||
return -1
|
||||
endi
|
||||
if $data05 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data06 != 19 then
|
||||
return -1
|
||||
endi
|
||||
if $data07 != 200 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . wh
|
||||
#sql create table $st as select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), count(tbcol) from $mt where ts < now + 4m interval(1d)
|
||||
|
||||
print =============== step8 as
|
||||
sql select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), count(tbcol) from $mt where ts < now + 4m interval(1d)
|
||||
print ===> $data01 $data02 $data03 $data04 $data05 $data06 $data07
|
||||
if $data01 != 9.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 1900 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data04 != 19 then
|
||||
return -1
|
||||
endi
|
||||
if $data05 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data06 != 19 then
|
||||
return -1
|
||||
endi
|
||||
if $data07 != 200 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . as
|
||||
#sql create table $st as select avg(tbcol) as a1, sum(tbcol) as a2, min(tbcol) as a3, max(tbcol) as a4, first(tbcol) as a5, last(tbcol) as a6, count(tbcol) as a7, avg(tbcol) as a8, sum(tbcol) as a9, min(tbcol) as a3, max(tbcol) as a4, first(tbcol) as a5, last(tbcol) as a6, count(tbcol) as a7 from $mt where ts < now + 4m interval(1d)
|
||||
|
||||
print =============== step9
|
||||
print sleep 120 seconds
|
||||
sleep 120000
|
||||
|
||||
print =============== step10
|
||||
$st = $stPrefix . c3
|
||||
sql select * from $st
|
||||
print ===> select * from $st
|
||||
print ===> $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
|
||||
if $data01 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 200 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . c31
|
||||
sql select * from $st
|
||||
if $data01 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data04 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data05 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data06 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data07 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data08 != 200 then
|
||||
return -1
|
||||
endi
|
||||
if $data09 != 200 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
|
||||
|
||||
$st = $stPrefix . avg
|
||||
sql select * from $st
|
||||
print ===> select * from $st
|
||||
print ===> $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
|
||||
if $data01 != 9.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 1900 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data04 != 19 then
|
||||
return -1
|
||||
endi
|
||||
if $data05 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data06 != 19 then
|
||||
return -1
|
||||
endi
|
||||
|
|
@ -1,317 +0,0 @@
|
|||
system sh/stop_dnodes.sh
|
||||
|
||||
system sh/deploy.sh -n dnode1 -i 1
|
||||
system sh/cfg.sh -n dnode1 -c walLevel -v 0
|
||||
system sh/exec.sh -n dnode1 -s start
|
||||
|
||||
sleep 3000
|
||||
sql connect
|
||||
|
||||
print ======================== dnode1 start
|
||||
|
||||
$dbPrefix = t1_db
|
||||
$tbPrefix = t1_tb
|
||||
$mtPrefix = t1_mt
|
||||
$stPrefix = t1_st
|
||||
$tbNum = 10
|
||||
$rowNum = 20
|
||||
$totalNum = 200
|
||||
|
||||
print =============== step1
|
||||
$i = 0
|
||||
$db = $dbPrefix . $i
|
||||
$mt = $mtPrefix . $i
|
||||
$st = $stPrefix . $i
|
||||
|
||||
sql drop databae $db -x step1
|
||||
step1:
|
||||
sql create database $db
|
||||
sql use $db
|
||||
sql create table $mt (ts timestamp, tbcol int, tbcol2 float) TAGS(tgcol int)
|
||||
|
||||
$i = 0
|
||||
while $i < $tbNum
|
||||
$tb = $tbPrefix . $i
|
||||
sql create table $tb using $mt tags( $i )
|
||||
|
||||
$x = -1440
|
||||
$y = 0
|
||||
while $y < $rowNum
|
||||
$ms = $x . m
|
||||
sql insert into $tb values (now $ms , $y , $y )
|
||||
$x = $x + 1
|
||||
$y = $y + 1
|
||||
endw
|
||||
|
||||
$i = $i + 1
|
||||
endw
|
||||
|
||||
sleep 100
|
||||
|
||||
print =============== step2 c1
|
||||
$i = 1
|
||||
$tb = $tbPrefix . $i
|
||||
|
||||
sql select count(*) from $tb interval(1d)
|
||||
print select count(*) from $tb interval(1d) ===> $data00 $data01
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . c1
|
||||
sql create table $st as select count(*) from $tb interval(1d)
|
||||
|
||||
print =============== step3 c2
|
||||
sql select count(tbcol) from $tb interval(1d)
|
||||
print select count(tbcol) from $tb interval(1d) ===> $data00 $data01
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . c2
|
||||
sql create table $st as select count(tbcol) from $tb interval(1d)
|
||||
|
||||
print =============== step4 c3
|
||||
sql select count(tbcol2) from $tb interval(1d)
|
||||
print select count(tbcol2) from $tb interval(1d) ===> $data00 $data01
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . c3
|
||||
sql create table $st as select count(tbcol2) from $tb interval(1d)
|
||||
|
||||
print =============== step5 avg
|
||||
sql select avg(tbcol) from $tb interval(1d)
|
||||
print select avg(tbcol) from $tb interval(1d) ===> $data00 $data01
|
||||
if $data01 != 9.500000000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . av
|
||||
sql create table $st as select avg(tbcol) from $tb interval(1d)
|
||||
|
||||
print =============== step6 su
|
||||
sql select sum(tbcol) from $tb interval(1d)
|
||||
print select sum(tbcol) from $tb interval(1d) ===> $data00 $data01
|
||||
if $data01 != 190 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . su
|
||||
sql create table $st as select sum(tbcol) from $tb interval(1d)
|
||||
|
||||
print =============== step7 mi
|
||||
sql select min(tbcol) from $tb interval(1d)
|
||||
print select min(tbcol) from $tb interval(1d) ===> $data00 $data01
|
||||
if $data01 != 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . mi
|
||||
sql create table $st as select min(tbcol) from $tb interval(1d)
|
||||
|
||||
print =============== step8 ma
|
||||
sql select max(tbcol) from $tb interval(1d)
|
||||
print select max(tbcol) from $tb interval(1d) ===> $data00 $data01
|
||||
if $data01 != 19 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . ma
|
||||
sql create table $st as select max(tbcol) from $tb interval(1d)
|
||||
|
||||
print =============== step9 fi
|
||||
sql select first(tbcol) from $tb interval(1d)
|
||||
print select first(tbcol) from $tb interval(1d) ===> $data00 $data01
|
||||
if $data01 != 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . fi
|
||||
sql create table $st as select first(tbcol) from $tb interval(1d)
|
||||
|
||||
print =============== step10 la
|
||||
sql select last(tbcol) from $tb interval(1d)
|
||||
print select last(tbcol) from $tb interval(1d) ===> $data00 $data01
|
||||
if $data01 != 19 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . la
|
||||
sql create table $st as select last(tbcol) from $tb interval(1d)
|
||||
|
||||
print =============== step11 st
|
||||
sql select stddev(tbcol) from $tb interval(1d)
|
||||
print select stddev(tbcol) from $tb interval(1d) ===> $data00 $data01
|
||||
if $data01 != 5.766281297 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . std
|
||||
sql create table $st as select stddev(tbcol) from $tb interval(1d)
|
||||
|
||||
print =============== step12 le
|
||||
sql select leastsquares(tbcol, 1, 1) from $tb interval(1d)
|
||||
print select leastsquares(tbcol, 1, 1) from $tb interval(1d) ===> $data00 $data01
|
||||
#if $data01 != @(0.000017, -25362055.126740)@ then
|
||||
# return -1
|
||||
#endi
|
||||
|
||||
$st = $stPrefix . le
|
||||
sql create table $st as select leastsquares(tbcol, 1, 1) from $tb interval(1d)
|
||||
|
||||
print =============== step13
|
||||
sql select top(tbcol, 1) from $tb interval(1d)
|
||||
|
||||
print =============== step14
|
||||
sql select bottom(tbcol, 1) from $tb interval(1d)
|
||||
|
||||
print =============== step15 pe
|
||||
|
||||
sql select percentile(tbcol, 1) from $tb interval(1d)
|
||||
print select percentile(tbcol, 1) from $tb interval(1d) ===> $data00 $data01
|
||||
if $data01 != 0.190000000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . pe
|
||||
sql create table $st as select percentile(tbcol, 1) from $tb interval(1d)
|
||||
|
||||
print =============== step16
|
||||
sql select diff(tbcol) from $tb interval(1d) -x step16
|
||||
return -1
|
||||
step16:
|
||||
|
||||
print =============== step17 wh
|
||||
sql select count(tbcol) from $tb where ts < now + 4m interval(1d)
|
||||
print select count(tbcol) from $tb where ts < now + 4m interval(1d) ===> $data00 $data01
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . wh
|
||||
#sql create table $st as select count(tbcol) from $tb where ts < now + 4m interval(1d)
|
||||
|
||||
print =============== step18 as
|
||||
sql select count(tbcol) from $tb interval(1d)
|
||||
print select count(tbcol) from $tb interval(1d) ===> $data00 $data01
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . as
|
||||
sql create table $st as select count(tbcol) as c from $tb interval(1d)
|
||||
|
||||
print =============== step19 gb
|
||||
sql select count(tbcol) from $tb interval(1d) group by tgcol -x step19
|
||||
return -1
|
||||
step19:
|
||||
|
||||
print =============== step20 x
|
||||
sql select count(tbcol) from $tb where ts < now + 4m interval(1d) group by tgcol -x step20
|
||||
return -1
|
||||
step20:
|
||||
|
||||
print =============== step21
|
||||
print sleep 120 seconds
|
||||
sleep 120000
|
||||
|
||||
print =============== step22
|
||||
$st = $stPrefix . c1
|
||||
sql select * from $st
|
||||
print ===> select * from $st ===> $data00 $data01
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . c2
|
||||
sql select * from $st
|
||||
print ===> select * from $st ===> $data00 $data01
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . c3
|
||||
sql select * from $st
|
||||
print ===> select * from $st ===> $data00 $data01
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . av
|
||||
sql select * from $st
|
||||
print ===> select * from $st ===> $data00 $data01
|
||||
if $data01 != 9.500000000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . su
|
||||
sql select * from $st
|
||||
print ===> select * from $st ===> $data00 $data01
|
||||
if $data01 != 190 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . mi
|
||||
sql select * from $st
|
||||
print ===> select * from $st ===> $data00 $data01
|
||||
if $data01 != 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . ma
|
||||
sql select * from $st
|
||||
print ===> select * from $st ===> $data00 $data01
|
||||
if $data01 != 19 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . fi
|
||||
sql select * from $st
|
||||
print ===> select * from $st ===> $data00 $data01
|
||||
if $data01 != 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . la
|
||||
sql select * from $st
|
||||
print ===> select * from $st ===> $data00 $data01
|
||||
if $data01 != 19 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . std
|
||||
sql select * from $st
|
||||
print ===> select * from $st ===> $data00 $data01
|
||||
if $data01 != 5.766281297 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . le
|
||||
sql select * from $st
|
||||
#print ===> select * from $st ===> $data00 $data01
|
||||
#if $data01 != @(0.000017, -25270086.331047)@ then
|
||||
# return -1
|
||||
#endi
|
||||
|
||||
$st = $stPrefix . pe
|
||||
sql select * from $st
|
||||
print ===> select * from $st ===> $data00 $data01
|
||||
if $data01 != 0.190000000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
#$st = $stPrefix . wh
|
||||
#sql select * from $st
|
||||
#print ===> select * from $st ===> $data00 $data01
|
||||
#if $data01 != $rowNum then
|
||||
# return -1
|
||||
#endi
|
||||
|
||||
$st = $stPrefix . as
|
||||
sql select * from $st
|
||||
print ===> select * from $st ===> $data00 $data01
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
|
@ -1,293 +0,0 @@
|
|||
system sh/stop_dnodes.sh
|
||||
|
||||
system sh/deploy.sh -n dnode1 -i 1
|
||||
system sh/cfg.sh -n dnode1 -c walLevel -v 0
|
||||
system sh/exec.sh -n dnode1 -s start
|
||||
|
||||
sleep 3000
|
||||
sql connect
|
||||
|
||||
print ======================== dnode1 start
|
||||
|
||||
$dbPrefix = tn_db
|
||||
$tbPrefix = tn_tb
|
||||
$mtPrefix = tn_mt
|
||||
$stPrefix = tn_st
|
||||
$tbNum = 10
|
||||
$rowNum = 20
|
||||
$totalNum = 200
|
||||
|
||||
print =============== step1
|
||||
$i = 0
|
||||
$db = $dbPrefix . $i
|
||||
$mt = $mtPrefix . $i
|
||||
$st = $stPrefix . $i
|
||||
|
||||
sql drop databae $db -x step1
|
||||
step1:
|
||||
sql create database $db
|
||||
sql use $db
|
||||
sql create table $mt (ts timestamp, tbcol int, tbcol2 float) TAGS(tgcol int)
|
||||
|
||||
$i = 0
|
||||
while $i < $tbNum
|
||||
$tb = $tbPrefix . $i
|
||||
sql create table $tb using $mt tags( $i )
|
||||
|
||||
$x = -1440
|
||||
$y = 0
|
||||
while $y < $rowNum
|
||||
$ms = $x . m
|
||||
sql insert into $tb values (now $ms , $y , $y )
|
||||
$x = $x + 1
|
||||
$y = $y + 1
|
||||
endw
|
||||
|
||||
$i = $i + 1
|
||||
endw
|
||||
|
||||
sleep 100
|
||||
|
||||
print =============== step2 c3
|
||||
$i = 1
|
||||
$tb = $tbPrefix . $i
|
||||
|
||||
sql select count(*), count(tbcol), count(tbcol2) from $tb interval(1d)
|
||||
print select count(*), count(tbcol), count(tbcol2) from $tb interval(1d) ===> $data00 $data01 $data02, $data03
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . c3
|
||||
sql create table $st as select count(*), count(tbcol), count(tbcol2) from $tb interval(1d)
|
||||
|
||||
print =============== step3 count32
|
||||
#total 32 count in select
|
||||
sql select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from $tb interval(1d)
|
||||
|
||||
# total 32 count in stream
|
||||
$st = $stPrefix . c32
|
||||
sql create table $st as select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from $tb interval(1d)
|
||||
|
||||
print =============== step4 count31
|
||||
|
||||
#total 31 count in select
|
||||
sql select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from $tb interval(1d)
|
||||
print ===> $data00 $data01 $data02, $data03
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
|
||||
# total 31 count in stream will crash, 32 will error
|
||||
$st = $stPrefix . c31
|
||||
sql create table $st as select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from $tb interval(1d)
|
||||
|
||||
print =============== step5 avg ...
|
||||
sql select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $tb interval(1d)
|
||||
print ===> $data01 $data02 $data03 $data04 $data05 $data06
|
||||
if $data01 != 9.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 190 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data04 != 19 then
|
||||
return -1
|
||||
endi
|
||||
if $data05 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data06 != 19 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . avg
|
||||
sql create table $st as select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from $tb interval(1d)
|
||||
|
||||
print =============== step6 others
|
||||
sql select stddev(tbcol), leastsquares(tbcol, 1, 1), percentile(tbcol, 1) from $tb interval(1d)
|
||||
print ===> $data01 $data02 $data03
|
||||
if $data01 != 5.766281297 then
|
||||
return -1
|
||||
endi
|
||||
#if $data02 != @(0.000017, -25362055.126740)@ then
|
||||
# return -1
|
||||
#endi
|
||||
if $data03 != 0.190000000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . ot
|
||||
sql create table $st as select stddev(tbcol), leastsquares(tbcol, 1, 1), percentile(tbcol, 1) from $tb interval(1d)
|
||||
|
||||
print =============== step7 total ...
|
||||
sql select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), stddev(tbcol), percentile(tbcol, 1), count(tbcol), leastsquares(tbcol, 1, 1) from $tb interval(1d)
|
||||
print ===> $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
|
||||
if $data01 != 9.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 190 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data04 != 19 then
|
||||
return -1
|
||||
endi
|
||||
if $data05 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data06 != 19 then
|
||||
return -1
|
||||
endi
|
||||
if $data07 != 5.766281297 then
|
||||
return -1
|
||||
endi
|
||||
if $data08 != 0.190000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data09 != 20 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . to
|
||||
sql create table $st as select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), stddev(tbcol), percentile(tbcol, 1), count(tbcol), leastsquares(tbcol, 1, 1) from $tb interval(1d)
|
||||
|
||||
print =============== step8 where
|
||||
sql select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), stddev(tbcol), percentile(tbcol, 1), count(tbcol), leastsquares(tbcol, 1, 1) from $tb where ts < now + 4m interval(1d)
|
||||
print ===> $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
|
||||
if $data09 != 20 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . wh
|
||||
sql create table $st as select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), stddev(tbcol), percentile(tbcol, 1), count(tbcol), leastsquares(tbcol, 1, 1) from $tb where ts < now + 4m interval(1d)
|
||||
|
||||
|
||||
print =============== step9 as
|
||||
sql select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), stddev(tbcol), percentile(tbcol, 1), count(tbcol), leastsquares(tbcol, 1, 1) from $tb where ts < now + 4m interval(1d)
|
||||
print ===> $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
|
||||
if $data09 != 20 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . as
|
||||
#sql create table $st as select avg(tbcol) as a1, sum(tbcol) as a2, min(tbcol) as a3, max(tbcol) as a4, first(tbcol) as a5, last(tbcol) as a6, stddev(tbcol) as a7, percentile(tbcol, 1) as a8, count(tbcol) as a9, leastsquares(tbcol, 1, 1) as a10 from $tb where ts < now + 4m interval(1d)
|
||||
|
||||
print =============== step10
|
||||
print sleep 120 seconds
|
||||
sleep 120000
|
||||
|
||||
print =============== step11
|
||||
$st = $stPrefix . c3
|
||||
sql select * from $st
|
||||
print ===> select * from $st
|
||||
print ===> $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . c31
|
||||
sql select * from $st
|
||||
if $data01 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != $rowNum then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . avg
|
||||
sql select * from $st
|
||||
print ===> select * from $st
|
||||
print ===> $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
|
||||
if $data01 != 9.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 190 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data04 != 19 then
|
||||
return -1
|
||||
endi
|
||||
if $data05 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data06 != 19 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . ot
|
||||
sql select * from $st
|
||||
print ===> select * from $st
|
||||
print ===> $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
|
||||
if $data01 != 5.766281297 then
|
||||
return -1
|
||||
endi
|
||||
#if $data02 != @(0.000017, -25362055.126740)@ then
|
||||
# return -1
|
||||
#endi
|
||||
if $data03 != 0.190000000 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
$st = $stPrefix . to
|
||||
sql select * from $st
|
||||
print ===> select * from $st
|
||||
print ===> $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
|
||||
if $data01 != 9.500000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 190 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data04 != 19 then
|
||||
return -1
|
||||
endi
|
||||
if $data05 != 0 then
|
||||
return -1
|
||||
endi
|
||||
if $data06 != 19 then
|
||||
return -1
|
||||
endi
|
||||
if $data07 != 5.766281297 then
|
||||
return -1
|
||||
endi
|
||||
if $data08 != 0.190000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data09 != 20 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
|
@ -1,8 +1,5 @@
|
|||
run general/stream/stream_3.sim
|
||||
run general/stream/stream_restart.sim
|
||||
run general/stream/table_1.sim
|
||||
run general/stream/table_n.sim
|
||||
run general/stream/metrics_n.sim
|
||||
run general/stream/table_del.sim
|
||||
run general/stream/metrics_del.sim
|
||||
run general/stream/table_replica1_vnoden.sim
|
||||
|
|
|
@ -319,6 +319,7 @@ cd ../../../debug; make
|
|||
./test.sh -f unique/mnode/mgmt24.sim
|
||||
./test.sh -f unique/mnode/mgmt25.sim
|
||||
./test.sh -f unique/mnode/mgmt26.sim
|
||||
./test.sh -f unique/mnode/mgmt30.sim
|
||||
./test.sh -f unique/mnode/mgmt33.sim
|
||||
./test.sh -f unique/mnode/mgmt34.sim
|
||||
./test.sh -f unique/mnode/mgmtr2.sim
|
||||
|
@ -330,16 +331,12 @@ cd ../../../debug; make
|
|||
./test.sh -f unique/vnode/replica3_repeat.sim
|
||||
./test.sh -f unique/vnode/replica3_vgroup.sim
|
||||
|
||||
./test.sh -f general/parser/stream_on_sys.sim
|
||||
./test.sh -f general/stream/metrics_del.sim
|
||||
./test.sh -f general/stream/metrics_n.sim
|
||||
./test.sh -f general/stream/metrics_replica1_vnoden.sim
|
||||
./test.sh -f general/stream/restart_stream.sim
|
||||
./test.sh -f general/stream/stream_3.sim
|
||||
./test.sh -f general/stream/stream_restart.sim
|
||||
./test.sh -f general/stream/table_1.sim
|
||||
./test.sh -f general/stream/table_del.sim
|
||||
./test.sh -f general/stream/table_n.sim
|
||||
./test.sh -f general/stream/table_replica1_vnoden.sim
|
||||
|
||||
./test.sh -f unique/arbitrator/check_cluster_cfg_para.sim
|
||||
|
|
|
@ -150,6 +150,8 @@
|
|||
./test.sh -f general/parser/repeatAlter.sim
|
||||
./test.sh -f general/parser/union.sim
|
||||
./test.sh -f general/parser/topbot.sim
|
||||
./test.sh -f general/db/nosuchfile.sim
|
||||
./test.sh -f general/parser/function.sim
|
||||
|
||||
./test.sh -f general/stable/disk.sim
|
||||
./test.sh -f general/stable/dnode3.sim
|
||||
|
|
|
@ -26,6 +26,9 @@ cd ../../../debug; make
|
|||
./test.sh -f general/tag/set.sim
|
||||
./test.sh -f general/tag/smallint.sim
|
||||
./test.sh -f general/tag/tinyint.sim
|
||||
./test.sh -f general/wal/sync.sim
|
||||
./test.sh -f general/wal/kill.sim
|
||||
./test.sh -f general/wal/maxtables.sim
|
||||
|
||||
./test.sh -f general/user/authority.sim
|
||||
./test.sh -f general/user/monitor.sim
|
||||
|
@ -87,4 +90,15 @@ cd ../../../debug; make
|
|||
./test.sh -f unique/vnode/replica2_repeat.sim
|
||||
./test.sh -f unique/vnode/replica3_basic.sim
|
||||
./test.sh -f unique/vnode/replica3_repeat.sim
|
||||
./test.sh -f unique/vnode/replica3_vgroup.sim
|
||||
./test.sh -f unique/vnode/replica3_vgroup.sim
|
||||
|
||||
./test.sh -f unique/dnode/monitor.sim
|
||||
./test.sh -f unique/dnode/monitor_bug.sim
|
||||
./test.sh -f unique/dnode/simple.sim
|
||||
./test.sh -f unique/dnode/data1.sim
|
||||
./test.sh -f unique/dnode/m2.sim
|
||||
./test.sh -f unique/dnode/m3.sim
|
||||
./test.sh -f unique/dnode/offline3.sim
|
||||
./test.sh -f general/wal/sync.sim
|
||||
./test.sh -f general/wal/kill.sim
|
||||
./test.sh -f general/wal/maxtables.sim
|
|
@ -60,20 +60,16 @@
|
|||
./test.sh -f unique/mnode/mgmt22.sim
|
||||
./test.sh -f unique/mnode/mgmt23.sim
|
||||
./test.sh -f unique/mnode/mgmt24.sim
|
||||
#./test.sh -f unique/mnode/mgmt25.sim
|
||||
#./test.sh -f unique/mnode/mgmt26.sim
|
||||
./test.sh -f unique/mnode/mgmt25.sim
|
||||
./test.sh -f unique/mnode/mgmt26.sim
|
||||
./test.sh -f unique/mnode/mgmt33.sim
|
||||
./test.sh -f unique/mnode/mgmt34.sim
|
||||
./test.sh -f unique/mnode/mgmtr2.sim
|
||||
|
||||
./test.sh -f general/parser/stream_on_sys.sim
|
||||
./test.sh -f general/stream/metrics_del.sim
|
||||
./test.sh -f general/stream/metrics_n.sim
|
||||
./test.sh -f general/stream/metrics_replica1_vnoden.sim
|
||||
./test.sh -f general/stream/restart_stream.sim
|
||||
./test.sh -f general/stream/stream_3.sim
|
||||
./test.sh -f general/stream/stream_restart.sim
|
||||
./test.sh -f general/stream/table_1.sim
|
||||
./test.sh -f general/stream/table_del.sim
|
||||
./test.sh -f general/stream/table_n.sim
|
||||
./test.sh -f general/stream/table_replica1_vnoden.sim
|
||||
|
|
|
@ -147,9 +147,7 @@ cd ../../../debug; make
|
|||
./test.sh -f general/parser/join_multivnode.sim
|
||||
./test.sh -f general/parser/binary_escapeCharacter.sim
|
||||
./test.sh -f general/parser/bug.sim
|
||||
#./test.sh -f general/parser/stream_on_sys.sim
|
||||
./test.sh -f general/parser/repeatAlter.sim
|
||||
#./test.sh -f general/parser/repeatStream.sim
|
||||
|
||||
./test.sh -f general/stable/disk.sim
|
||||
./test.sh -f general/stable/dnode3.sim
|
||||
|
|
|
@ -10,6 +10,7 @@ cd ../../../debug; make
|
|||
./test.sh -f unique/cluster/balance2.sim
|
||||
./test.sh -f unique/cluster/balance3.sim
|
||||
./test.sh -f unique/cluster/cache.sim
|
||||
./test.sh -f unique/cluster/vgroup100.sim
|
||||
|
||||
./test.sh -f unique/column/replica3.sim
|
||||
|
||||
|
@ -25,12 +26,17 @@ cd ../../../debug; make
|
|||
./test.sh -f unique/db/replica_part.sim
|
||||
|
||||
./test.sh -f unique/dnode/alternativeRole.sim
|
||||
./test.sh -f unique/dnode/monitor.sim
|
||||
./test.sh -f unique/dnode/monitor_bug.sim
|
||||
./test.sh -f unique/dnode/simple.sim
|
||||
./test.sh -f unique/dnode/balance1.sim
|
||||
./test.sh -f unique/dnode/balance2.sim
|
||||
./test.sh -f unique/dnode/balance3.sim
|
||||
./test.sh -f unique/dnode/balancex.sim
|
||||
./test.sh -f unique/dnode/data1.sim
|
||||
./test.sh -f unique/dnode/m2.sim
|
||||
./test.sh -f unique/dnode/m3.sim
|
||||
./test.sh -f unique/dnode/lossdata.sim
|
||||
./test.sh -f unique/dnode/offline1.sim
|
||||
./test.sh -f unique/dnode/offline2.sim
|
||||
./test.sh -f unique/dnode/offline3.sim
|
||||
|
@ -54,12 +60,14 @@ cd ../../../debug; make
|
|||
./test.sh -f unique/stable/replica3_dnode6.sim
|
||||
./test.sh -f unique/stable/replica3_vnode3.sim
|
||||
|
||||
./test.sh -f unique/mnode/mgmt20.sim
|
||||
./test.sh -f unique/mnode/mgmt21.sim
|
||||
./test.sh -f unique/mnode/mgmt22.sim
|
||||
./test.sh -f unique/mnode/mgmt23.sim
|
||||
./test.sh -f unique/mnode/mgmt24.sim
|
||||
./test.sh -f unique/mnode/mgmt25.sim
|
||||
./test.sh -f unique/mnode/mgmt26.sim
|
||||
./test.sh -f unique/mnode/mgmt30.sim
|
||||
./test.sh -f unique/mnode/mgmt33.sim
|
||||
./test.sh -f unique/mnode/mgmt34.sim
|
||||
./test.sh -f unique/mnode/mgmtr2.sim
|
||||
|
|
|
@ -134,9 +134,6 @@ run general/parser/tags_dynamically_specifiy.sim
|
|||
run general/parser/set_tag_vals.sim
|
||||
run general/parser/repeatAlter.sim
|
||||
##unsupport run general/parser/slimit_alter_tags.sim
|
||||
##unsupport run general/parser/stream_on_sys.sim
|
||||
run general/parser/stream.sim
|
||||
#unsupport run general/parser/repeatStream.sim
|
||||
run general/stable/disk.sim
|
||||
run general/stable/dnode3.sim
|
||||
run general/stable/metrics.sim
|
||||
|
@ -214,14 +211,8 @@ run general/vector/table_mix.sim
|
|||
run general/vector/table_query.sim
|
||||
run general/vector/table_time.sim
|
||||
run general/stream/restart_stream.sim
|
||||
run general/stream/stream_1.sim
|
||||
run general/stream/stream_2.sim
|
||||
run general/stream/stream_3.sim
|
||||
run general/stream/stream_restart.sim
|
||||
run general/stream/table_1.sim
|
||||
run general/stream/metrics_1.sim
|
||||
run general/stream/table_n.sim
|
||||
run general/stream/metrics_n.sim
|
||||
run general/stream/table_del.sim
|
||||
run general/stream/metrics_del.sim
|
||||
run general/stream/table_replica1_vnoden.sim
|
||||
|
|
|
@ -99,9 +99,11 @@ print ========= step2 alter db
|
|||
sql_error alter database d1 replica 1
|
||||
sql_error alter database d2 replica 1
|
||||
sql_error alter database d3 replica 1
|
||||
sql_error alter database d4 replica 1
|
||||
sql alter database d1 replica 2
|
||||
sql alter database d2 replica 2
|
||||
sql alter database d3 replica 2
|
||||
sql alter database d4 replica 2
|
||||
|
||||
$x = 0
|
||||
a2:
|
||||
|
@ -129,9 +131,16 @@ if $data03 != 2 then
|
|||
goto a2
|
||||
endi
|
||||
|
||||
sql show d4.vgroups
|
||||
print online vnodes $data03
|
||||
if $data03 != 2 then
|
||||
goto a2
|
||||
endi
|
||||
|
||||
sql alter database d1 replica 1
|
||||
sql alter database d2 replica 1
|
||||
sql alter database d3 replica 1
|
||||
sql alter database d4 replica 1
|
||||
|
||||
$x = 0
|
||||
a1:
|
||||
|
@ -159,6 +168,27 @@ if $data03 != 1 then
|
|||
goto a1
|
||||
endi
|
||||
|
||||
sql show d4.vgroups
|
||||
print online vnodes $data03
|
||||
if $data03 != 1 then
|
||||
goto a1
|
||||
endi
|
||||
|
||||
sql show dnodes
|
||||
print $data00 $data01 $data02 $data03
|
||||
print $data10 $data11 $data12 $data13
|
||||
print $data20 $data21 $data22 $data23
|
||||
|
||||
if $data02 != 0 then
|
||||
goto a1
|
||||
endi
|
||||
if $data12 != 2 then
|
||||
goto a1
|
||||
endi
|
||||
if $data22 != 2 then
|
||||
goto a1
|
||||
endi
|
||||
|
||||
print ========= step3
|
||||
sql reset query cache
|
||||
sleep 100
|
||||
|
@ -192,6 +222,7 @@ print ========= step4 alter db
|
|||
sql alter database d1 replica 2
|
||||
sql alter database d2 replica 2
|
||||
sql alter database d3 replica 2
|
||||
sql alter database d4 replica 2
|
||||
|
||||
$x = 0
|
||||
step4:
|
||||
|
@ -219,6 +250,12 @@ if $data03 != 2 then
|
|||
goto step4
|
||||
endi
|
||||
|
||||
sql show d4.vgroups
|
||||
print online vnodes $data03
|
||||
if $data03 != 2 then
|
||||
goto step4
|
||||
endi
|
||||
|
||||
sql insert into d1.t1 values(now, 3)
|
||||
sql insert into d2.t2 values(now, 3)
|
||||
sql insert into d3.t3 values(now, 3)
|
||||
|
@ -286,4 +323,5 @@ sql select * from d4.t4
|
|||
|
||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
||||
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
||||
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
||||
system sh/exec.sh -n dnode4 -s stop -x SIGINT
|
|
@ -0,0 +1,68 @@
|
|||
system sh/stop_dnodes.sh
|
||||
system sh/deploy.sh -n dnode1 -i 1
|
||||
system sh/deploy.sh -n dnode2 -i 2
|
||||
system sh/deploy.sh -n dnode3 -i 3
|
||||
|
||||
system sh/cfg.sh -n dnode1 -c numOfMnodes -v 3
|
||||
system sh/cfg.sh -n dnode2 -c numOfMnodes -v 3
|
||||
system sh/cfg.sh -n dnode3 -c numOfMnodes -v 3
|
||||
|
||||
system sh/cfg.sh -n dnode1 -c balanceInterval -v 3000
|
||||
system sh/cfg.sh -n dnode2 -c balanceInterval -v 3000
|
||||
system sh/cfg.sh -n dnode3 -c balanceInterval -v 3000
|
||||
|
||||
print ============== step1
|
||||
system sh/exec.sh -n dnode1 -s start
|
||||
sql connect
|
||||
|
||||
sql show mnodes
|
||||
print dnode1 ==> $data2_1
|
||||
print dnode2 ==> $data2_2
|
||||
print dnode3 ==> $data3_3
|
||||
if $data2_1 != master then
|
||||
return -1
|
||||
endi
|
||||
if $data3_2 != null then
|
||||
return -1
|
||||
endi
|
||||
if $data3_3 != null then
|
||||
return -1
|
||||
endi
|
||||
|
||||
print ============== step2
|
||||
system sh/exec.sh -n dnode2 -s start
|
||||
system sh/exec.sh -n dnode3 -s start
|
||||
sleep 5000
|
||||
|
||||
sql create dnode $hostname2
|
||||
sql create dnode $hostname3
|
||||
|
||||
$x = 0
|
||||
step2:
|
||||
$x = $x + 1
|
||||
sleep 1000
|
||||
if $x == 10 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
sql show mnodes
|
||||
$dnode1Role = $data2_1
|
||||
$dnode2Role = $data2_2
|
||||
$dnode3Role = $data2_3
|
||||
print dnode1 ==> $dnode1Role
|
||||
print dnode2 ==> $dnode2Role
|
||||
print dnode3 ==> $dnode3Role
|
||||
|
||||
if $dnode1Role != master then
|
||||
goto step2
|
||||
endi
|
||||
if $dnode2Role != slave then
|
||||
goto step2
|
||||
endi
|
||||
if $dnode3Role != slave then
|
||||
goto step2
|
||||
endi
|
||||
|
||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||
system sh/exec.sh -n dnode2 -s stop -x SIGINT
|
||||
system sh/exec.sh -n dnode3 -s stop -x SIGINT
|
Loading…
Reference in New Issue