Merge branch '3.0' of https://github.com/taosdata/TDengine into feat/tsdb_snapshot
This commit is contained in:
commit
c9b0864e21
|
@ -21,4 +21,4 @@
|
||||||
url = https://github.com/taosdata/taosadapter.git
|
url = https://github.com/taosdata/taosadapter.git
|
||||||
[submodule "tools/taosws-rs"]
|
[submodule "tools/taosws-rs"]
|
||||||
path = tools/taosws-rs
|
path = tools/taosws-rs
|
||||||
url = https://github.com/taosdata/taosws-rs.git
|
url = https://github.com/taosdata/taosws-rs
|
||||||
|
|
|
@ -525,6 +525,7 @@ typedef struct {
|
||||||
int8_t superUser;
|
int8_t superUser;
|
||||||
int8_t connType;
|
int8_t connType;
|
||||||
SEpSet epSet;
|
SEpSet epSet;
|
||||||
|
int32_t svrTimestamp;
|
||||||
char sVer[TSDB_VERSION_LEN];
|
char sVer[TSDB_VERSION_LEN];
|
||||||
char sDetailVer[128];
|
char sDetailVer[128];
|
||||||
} SConnectRsp;
|
} SConnectRsp;
|
||||||
|
@ -2233,6 +2234,7 @@ typedef struct {
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int64_t reqId;
|
int64_t reqId;
|
||||||
int64_t rspId;
|
int64_t rspId;
|
||||||
|
int32_t svrTimestamp;
|
||||||
SArray* rsps; // SArray<SClientHbRsp>
|
SArray* rsps; // SArray<SClientHbRsp>
|
||||||
} SClientHbBatchRsp;
|
} SClientHbBatchRsp;
|
||||||
|
|
||||||
|
|
|
@ -103,6 +103,7 @@ int32_t minScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *
|
||||||
int32_t maxScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput);
|
int32_t maxScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput);
|
||||||
int32_t avgScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput);
|
int32_t avgScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput);
|
||||||
int32_t stddevScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput);
|
int32_t stddevScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput);
|
||||||
|
int32_t leastSQRScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,6 +73,7 @@ int32_t* taosGetErrno();
|
||||||
#define TSDB_CODE_MSG_DECODE_ERROR TAOS_DEF_ERROR_CODE(0, 0x0031)
|
#define TSDB_CODE_MSG_DECODE_ERROR TAOS_DEF_ERROR_CODE(0, 0x0031)
|
||||||
#define TSDB_CODE_NO_AVAIL_DISK TAOS_DEF_ERROR_CODE(0, 0x0032)
|
#define TSDB_CODE_NO_AVAIL_DISK TAOS_DEF_ERROR_CODE(0, 0x0032)
|
||||||
#define TSDB_CODE_NOT_FOUND TAOS_DEF_ERROR_CODE(0, 0x0033)
|
#define TSDB_CODE_NOT_FOUND TAOS_DEF_ERROR_CODE(0, 0x0033)
|
||||||
|
#define TSDB_CODE_TIME_UNSYNCED TAOS_DEF_ERROR_CODE(0, 0x0034)
|
||||||
|
|
||||||
#define TSDB_CODE_REF_NO_MEMORY TAOS_DEF_ERROR_CODE(0, 0x0040)
|
#define TSDB_CODE_REF_NO_MEMORY TAOS_DEF_ERROR_CODE(0, 0x0040)
|
||||||
#define TSDB_CODE_REF_FULL TAOS_DEF_ERROR_CODE(0, 0x0041)
|
#define TSDB_CODE_REF_FULL TAOS_DEF_ERROR_CODE(0, 0x0041)
|
||||||
|
|
|
@ -286,7 +286,7 @@ static FORCE_INLINE SReqResultInfo* tscGetCurResInfo(TAOS_RES* res) {
|
||||||
extern SAppInfo appInfo;
|
extern SAppInfo appInfo;
|
||||||
extern int32_t clientReqRefPool;
|
extern int32_t clientReqRefPool;
|
||||||
extern int32_t clientConnRefPool;
|
extern int32_t clientConnRefPool;
|
||||||
extern void* tscQhandle;
|
extern int32_t timestampDeltaLimit;
|
||||||
|
|
||||||
__async_send_cb_fn_t getMsgRspHandle(int32_t msgType);
|
__async_send_cb_fn_t getMsgRspHandle(int32_t msgType);
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,8 @@ SAppInfo appInfo;
|
||||||
int32_t clientReqRefPool = -1;
|
int32_t clientReqRefPool = -1;
|
||||||
int32_t clientConnRefPool = -1;
|
int32_t clientConnRefPool = -1;
|
||||||
|
|
||||||
|
int32_t timestampDeltaLimit = 900; // s
|
||||||
|
|
||||||
static TdThreadOnce tscinit = PTHREAD_ONCE_INIT;
|
static TdThreadOnce tscinit = PTHREAD_ONCE_INIT;
|
||||||
volatile int32_t tscInitRes = 0;
|
volatile int32_t tscInitRes = 0;
|
||||||
|
|
||||||
|
|
|
@ -161,9 +161,9 @@ static int32_t hbQueryHbRspHandle(SAppHbMgr *pAppHbMgr, SClientHbRsp *pRsp) {
|
||||||
SEpSet *pOrig = &pTscObj->pAppInfo->mgmtEp.epSet;
|
SEpSet *pOrig = &pTscObj->pAppInfo->mgmtEp.epSet;
|
||||||
SEp *pOrigEp = &pOrig->eps[pOrig->inUse];
|
SEp *pOrigEp = &pOrig->eps[pOrig->inUse];
|
||||||
SEp *pNewEp = &pRsp->query->epSet.eps[pRsp->query->epSet.inUse];
|
SEp *pNewEp = &pRsp->query->epSet.eps[pRsp->query->epSet.inUse];
|
||||||
tscDebug("mnode epset updated from %d/%d=>%s:%d to %d/%d=>%s:%d in hb",
|
tscDebug("mnode epset updated from %d/%d=>%s:%d to %d/%d=>%s:%d in hb", pOrig->inUse, pOrig->numOfEps,
|
||||||
pOrig->inUse, pOrig->numOfEps, pOrigEp->fqdn, pOrigEp->port,
|
pOrigEp->fqdn, pOrigEp->port, pRsp->query->epSet.inUse, pRsp->query->epSet.numOfEps, pNewEp->fqdn,
|
||||||
pRsp->query->epSet.inUse, pRsp->query->epSet.numOfEps, pNewEp->fqdn, pNewEp->port);
|
pNewEp->port);
|
||||||
|
|
||||||
updateEpSet_s(&pTscObj->pAppInfo->mgmtEp, &pRsp->query->epSet);
|
updateEpSet_s(&pTscObj->pAppInfo->mgmtEp, &pRsp->query->epSet);
|
||||||
}
|
}
|
||||||
|
@ -270,6 +270,13 @@ static int32_t hbAsyncCallBack(void *param, SDataBuf *pMsg, int32_t code) {
|
||||||
tDeserializeSClientHbBatchRsp(pMsg->pData, pMsg->len, &pRsp);
|
tDeserializeSClientHbBatchRsp(pMsg->pData, pMsg->len, &pRsp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int32_t now = taosGetTimestampSec();
|
||||||
|
int32_t delta = abs(now - pRsp.svrTimestamp);
|
||||||
|
if (delta > timestampDeltaLimit) {
|
||||||
|
code = TSDB_CODE_TIME_UNSYNCED;
|
||||||
|
tscError("time diff: %ds is too big", delta);
|
||||||
|
}
|
||||||
|
|
||||||
int32_t rspNum = taosArrayGetSize(pRsp.rsps);
|
int32_t rspNum = taosArrayGetSize(pRsp.rsps);
|
||||||
|
|
||||||
taosThreadMutexLock(&appInfo.mutex);
|
taosThreadMutexLock(&appInfo.mutex);
|
||||||
|
@ -286,7 +293,7 @@ static int32_t hbAsyncCallBack(void *param, SDataBuf *pMsg, int32_t code) {
|
||||||
taosMemoryFreeClear(param);
|
taosMemoryFreeClear(param);
|
||||||
|
|
||||||
if (code != 0) {
|
if (code != 0) {
|
||||||
(*pInst)->onlineDnodes = 0;
|
(*pInst)->onlineDnodes = ((*pInst)->totalDnodes ? 0 : -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rspNum) {
|
if (rspNum) {
|
||||||
|
@ -392,7 +399,6 @@ int32_t hbGetQueryBasicInfo(SClientHbKey *connKey, SClientHbReq *req) {
|
||||||
return TSDB_CODE_QRY_OUT_OF_MEMORY;
|
return TSDB_CODE_QRY_OUT_OF_MEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int32_t code = hbBuildQueryDesc(hbBasic, pTscObj);
|
int32_t code = hbBuildQueryDesc(hbBasic, pTscObj);
|
||||||
if (code) {
|
if (code) {
|
||||||
releaseTscObj(connKey->tscRid);
|
releaseTscObj(connKey->tscRid);
|
||||||
|
@ -442,7 +448,6 @@ int32_t hbGetExpiredUserInfo(SClientHbKey *connKey, struct SCatalog *pCatalog, S
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int32_t hbGetExpiredDBInfo(SClientHbKey *connKey, struct SCatalog *pCatalog, SClientHbReq *req) {
|
int32_t hbGetExpiredDBInfo(SClientHbKey *connKey, struct SCatalog *pCatalog, SClientHbReq *req) {
|
||||||
SDbVgVersion *dbs = NULL;
|
SDbVgVersion *dbs = NULL;
|
||||||
uint32_t dbNum = 0;
|
uint32_t dbNum = 0;
|
||||||
|
@ -534,7 +539,6 @@ int32_t hbGetAppInfo(int64_t clusterId, SClientHbReq *req) {
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int32_t hbQueryHbReqHandle(SClientHbKey *connKey, void *param, SClientHbReq *req) {
|
int32_t hbQueryHbReqHandle(SClientHbKey *connKey, void *param, SClientHbReq *req) {
|
||||||
int64_t *clusterId = (int64_t *)param;
|
int64_t *clusterId = (int64_t *)param;
|
||||||
struct SCatalog *pCatalog = NULL;
|
struct SCatalog *pCatalog = NULL;
|
||||||
|
@ -615,9 +619,7 @@ SClientHbBatchReq *hbGatherAllInfo(SAppHbMgr *pAppHbMgr) {
|
||||||
return pBatchReq;
|
return pBatchReq;
|
||||||
}
|
}
|
||||||
|
|
||||||
void hbThreadFuncUnexpectedStopped(void) {
|
void hbThreadFuncUnexpectedStopped(void) { atomic_store_8(&clientHbMgr.threadStop, 2); }
|
||||||
atomic_store_8(&clientHbMgr.threadStop, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
void hbMergeSummary(SAppClusterSummary *dst, SAppClusterSummary *src) {
|
void hbMergeSummary(SAppClusterSummary *dst, SAppClusterSummary *src) {
|
||||||
dst->numOfInsertsReq += src->numOfInsertsReq;
|
dst->numOfInsertsReq += src->numOfInsertsReq;
|
||||||
|
@ -662,7 +664,6 @@ int32_t hbGatherAppInfo(void) {
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void *hbThreadFunc(void *param) {
|
static void *hbThreadFunc(void *param) {
|
||||||
setThreadName("hb");
|
setThreadName("hb");
|
||||||
#ifdef WINDOWS
|
#ifdef WINDOWS
|
||||||
|
@ -920,4 +921,3 @@ void hbDeregisterConn(SAppHbMgr *pAppHbMgr, SClientHbKey connKey) {
|
||||||
|
|
||||||
atomic_sub_fetch_32(&pAppHbMgr->connKeyCnt, 1);
|
atomic_sub_fetch_32(&pAppHbMgr->connKeyCnt, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,6 +52,18 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) {
|
||||||
|
|
||||||
SConnectRsp connectRsp = {0};
|
SConnectRsp connectRsp = {0};
|
||||||
tDeserializeSConnectRsp(pMsg->pData, pMsg->len, &connectRsp);
|
tDeserializeSConnectRsp(pMsg->pData, pMsg->len, &connectRsp);
|
||||||
|
|
||||||
|
int32_t now = taosGetTimestampSec();
|
||||||
|
int32_t delta = abs(now - connectRsp.svrTimestamp);
|
||||||
|
if (delta > timestampDeltaLimit) {
|
||||||
|
code = TSDB_CODE_TIME_UNSYNCED;
|
||||||
|
tscError("time diff:%ds is too big", delta);
|
||||||
|
taosMemoryFree(pMsg->pData);
|
||||||
|
setErrno(pRequest, code);
|
||||||
|
tsem_post(&pRequest->body.rspSem);
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
/*assert(connectRsp.epSet.numOfEps > 0);*/
|
/*assert(connectRsp.epSet.numOfEps > 0);*/
|
||||||
if (connectRsp.epSet.numOfEps == 0) {
|
if (connectRsp.epSet.numOfEps == 0) {
|
||||||
taosMemoryFree(pMsg->pData);
|
taosMemoryFree(pMsg->pData);
|
||||||
|
|
|
@ -453,6 +453,7 @@ int32_t tSerializeSClientHbBatchRsp(void *buf, int32_t bufLen, const SClientHbBa
|
||||||
if (tStartEncode(&encoder) < 0) return -1;
|
if (tStartEncode(&encoder) < 0) return -1;
|
||||||
if (tEncodeI64(&encoder, pBatchRsp->reqId) < 0) return -1;
|
if (tEncodeI64(&encoder, pBatchRsp->reqId) < 0) return -1;
|
||||||
if (tEncodeI64(&encoder, pBatchRsp->rspId) < 0) return -1;
|
if (tEncodeI64(&encoder, pBatchRsp->rspId) < 0) return -1;
|
||||||
|
if (tEncodeI32(&encoder, pBatchRsp->svrTimestamp) < 0) return -1;
|
||||||
|
|
||||||
int32_t rspNum = taosArrayGetSize(pBatchRsp->rsps);
|
int32_t rspNum = taosArrayGetSize(pBatchRsp->rsps);
|
||||||
if (tEncodeI32(&encoder, rspNum) < 0) return -1;
|
if (tEncodeI32(&encoder, rspNum) < 0) return -1;
|
||||||
|
@ -474,6 +475,7 @@ int32_t tDeserializeSClientHbBatchRsp(void *buf, int32_t bufLen, SClientHbBatchR
|
||||||
if (tStartDecode(&decoder) < 0) return -1;
|
if (tStartDecode(&decoder) < 0) return -1;
|
||||||
if (tDecodeI64(&decoder, &pBatchRsp->reqId) < 0) return -1;
|
if (tDecodeI64(&decoder, &pBatchRsp->reqId) < 0) return -1;
|
||||||
if (tDecodeI64(&decoder, &pBatchRsp->rspId) < 0) return -1;
|
if (tDecodeI64(&decoder, &pBatchRsp->rspId) < 0) return -1;
|
||||||
|
if (tDecodeI32(&decoder, &pBatchRsp->svrTimestamp) < 0) return -1;
|
||||||
|
|
||||||
int32_t rspNum = 0;
|
int32_t rspNum = 0;
|
||||||
if (tDecodeI32(&decoder, &rspNum) < 0) return -1;
|
if (tDecodeI32(&decoder, &rspNum) < 0) return -1;
|
||||||
|
@ -3613,6 +3615,7 @@ int32_t tSerializeSConnectRsp(void *buf, int32_t bufLen, SConnectRsp *pRsp) {
|
||||||
if (tEncodeI8(&encoder, pRsp->superUser) < 0) return -1;
|
if (tEncodeI8(&encoder, pRsp->superUser) < 0) return -1;
|
||||||
if (tEncodeI8(&encoder, pRsp->connType) < 0) return -1;
|
if (tEncodeI8(&encoder, pRsp->connType) < 0) return -1;
|
||||||
if (tEncodeSEpSet(&encoder, &pRsp->epSet) < 0) return -1;
|
if (tEncodeSEpSet(&encoder, &pRsp->epSet) < 0) return -1;
|
||||||
|
if (tEncodeI32(&encoder, pRsp->svrTimestamp) < 0) return -1;
|
||||||
if (tEncodeCStr(&encoder, pRsp->sVer) < 0) return -1;
|
if (tEncodeCStr(&encoder, pRsp->sVer) < 0) return -1;
|
||||||
if (tEncodeCStr(&encoder, pRsp->sDetailVer) < 0) return -1;
|
if (tEncodeCStr(&encoder, pRsp->sDetailVer) < 0) return -1;
|
||||||
tEndEncode(&encoder);
|
tEndEncode(&encoder);
|
||||||
|
@ -3634,6 +3637,7 @@ int32_t tDeserializeSConnectRsp(void *buf, int32_t bufLen, SConnectRsp *pRsp) {
|
||||||
if (tDecodeI8(&decoder, &pRsp->superUser) < 0) return -1;
|
if (tDecodeI8(&decoder, &pRsp->superUser) < 0) return -1;
|
||||||
if (tDecodeI8(&decoder, &pRsp->connType) < 0) return -1;
|
if (tDecodeI8(&decoder, &pRsp->connType) < 0) return -1;
|
||||||
if (tDecodeSEpSet(&decoder, &pRsp->epSet) < 0) return -1;
|
if (tDecodeSEpSet(&decoder, &pRsp->epSet) < 0) return -1;
|
||||||
|
if (tDecodeI32(&decoder, &pRsp->svrTimestamp) < 0) return -1;
|
||||||
if (tDecodeCStrTo(&decoder, pRsp->sVer) < 0) return -1;
|
if (tDecodeCStrTo(&decoder, pRsp->sVer) < 0) return -1;
|
||||||
if (tDecodeCStrTo(&decoder, pRsp->sDetailVer) < 0) return -1;
|
if (tDecodeCStrTo(&decoder, pRsp->sDetailVer) < 0) return -1;
|
||||||
tEndDecode(&decoder);
|
tEndDecode(&decoder);
|
||||||
|
|
|
@ -148,9 +148,9 @@ static int32_t mmStart(SMnodeMgmt *pMgmt) {
|
||||||
|
|
||||||
static void mmStop(SMnodeMgmt *pMgmt) {
|
static void mmStop(SMnodeMgmt *pMgmt) {
|
||||||
dDebug("mnode-mgmt start to stop");
|
dDebug("mnode-mgmt start to stop");
|
||||||
|
mndPreClose(pMgmt->pMnode);
|
||||||
taosThreadRwlockWrlock(&pMgmt->lock);
|
taosThreadRwlockWrlock(&pMgmt->lock);
|
||||||
pMgmt->stopped = 1;
|
pMgmt->stopped = 1;
|
||||||
mndPreClose(pMgmt->pMnode);
|
|
||||||
taosThreadRwlockUnlock(&pMgmt->lock);
|
taosThreadRwlockUnlock(&pMgmt->lock);
|
||||||
|
|
||||||
mndStop(pMgmt->pMnode);
|
mndStop(pMgmt->pMnode);
|
||||||
|
|
|
@ -221,11 +221,11 @@ int32_t dmInitMsgHandle(SDnode *pDnode) {
|
||||||
|
|
||||||
static inline int32_t dmSendReq(const SEpSet *pEpSet, SRpcMsg *pMsg) {
|
static inline int32_t dmSendReq(const SEpSet *pEpSet, SRpcMsg *pMsg) {
|
||||||
SDnode *pDnode = dmInstance();
|
SDnode *pDnode = dmInstance();
|
||||||
if (pDnode->status != DND_STAT_RUNNING) {
|
if (pDnode->status != DND_STAT_RUNNING && pMsg->msgType < TDMT_SYNC_MSG) {
|
||||||
rpcFreeCont(pMsg->pCont);
|
rpcFreeCont(pMsg->pCont);
|
||||||
pMsg->pCont = NULL;
|
pMsg->pCont = NULL;
|
||||||
terrno = TSDB_CODE_NODE_OFFLINE;
|
terrno = TSDB_CODE_NODE_OFFLINE;
|
||||||
dError("failed to send rpc msg since %s, handle:%p", terrstr(), pMsg->info.handle);
|
dError("failed to send rpc msg:%s since %s, handle:%p", TMSG_INFO(pMsg->msgType), terrstr(), pMsg->info.handle);
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
rpcSendRequest(pDnode->trans.clientRpc, pEpSet, pMsg, NULL);
|
rpcSendRequest(pDnode->trans.clientRpc, pEpSet, pMsg, NULL);
|
||||||
|
|
|
@ -15,10 +15,10 @@
|
||||||
|
|
||||||
#define _DEFAULT_SOURCE
|
#define _DEFAULT_SOURCE
|
||||||
#include "mndProfile.h"
|
#include "mndProfile.h"
|
||||||
#include "mndPrivilege.h"
|
|
||||||
#include "mndDb.h"
|
#include "mndDb.h"
|
||||||
#include "mndDnode.h"
|
#include "mndDnode.h"
|
||||||
#include "mndMnode.h"
|
#include "mndMnode.h"
|
||||||
|
#include "mndPrivilege.h"
|
||||||
#include "mndQnode.h"
|
#include "mndQnode.h"
|
||||||
#include "mndShow.h"
|
#include "mndShow.h"
|
||||||
#include "mndStb.h"
|
#include "mndStb.h"
|
||||||
|
@ -274,6 +274,7 @@ static int32_t mndProcessConnectReq(SRpcMsg *pReq) {
|
||||||
connectRsp.connId = pConn->id;
|
connectRsp.connId = pConn->id;
|
||||||
connectRsp.connType = connReq.connType;
|
connectRsp.connType = connReq.connType;
|
||||||
connectRsp.dnodeNum = mndGetDnodeSize(pMnode);
|
connectRsp.dnodeNum = mndGetDnodeSize(pMnode);
|
||||||
|
connectRsp.svrTimestamp = taosGetTimestampSec();
|
||||||
|
|
||||||
strcpy(connectRsp.sVer, version);
|
strcpy(connectRsp.sVer, version);
|
||||||
snprintf(connectRsp.sDetailVer, sizeof(connectRsp.sDetailVer), "ver:%s\nbuild:%s\ngitinfo:%s", version, buildinfo,
|
snprintf(connectRsp.sDetailVer, sizeof(connectRsp.sDetailVer), "ver:%s\nbuild:%s\ngitinfo:%s", version, buildinfo,
|
||||||
|
@ -623,6 +624,7 @@ static int32_t mndProcessHeartBeatReq(SRpcMsg *pReq) {
|
||||||
}
|
}
|
||||||
|
|
||||||
SClientHbBatchRsp batchRsp = {0};
|
SClientHbBatchRsp batchRsp = {0};
|
||||||
|
batchRsp.svrTimestamp = taosGetTimestampSec();
|
||||||
batchRsp.rsps = taosArrayInit(0, sizeof(SClientHbRsp));
|
batchRsp.rsps = taosArrayInit(0, sizeof(SClientHbRsp));
|
||||||
|
|
||||||
int32_t sz = taosArrayGetSize(batchReq.reqs);
|
int32_t sz = taosArrayGetSize(batchReq.reqs);
|
||||||
|
|
|
@ -177,7 +177,6 @@ int32_t tsdbRetrieveLastRow(void* pReader, SSDataBlock* pResBlock, const int32_t
|
||||||
saveOneRow(pRow, pResBlock, pr, slotIds);
|
saveOneRow(pRow, pResBlock, pr, slotIds);
|
||||||
taosArrayPush(pTableUidList, &pKeyInfo->uid);
|
taosArrayPush(pTableUidList, &pKeyInfo->uid);
|
||||||
|
|
||||||
// taosMemoryFree(pRow);
|
|
||||||
tsdbCacheRelease(lruCache, h);
|
tsdbCacheRelease(lruCache, h);
|
||||||
|
|
||||||
pr->tableIndex += 1;
|
pr->tableIndex += 1;
|
||||||
|
|
|
@ -830,9 +830,8 @@ static int32_t doLoadFileBlockData(STsdbReader* pReader, SDataBlockIter* pBlockI
|
||||||
SBlockLoadSuppInfo* pSupInfo = &pReader->suppInfo;
|
SBlockLoadSuppInfo* pSupInfo = &pReader->suppInfo;
|
||||||
SFileBlockDumpInfo* pDumpInfo = &pReader->status.fBlockDumpInfo;
|
SFileBlockDumpInfo* pDumpInfo = &pReader->status.fBlockDumpInfo;
|
||||||
|
|
||||||
uint8_t *pb = NULL, *pb1 = NULL;
|
|
||||||
int32_t code = tsdbReadColData(pReader->pFileReader, &pBlockScanInfo->blockIdx, pBlock, pSupInfo->colIds, numOfCols,
|
int32_t code = tsdbReadColData(pReader->pFileReader, &pBlockScanInfo->blockIdx, pBlock, pSupInfo->colIds, numOfCols,
|
||||||
pBlockData, &pb, &pb1);
|
pBlockData, NULL, NULL);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
goto _error;
|
goto _error;
|
||||||
}
|
}
|
||||||
|
@ -3007,11 +3006,14 @@ SArray* tsdbRetrieveDataBlock(STsdbReader* pReader, SArray* pIdList) {
|
||||||
|
|
||||||
code = doLoadFileBlockData(pReader, &pStatus->blockIter, pBlockScanInfo, &pStatus->fileBlockData);
|
code = doLoadFileBlockData(pReader, &pStatus->blockIter, pBlockScanInfo, &pStatus->fileBlockData);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
|
tBlockDataClear(&pStatus->fileBlockData);
|
||||||
|
|
||||||
terrno = code;
|
terrno = code;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
copyBlockDataToSDataBlock(pReader, pBlockScanInfo);
|
copyBlockDataToSDataBlock(pReader, pBlockScanInfo);
|
||||||
|
tBlockDataClear(&pStatus->fileBlockData);
|
||||||
return pReader->pResBlock->pDataBlock;
|
return pReader->pResBlock->pDataBlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -316,12 +316,16 @@ typedef struct STagScanInfo {
|
||||||
|
|
||||||
typedef struct SLastrowScanInfo {
|
typedef struct SLastrowScanInfo {
|
||||||
SSDataBlock *pRes;
|
SSDataBlock *pRes;
|
||||||
SArray *pTableList;
|
|
||||||
SReadHandle readHandle;
|
SReadHandle readHandle;
|
||||||
void *pLastrowReader;
|
void *pLastrowReader;
|
||||||
SArray *pColMatchInfo;
|
SArray *pColMatchInfo;
|
||||||
int32_t *pSlotIds;
|
int32_t *pSlotIds;
|
||||||
SExprSupp pseudoExprSup;
|
SExprSupp pseudoExprSup;
|
||||||
|
int32_t retrieveType;
|
||||||
|
int32_t currentGroupIndex;
|
||||||
|
SSDataBlock *pBufferredRes;
|
||||||
|
SArray *pUidList;
|
||||||
|
int32_t indexOfBufferedRes;
|
||||||
} SLastrowScanInfo;
|
} SLastrowScanInfo;
|
||||||
|
|
||||||
typedef enum EStreamScanMode {
|
typedef enum EStreamScanMode {
|
||||||
|
@ -825,8 +829,7 @@ SOperatorInfo* createProjectOperatorInfo(SOperatorInfo* downstream, SProjectPhys
|
||||||
SOperatorInfo* createSortOperatorInfo(SOperatorInfo* downstream, SSortPhysiNode* pSortPhyNode, SExecTaskInfo* pTaskInfo);
|
SOperatorInfo* createSortOperatorInfo(SOperatorInfo* downstream, SSortPhysiNode* pSortPhyNode, SExecTaskInfo* pTaskInfo);
|
||||||
SOperatorInfo* createMultiwayMergeOperatorInfo(SOperatorInfo** dowStreams, size_t numStreams, SMergePhysiNode* pMergePhysiNode, SExecTaskInfo* pTaskInfo);
|
SOperatorInfo* createMultiwayMergeOperatorInfo(SOperatorInfo** dowStreams, size_t numStreams, SMergePhysiNode* pMergePhysiNode, SExecTaskInfo* pTaskInfo);
|
||||||
SOperatorInfo* createSortedMergeOperatorInfo(SOperatorInfo** downstream, int32_t numOfDownstream, SExprInfo* pExprInfo, int32_t num, SArray* pSortInfo, SArray* pGroupInfo, SExecTaskInfo* pTaskInfo);
|
SOperatorInfo* createSortedMergeOperatorInfo(SOperatorInfo** downstream, int32_t numOfDownstream, SExprInfo* pExprInfo, int32_t num, SArray* pSortInfo, SArray* pGroupInfo, SExecTaskInfo* pTaskInfo);
|
||||||
SOperatorInfo* createLastrowScanOperator(SLastRowScanPhysiNode* pTableScanNode, SReadHandle* readHandle,
|
SOperatorInfo* createLastrowScanOperator(SLastRowScanPhysiNode* pTableScanNode, SReadHandle* readHandle, SExecTaskInfo* pTaskInfo);
|
||||||
SArray* pTableList, SExecTaskInfo* pTaskInfo);
|
|
||||||
|
|
||||||
SOperatorInfo* createIntervalOperatorInfo(SOperatorInfo* downstream, SExprInfo* pExprInfo, int32_t numOfCols,
|
SOperatorInfo* createIntervalOperatorInfo(SOperatorInfo* downstream, SExprInfo* pExprInfo, int32_t numOfCols,
|
||||||
SSDataBlock* pResBlock, SInterval* pInterval, int32_t primaryTsSlotId,
|
SSDataBlock* pResBlock, SInterval* pInterval, int32_t primaryTsSlotId,
|
||||||
|
@ -944,8 +947,9 @@ int32_t finalizeResultRowIntoResultDataBlock(SDiskbasedBuf* pBuf, SResultRowPosi
|
||||||
SqlFunctionCtx* pCtx, SExprInfo* pExprInfo, int32_t numOfExprs, const int32_t* rowCellOffset,
|
SqlFunctionCtx* pCtx, SExprInfo* pExprInfo, int32_t numOfExprs, const int32_t* rowCellOffset,
|
||||||
SSDataBlock* pBlock, SExecTaskInfo* pTaskInfo);
|
SSDataBlock* pBlock, SExecTaskInfo* pTaskInfo);
|
||||||
|
|
||||||
int32_t createScanTableListInfo(STableScanPhysiNode* pTableScanNode, SReadHandle* pHandle,
|
int32_t createScanTableListInfo(SScanPhysiNode *pScanNode, SNodeList* pGroupTags, bool groupSort, SReadHandle* pHandle,
|
||||||
STableListInfo* pTableListInfo, uint64_t queryId, uint64_t taskId);
|
STableListInfo* pTableListInfo, uint64_t queryId, uint64_t taskId);
|
||||||
|
|
||||||
SOperatorInfo* createGroupSortOperatorInfo(SOperatorInfo* downstream, SGroupSortPhysiNode* pSortPhyNode,
|
SOperatorInfo* createGroupSortOperatorInfo(SOperatorInfo* downstream, SGroupSortPhysiNode* pSortPhyNode,
|
||||||
SExecTaskInfo* pTaskInfo);
|
SExecTaskInfo* pTaskInfo);
|
||||||
SOperatorInfo* createTableMergeScanOperatorInfo(STableScanPhysiNode* pTableScanNode, STableListInfo *pTableListInfo,
|
SOperatorInfo* createTableMergeScanOperatorInfo(STableScanPhysiNode* pTableScanNode, STableListInfo *pTableListInfo,
|
||||||
|
|
|
@ -30,15 +30,13 @@ static SSDataBlock* doScanLastrow(SOperatorInfo* pOperator);
|
||||||
static void destroyLastrowScanOperator(void* param, int32_t numOfOutput);
|
static void destroyLastrowScanOperator(void* param, int32_t numOfOutput);
|
||||||
static int32_t extractTargetSlotId(const SArray* pColMatchInfo, SExecTaskInfo* pTaskInfo, int32_t** pSlotIds);
|
static int32_t extractTargetSlotId(const SArray* pColMatchInfo, SExecTaskInfo* pTaskInfo, int32_t** pSlotIds);
|
||||||
|
|
||||||
SOperatorInfo* createLastrowScanOperator(SLastRowScanPhysiNode* pScanNode, SReadHandle* readHandle, SArray* pTableList,
|
SOperatorInfo* createLastrowScanOperator(SLastRowScanPhysiNode* pScanNode, SReadHandle* readHandle, SExecTaskInfo* pTaskInfo) {
|
||||||
SExecTaskInfo* pTaskInfo) {
|
|
||||||
SLastrowScanInfo* pInfo = taosMemoryCalloc(1, sizeof(SLastrowScanInfo));
|
SLastrowScanInfo* pInfo = taosMemoryCalloc(1, sizeof(SLastrowScanInfo));
|
||||||
SOperatorInfo* pOperator = taosMemoryCalloc(1, sizeof(SOperatorInfo));
|
SOperatorInfo* pOperator = taosMemoryCalloc(1, sizeof(SOperatorInfo));
|
||||||
if (pInfo == NULL || pOperator == NULL) {
|
if (pInfo == NULL || pOperator == NULL) {
|
||||||
goto _error;
|
goto _error;
|
||||||
}
|
}
|
||||||
|
|
||||||
pInfo->pTableList = pTableList;
|
|
||||||
pInfo->readHandle = *readHandle;
|
pInfo->readHandle = *readHandle;
|
||||||
pInfo->pRes = createResDataBlock(pScanNode->scan.node.pOutputDataBlockDesc);
|
pInfo->pRes = createResDataBlock(pScanNode->scan.node.pOutputDataBlockDesc);
|
||||||
|
|
||||||
|
@ -50,8 +48,22 @@ SOperatorInfo* createLastrowScanOperator(SLastRowScanPhysiNode* pScanNode, SRead
|
||||||
goto _error;
|
goto _error;
|
||||||
}
|
}
|
||||||
|
|
||||||
tsdbLastRowReaderOpen(readHandle->vnode, LASTROW_RETRIEVE_TYPE_SINGLE, pTableList, taosArrayGetSize(pInfo->pColMatchInfo),
|
STableListInfo* pTableList = &pTaskInfo->tableqinfoList;
|
||||||
&pInfo->pLastrowReader);
|
|
||||||
|
initResultSizeInfo(pOperator, 1024);
|
||||||
|
blockDataEnsureCapacity(pInfo->pRes, pOperator->resultInfo.capacity);
|
||||||
|
pInfo->pUidList = taosArrayInit(4, sizeof(int64_t));
|
||||||
|
|
||||||
|
// partition by tbname
|
||||||
|
if (taosArrayGetSize(pTableList->pGroupList) == taosArrayGetSize(pTableList->pTableList)) {
|
||||||
|
pInfo->retrieveType = LASTROW_RETRIEVE_TYPE_ALL;
|
||||||
|
tsdbLastRowReaderOpen(pInfo->readHandle.vnode, pInfo->retrieveType, pTableList->pTableList,
|
||||||
|
taosArrayGetSize(pInfo->pColMatchInfo), &pInfo->pLastrowReader);
|
||||||
|
pInfo->pBufferredRes = createOneDataBlock(pInfo->pRes, false);
|
||||||
|
blockDataEnsureCapacity(pInfo->pBufferredRes, pOperator->resultInfo.capacity);
|
||||||
|
} else { // by tags
|
||||||
|
pInfo->retrieveType = LASTROW_RETRIEVE_TYPE_SINGLE;
|
||||||
|
}
|
||||||
|
|
||||||
if (pScanNode->scan.pScanPseudoCols != NULL) {
|
if (pScanNode->scan.pScanPseudoCols != NULL) {
|
||||||
SExprSupp* pPseudoExpr = &pInfo->pseudoExprSup;
|
SExprSupp* pPseudoExpr = &pInfo->pseudoExprSup;
|
||||||
|
@ -68,11 +80,9 @@ SOperatorInfo* createLastrowScanOperator(SLastRowScanPhysiNode* pScanNode, SRead
|
||||||
pOperator->pTaskInfo = pTaskInfo;
|
pOperator->pTaskInfo = pTaskInfo;
|
||||||
pOperator->exprSupp.numOfExprs = taosArrayGetSize(pInfo->pRes->pDataBlock);
|
pOperator->exprSupp.numOfExprs = taosArrayGetSize(pInfo->pRes->pDataBlock);
|
||||||
|
|
||||||
initResultSizeInfo(pOperator, 1024);
|
|
||||||
blockDataEnsureCapacity(pInfo->pRes, pOperator->resultInfo.capacity);
|
|
||||||
|
|
||||||
pOperator->fpSet =
|
pOperator->fpSet =
|
||||||
createOperatorFpSet(operatorDummyOpenFn, doScanLastrow, NULL, NULL, destroyLastrowScanOperator, NULL, NULL, NULL);
|
createOperatorFpSet(operatorDummyOpenFn, doScanLastrow, NULL, NULL, destroyLastrowScanOperator, NULL, NULL, NULL);
|
||||||
|
|
||||||
pOperator->cost.openCost = 0;
|
pOperator->cost.openCost = 0;
|
||||||
return pOperator;
|
return pOperator;
|
||||||
|
|
||||||
|
@ -90,43 +100,105 @@ SSDataBlock* doScanLastrow(SOperatorInfo* pOperator) {
|
||||||
|
|
||||||
SLastrowScanInfo* pInfo = pOperator->info;
|
SLastrowScanInfo* pInfo = pOperator->info;
|
||||||
SExecTaskInfo* pTaskInfo = pOperator->pTaskInfo;
|
SExecTaskInfo* pTaskInfo = pOperator->pTaskInfo;
|
||||||
|
STableListInfo* pTableList = &pTaskInfo->tableqinfoList;
|
||||||
int32_t size = taosArrayGetSize(pInfo->pTableList);
|
int32_t size = taosArrayGetSize(pTableList->pTableList);
|
||||||
if (size == 0) {
|
if (size == 0) {
|
||||||
setTaskStatus(pTaskInfo, TASK_COMPLETED);
|
doSetOperatorCompleted(pOperator);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// check if it is a group by tbname
|
|
||||||
if (size == taosArrayGetSize(pInfo->pTableList)) {
|
|
||||||
blockDataCleanup(pInfo->pRes);
|
blockDataCleanup(pInfo->pRes);
|
||||||
SArray* pUidList = taosArrayInit(1, sizeof(tb_uid_t));
|
|
||||||
int32_t code = tsdbRetrieveLastRow(pInfo->pLastrowReader, pInfo->pRes, pInfo->pSlotIds, pUidList);
|
// check if it is a group by tbname
|
||||||
|
if (pInfo->retrieveType == LASTROW_RETRIEVE_TYPE_ALL) {
|
||||||
|
if (pInfo->indexOfBufferedRes >= pInfo->pBufferredRes->info.rows) {
|
||||||
|
blockDataCleanup(pInfo->pBufferredRes);
|
||||||
|
taosArrayClear(pInfo->pUidList);
|
||||||
|
|
||||||
|
int32_t code = tsdbRetrieveLastRow(pInfo->pLastrowReader, pInfo->pBufferredRes, pInfo->pSlotIds, pInfo->pUidList);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
longjmp(pTaskInfo->env, code);
|
longjmp(pTaskInfo->env, code);
|
||||||
}
|
}
|
||||||
|
|
||||||
// check for tag values
|
// check for tag values
|
||||||
if (pInfo->pRes->info.rows > 0 && pInfo->pseudoExprSup.numOfExprs > 0) {
|
int32_t resultRows = pInfo->pBufferredRes->info.rows;
|
||||||
|
ASSERT(resultRows == taosArrayGetSize(pInfo->pUidList));
|
||||||
|
pInfo->indexOfBufferedRes = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pInfo->indexOfBufferedRes < pInfo->pBufferredRes->info.rows) {
|
||||||
|
for(int32_t i = 0; i < taosArrayGetSize(pInfo->pColMatchInfo); ++i) {
|
||||||
|
SColMatchInfo* pMatchInfo = taosArrayGet(pInfo->pColMatchInfo, i);
|
||||||
|
int32_t slotId = pMatchInfo->targetSlotId;
|
||||||
|
|
||||||
|
SColumnInfoData* pSrc = taosArrayGet(pInfo->pBufferredRes->pDataBlock, slotId);
|
||||||
|
SColumnInfoData* pDst = taosArrayGet(pInfo->pRes->pDataBlock, slotId);
|
||||||
|
|
||||||
|
char* p = colDataGetData(pSrc, pInfo->indexOfBufferedRes);
|
||||||
|
bool isNull = colDataIsNull_s(pSrc, pInfo->indexOfBufferedRes);
|
||||||
|
colDataAppend(pDst, 0, p, isNull);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pInfo->pseudoExprSup.numOfExprs > 0) {
|
||||||
SExprSupp* pSup = &pInfo->pseudoExprSup;
|
SExprSupp* pSup = &pInfo->pseudoExprSup;
|
||||||
pInfo->pRes->info.uid = *(tb_uid_t*) taosArrayGet(pUidList, 0);
|
addTagPseudoColumnData(&pInfo->readHandle, pSup->pExprInfo, pSup->numOfExprs, pInfo->pRes,
|
||||||
addTagPseudoColumnData(&pInfo->readHandle, pSup->pExprInfo, pSup->numOfExprs, pInfo->pRes, GET_TASKID(pTaskInfo));
|
GET_TASKID(pTaskInfo));
|
||||||
|
}
|
||||||
|
|
||||||
|
pInfo->pRes->info.uid = *(tb_uid_t*)taosArrayGet(pInfo->pUidList, pInfo->indexOfBufferedRes);
|
||||||
|
int64_t* groupId = taosHashGet(pTableList->map, &pInfo->pRes->info.uid, sizeof(int64_t));
|
||||||
|
pInfo->pRes->info.groupId = *groupId;
|
||||||
|
|
||||||
|
pInfo->indexOfBufferedRes += 1;
|
||||||
|
pInfo->pRes->info.rows = 1;
|
||||||
|
return pInfo->pRes;
|
||||||
|
} else {
|
||||||
|
doSetOperatorCompleted(pOperator);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
size_t totalGroups = taosArrayGetSize(pTableList->pGroupList);
|
||||||
|
|
||||||
|
while (pInfo->currentGroupIndex < totalGroups) {
|
||||||
|
SArray* pGroupTableList = taosArrayGetP(pTableList->pGroupList, pInfo->currentGroupIndex);
|
||||||
|
|
||||||
|
tsdbLastRowReaderOpen(pInfo->readHandle.vnode, pInfo->retrieveType, pGroupTableList,
|
||||||
|
taosArrayGetSize(pInfo->pColMatchInfo), &pInfo->pLastrowReader);
|
||||||
|
taosArrayClear(pInfo->pUidList);
|
||||||
|
|
||||||
|
int32_t code = tsdbRetrieveLastRow(pInfo->pLastrowReader, pInfo->pRes, pInfo->pSlotIds, pInfo->pUidList);
|
||||||
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
|
longjmp(pTaskInfo->env, code);
|
||||||
|
}
|
||||||
|
|
||||||
|
pInfo->currentGroupIndex += 1;
|
||||||
|
|
||||||
|
// check for tag values
|
||||||
|
if (pInfo->pRes->info.rows > 0) {
|
||||||
|
if (pInfo->pseudoExprSup.numOfExprs > 0) {
|
||||||
|
SExprSupp* pSup = &pInfo->pseudoExprSup;
|
||||||
|
pInfo->pRes->info.uid = *(tb_uid_t*)taosArrayGet(pInfo->pUidList, 0);
|
||||||
|
|
||||||
|
STableKeyInfo* pKeyInfo = taosArrayGet(pGroupTableList, 0);
|
||||||
|
pInfo->pRes->info.groupId = pKeyInfo->groupId;
|
||||||
|
|
||||||
|
addTagPseudoColumnData(&pInfo->readHandle, pSup->pExprInfo, pSup->numOfExprs, pInfo->pRes,
|
||||||
|
GET_TASKID(pTaskInfo));
|
||||||
|
}
|
||||||
|
|
||||||
|
tsdbLastrowReaderClose(pInfo->pLastrowReader);
|
||||||
|
return pInfo->pRes;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
doSetOperatorCompleted(pOperator);
|
doSetOperatorCompleted(pOperator);
|
||||||
return (pInfo->pRes->info.rows == 0) ? NULL : pInfo->pRes;
|
return NULL;
|
||||||
} else {
|
|
||||||
// todo fetch the result for each group
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return pInfo->pRes->info.rows == 0 ? NULL : pInfo->pRes;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void destroyLastrowScanOperator(void* param, int32_t numOfOutput) {
|
void destroyLastrowScanOperator(void* param, int32_t numOfOutput) {
|
||||||
SLastrowScanInfo* pInfo = (SLastrowScanInfo*)param;
|
SLastrowScanInfo* pInfo = (SLastrowScanInfo*)param;
|
||||||
blockDataDestroy(pInfo->pRes);
|
blockDataDestroy(pInfo->pRes);
|
||||||
tsdbLastrowReaderClose(pInfo->pLastrowReader);
|
|
||||||
|
|
||||||
taosMemoryFreeClear(param);
|
taosMemoryFreeClear(param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -514,8 +514,10 @@ static int32_t doSetInputDataBlock(SOperatorInfo* pOperator, SqlFunctionCtx* pCt
|
||||||
pInput->startRowIndex = 0;
|
pInput->startRowIndex = 0;
|
||||||
|
|
||||||
// NOTE: the last parameter is the primary timestamp column
|
// NOTE: the last parameter is the primary timestamp column
|
||||||
|
// todo: refactor this
|
||||||
if (fmIsTimelineFunc(pCtx[i].functionId) && (j == pOneExpr->base.numOfParams - 1)) {
|
if (fmIsTimelineFunc(pCtx[i].functionId) && (j == pOneExpr->base.numOfParams - 1)) {
|
||||||
pInput->pPTS = pInput->pData[j];
|
pInput->pPTS = pInput->pData[j]; // in case of merge function, this is not always the ts column data.
|
||||||
|
// ASSERT(pInput->pPTS->info.type == TSDB_DATA_TYPE_TIMESTAMP);
|
||||||
}
|
}
|
||||||
ASSERT(pInput->pData[j] != NULL);
|
ASSERT(pInput->pData[j] != NULL);
|
||||||
} else if (pFuncParam->type == FUNC_PARAM_TYPE_VALUE) {
|
} else if (pFuncParam->type == FUNC_PARAM_TYPE_VALUE) {
|
||||||
|
@ -4291,6 +4293,7 @@ int32_t generateGroupIdMap(STableListInfo* pTableListInfo, SReadHandle* pHandle,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t len = (int32_t)(pStart - (char*)keyBuf);
|
int32_t len = (int32_t)(pStart - (char*)keyBuf);
|
||||||
uint64_t groupId = calcGroupId(keyBuf, len);
|
uint64_t groupId = calcGroupId(keyBuf, len);
|
||||||
taosHashPut(pTableListInfo->map, &(info->uid), sizeof(uint64_t), &groupId, sizeof(uint64_t));
|
taosHashPut(pTableListInfo->map, &(info->uid), sizeof(uint64_t), &groupId, sizeof(uint64_t));
|
||||||
|
@ -4309,6 +4312,30 @@ int32_t generateGroupIdMap(STableListInfo* pTableListInfo, SReadHandle* pHandle,
|
||||||
return TDB_CODE_SUCCESS;
|
return TDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int32_t initTableblockDistQueryCond(uint64_t uid, SQueryTableDataCond* pCond) {
|
||||||
|
memset(pCond, 0, sizeof(SQueryTableDataCond));
|
||||||
|
|
||||||
|
pCond->order = TSDB_ORDER_ASC;
|
||||||
|
pCond->numOfCols = 1;
|
||||||
|
pCond->colList = taosMemoryCalloc(1, sizeof(SColumnInfo));
|
||||||
|
if (pCond->colList == NULL) {
|
||||||
|
terrno = TSDB_CODE_QRY_OUT_OF_MEMORY;
|
||||||
|
return terrno;
|
||||||
|
}
|
||||||
|
|
||||||
|
pCond->colList->colId = 1;
|
||||||
|
pCond->colList->type = TSDB_DATA_TYPE_TIMESTAMP;
|
||||||
|
pCond->colList->bytes = sizeof(TSKEY);
|
||||||
|
|
||||||
|
pCond->twindows = (STimeWindow){.skey = INT64_MIN, .ekey = INT64_MAX};
|
||||||
|
pCond->suid = uid;
|
||||||
|
pCond->type = BLOCK_LOAD_OFFSET_ORDER;
|
||||||
|
pCond->startVersion = -1;
|
||||||
|
pCond->endVersion = -1;
|
||||||
|
|
||||||
|
return TSDB_CODE_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
SOperatorInfo* createOperatorTree(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle,
|
SOperatorInfo* createOperatorTree(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle,
|
||||||
uint64_t queryId, uint64_t taskId, STableListInfo* pTableListInfo,
|
uint64_t queryId, uint64_t taskId, STableListInfo* pTableListInfo,
|
||||||
const char* pUser) {
|
const char* pUser) {
|
||||||
|
@ -4318,7 +4345,8 @@ SOperatorInfo* createOperatorTree(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo
|
||||||
if (QUERY_NODE_PHYSICAL_PLAN_TABLE_SCAN == type) {
|
if (QUERY_NODE_PHYSICAL_PLAN_TABLE_SCAN == type) {
|
||||||
STableScanPhysiNode* pTableScanNode = (STableScanPhysiNode*)pPhyNode;
|
STableScanPhysiNode* pTableScanNode = (STableScanPhysiNode*)pPhyNode;
|
||||||
|
|
||||||
int32_t code = createScanTableListInfo(pTableScanNode, pHandle, pTableListInfo, queryId, taskId);
|
int32_t code = createScanTableListInfo(&pTableScanNode->scan, pTableScanNode->pGroupTags,
|
||||||
|
pTableScanNode->groupSort, pHandle, pTableListInfo, queryId, taskId);
|
||||||
if (code) {
|
if (code) {
|
||||||
pTaskInfo->code = code;
|
pTaskInfo->code = code;
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -4337,7 +4365,8 @@ SOperatorInfo* createOperatorTree(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo
|
||||||
|
|
||||||
} else if (QUERY_NODE_PHYSICAL_PLAN_TABLE_MERGE_SCAN == type) {
|
} else if (QUERY_NODE_PHYSICAL_PLAN_TABLE_MERGE_SCAN == type) {
|
||||||
STableMergeScanPhysiNode* pTableScanNode = (STableMergeScanPhysiNode*)pPhyNode;
|
STableMergeScanPhysiNode* pTableScanNode = (STableMergeScanPhysiNode*)pPhyNode;
|
||||||
int32_t code = createScanTableListInfo(pTableScanNode, pHandle, pTableListInfo, queryId, taskId);
|
int32_t code = createScanTableListInfo(&pTableScanNode->scan, pTableScanNode->pGroupTags,
|
||||||
|
pTableScanNode->groupSort, pHandle, pTableListInfo, queryId, taskId);
|
||||||
if (code) {
|
if (code) {
|
||||||
pTaskInfo->code = code;
|
pTaskInfo->code = code;
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -4366,7 +4395,8 @@ SOperatorInfo* createOperatorTree(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo
|
||||||
.maxTs = INT64_MIN,
|
.maxTs = INT64_MIN,
|
||||||
};
|
};
|
||||||
if (pHandle) {
|
if (pHandle) {
|
||||||
int32_t code = createScanTableListInfo(pTableScanNode, pHandle, pTableListInfo, queryId, taskId);
|
int32_t code = createScanTableListInfo(&pTableScanNode->scan, pTableScanNode->pGroupTags,
|
||||||
|
pTableScanNode->groupSort, pHandle, pTableListInfo, queryId, taskId);
|
||||||
if (code) {
|
if (code) {
|
||||||
pTaskInfo->code = code;
|
pTaskInfo->code = code;
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -4406,27 +4436,11 @@ SOperatorInfo* createOperatorTree(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
SQueryTableDataCond cond = {0};
|
SQueryTableDataCond cond = {0};
|
||||||
|
int32_t code = initTableblockDistQueryCond(pBlockNode->suid, &cond);
|
||||||
{
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
cond.order = TSDB_ORDER_ASC;
|
|
||||||
cond.numOfCols = 1;
|
|
||||||
cond.colList = taosMemoryCalloc(1, sizeof(SColumnInfo));
|
|
||||||
if (cond.colList == NULL) {
|
|
||||||
terrno = TSDB_CODE_QRY_OUT_OF_MEMORY;
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
cond.colList->colId = 1;
|
|
||||||
cond.colList->type = TSDB_DATA_TYPE_TIMESTAMP;
|
|
||||||
cond.colList->bytes = sizeof(TSKEY);
|
|
||||||
|
|
||||||
cond.twindows = (STimeWindow){.skey = INT64_MIN, .ekey = INT64_MAX};
|
|
||||||
cond.suid = pBlockNode->suid;
|
|
||||||
cond.type = BLOCK_LOAD_OFFSET_ORDER;
|
|
||||||
cond.startVersion = -1;
|
|
||||||
cond.endVersion = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
STsdbReader* pReader = NULL;
|
STsdbReader* pReader = NULL;
|
||||||
tsdbReaderOpen(pHandle->vnode, &cond, pTableListInfo->pTableList, &pReader, "");
|
tsdbReaderOpen(pHandle->vnode, &cond, pTableListInfo->pTableList, &pReader, "");
|
||||||
cleanupQueryTableDataCond(&cond);
|
cleanupQueryTableDataCond(&cond);
|
||||||
|
@ -4435,31 +4449,20 @@ SOperatorInfo* createOperatorTree(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo
|
||||||
} else if (QUERY_NODE_PHYSICAL_PLAN_LAST_ROW_SCAN == type) {
|
} else if (QUERY_NODE_PHYSICAL_PLAN_LAST_ROW_SCAN == type) {
|
||||||
SLastRowScanPhysiNode* pScanNode = (SLastRowScanPhysiNode*)pPhyNode;
|
SLastRowScanPhysiNode* pScanNode = (SLastRowScanPhysiNode*)pPhyNode;
|
||||||
|
|
||||||
// int32_t code = createScanTableListInfo(pTableScanNode, pHandle, pTableListInfo, queryId, taskId);
|
int32_t code = createScanTableListInfo(&pScanNode->scan, pScanNode->pGroupTags, true, pHandle, pTableListInfo,
|
||||||
// if (code) {
|
queryId, taskId);
|
||||||
// pTaskInfo->code = code;
|
|
||||||
// return NULL;
|
|
||||||
// }
|
|
||||||
|
|
||||||
int32_t code = extractTableSchemaInfo(pHandle, pScanNode->scan.uid, pTaskInfo);
|
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
pTaskInfo->code = code;
|
pTaskInfo->code = code;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
pTableListInfo->pTableList = taosArrayInit(4, sizeof(STableKeyInfo));
|
code = extractTableSchemaInfo(pHandle, pScanNode->scan.uid, pTaskInfo);
|
||||||
if (pScanNode->scan.tableType == TSDB_SUPER_TABLE) {
|
|
||||||
code = vnodeGetAllTableList(pHandle->vnode, pScanNode->scan.uid, pTableListInfo->pTableList);
|
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
pTaskInfo->code = terrno;
|
pTaskInfo->code = code;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
} else { // Create one table group.
|
|
||||||
STableKeyInfo info = {.lastKey = 0, .uid = pScanNode->scan.uid, .groupId = 0};
|
|
||||||
taosArrayPush(pTableListInfo->pTableList, &info);
|
|
||||||
}
|
|
||||||
|
|
||||||
return createLastrowScanOperator(pScanNode, pHandle, pTableListInfo->pTableList, pTaskInfo);
|
return createLastrowScanOperator(pScanNode, pHandle, pTaskInfo);
|
||||||
} else {
|
} else {
|
||||||
ASSERT(0);
|
ASSERT(0);
|
||||||
}
|
}
|
||||||
|
@ -4928,6 +4931,9 @@ static void doDestroyTableList(STableListInfo* pTableqinfoList) {
|
||||||
if (pTableqinfoList->needSortTableByGroupId) {
|
if (pTableqinfoList->needSortTableByGroupId) {
|
||||||
for (int32_t i = 0; i < taosArrayGetSize(pTableqinfoList->pGroupList); i++) {
|
for (int32_t i = 0; i < taosArrayGetSize(pTableqinfoList->pGroupList); i++) {
|
||||||
SArray* tmp = taosArrayGetP(pTableqinfoList->pGroupList, i);
|
SArray* tmp = taosArrayGetP(pTableqinfoList->pGroupList, i);
|
||||||
|
if (tmp == pTableqinfoList->pTableList) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
taosArrayDestroy(tmp);
|
taosArrayDestroy(tmp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2402,9 +2402,9 @@ typedef struct STableMergeScanInfo {
|
||||||
SSampleExecInfo sample; // sample execution info
|
SSampleExecInfo sample; // sample execution info
|
||||||
} STableMergeScanInfo;
|
} STableMergeScanInfo;
|
||||||
|
|
||||||
int32_t createScanTableListInfo(STableScanPhysiNode* pTableScanNode, SReadHandle* pHandle,
|
int32_t createScanTableListInfo(SScanPhysiNode* pScanNode, SNodeList* pGroupTags, bool groupSort, SReadHandle* pHandle,
|
||||||
STableListInfo* pTableListInfo, uint64_t queryId, uint64_t taskId) {
|
STableListInfo* pTableListInfo, uint64_t queryId, uint64_t taskId) {
|
||||||
int32_t code = getTableList(pHandle->meta, pHandle->vnode, &pTableScanNode->scan, pTableListInfo);
|
int32_t code = getTableList(pHandle->meta, pHandle->vnode, pScanNode, pTableListInfo);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
@ -2414,8 +2414,8 @@ int32_t createScanTableListInfo(STableScanPhysiNode* pTableScanNode, SReadHandle
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
pTableListInfo->needSortTableByGroupId = pTableScanNode->groupSort;
|
pTableListInfo->needSortTableByGroupId = groupSort;
|
||||||
code = generateGroupIdMap(pTableListInfo, pHandle, pTableScanNode->pGroupTags);
|
code = generateGroupIdMap(pTableListInfo, pHandle, pGroupTags);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1981,6 +1981,7 @@ const SBuiltinFuncDefinition funcMgtBuiltins[] = {
|
||||||
.getEnvFunc = getLeastSQRFuncEnv,
|
.getEnvFunc = getLeastSQRFuncEnv,
|
||||||
.initFunc = leastSQRFunctionSetup,
|
.initFunc = leastSQRFunctionSetup,
|
||||||
.processFunc = leastSQRFunction,
|
.processFunc = leastSQRFunction,
|
||||||
|
.sprocessFunc = leastSQRScalarFunction,
|
||||||
.finalizeFunc = leastSQRFinalize,
|
.finalizeFunc = leastSQRFinalize,
|
||||||
.invertFunc = NULL,
|
.invertFunc = NULL,
|
||||||
.combineFunc = leastSQRCombine,
|
.combineFunc = leastSQRCombine,
|
||||||
|
@ -2228,7 +2229,7 @@ const SBuiltinFuncDefinition funcMgtBuiltins[] = {
|
||||||
{
|
{
|
||||||
.name = "_cache_last_row",
|
.name = "_cache_last_row",
|
||||||
.type = FUNCTION_TYPE_CACHE_LAST_ROW,
|
.type = FUNCTION_TYPE_CACHE_LAST_ROW,
|
||||||
.classification = FUNC_MGT_AGG_FUNC | FUNC_MGT_MULTI_RES_FUNC | FUNC_MGT_TIMELINE_FUNC | FUNC_MGT_IMPLICIT_TS_FUNC,
|
.classification = FUNC_MGT_AGG_FUNC | FUNC_MGT_MULTI_RES_FUNC | FUNC_MGT_SELECT_FUNC | FUNC_MGT_TIMELINE_FUNC | FUNC_MGT_IMPLICIT_TS_FUNC,
|
||||||
.translateFunc = translateFirstLast,
|
.translateFunc = translateFirstLast,
|
||||||
.getEnvFunc = getFirstLastFuncEnv,
|
.getEnvFunc = getFirstLastFuncEnv,
|
||||||
.initFunc = functionSetup,
|
.initFunc = functionSetup,
|
||||||
|
|
|
@ -382,6 +382,15 @@ void udfdProcessRpcRsp(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet) {
|
||||||
if (msgInfo->rpcType == UDFD_RPC_MNODE_CONNECT) {
|
if (msgInfo->rpcType == UDFD_RPC_MNODE_CONNECT) {
|
||||||
SConnectRsp connectRsp = {0};
|
SConnectRsp connectRsp = {0};
|
||||||
tDeserializeSConnectRsp(pMsg->pCont, pMsg->contLen, &connectRsp);
|
tDeserializeSConnectRsp(pMsg->pCont, pMsg->contLen, &connectRsp);
|
||||||
|
|
||||||
|
int32_t now = taosGetTimestampSec();
|
||||||
|
int32_t delta = abs(now - connectRsp.svrTimestamp);
|
||||||
|
if (delta > 900) {
|
||||||
|
msgInfo->code = TSDB_CODE_TIME_UNSYNCED;
|
||||||
|
goto _return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (connectRsp.epSet.numOfEps == 0) {
|
if (connectRsp.epSet.numOfEps == 0) {
|
||||||
msgInfo->code = TSDB_CODE_MND_APP_ERROR;
|
msgInfo->code = TSDB_CODE_MND_APP_ERROR;
|
||||||
goto _return;
|
goto _return;
|
||||||
|
|
|
@ -516,13 +516,14 @@ static void idxCacheMakeRoomForWrite(IndexCache* cache) {
|
||||||
idxCacheRef(cache);
|
idxCacheRef(cache);
|
||||||
cache->imm = cache->mem;
|
cache->imm = cache->mem;
|
||||||
cache->mem = idxInternalCacheCreate(cache->type);
|
cache->mem = idxInternalCacheCreate(cache->type);
|
||||||
|
|
||||||
cache->mem->pCache = cache;
|
cache->mem->pCache = cache;
|
||||||
cache->occupiedMem = 0;
|
cache->occupiedMem = 0;
|
||||||
if (quit == false) {
|
if (quit == false) {
|
||||||
atomic_store_32(&cache->merging, 1);
|
atomic_store_32(&cache->merging, 1);
|
||||||
}
|
}
|
||||||
// sched to merge
|
// 1. sched to merge
|
||||||
// unref cache in bgwork
|
// 2. unref cache in bgwork
|
||||||
idxCacheSchedToMerge(cache, quit);
|
idxCacheSchedToMerge(cache, quit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2139,3 +2139,171 @@ int32_t stddevScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarPara
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define LEASTSQR_CAL(p, x, y, index, step) \
|
||||||
|
do { \
|
||||||
|
(p)[0][0] += (double)(x) * (x); \
|
||||||
|
(p)[0][1] += (double)(x); \
|
||||||
|
(p)[0][2] += (double)(x) * (y)[index]; \
|
||||||
|
(p)[1][2] += (y)[index]; \
|
||||||
|
(x) += step; \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
int32_t leastSQRScalarFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput) {
|
||||||
|
SColumnInfoData *pInputData = pInput->columnData;
|
||||||
|
SColumnInfoData *pOutputData = pOutput->columnData;
|
||||||
|
|
||||||
|
double startVal, stepVal;
|
||||||
|
double matrix[2][3] = {0};
|
||||||
|
GET_TYPED_DATA(startVal, double, GET_PARAM_TYPE(&pInput[1]), pInput[1].columnData->pData);
|
||||||
|
GET_TYPED_DATA(stepVal, double, GET_PARAM_TYPE(&pInput[2]), pInput[2].columnData->pData);
|
||||||
|
|
||||||
|
int32_t type = GET_PARAM_TYPE(pInput);
|
||||||
|
int64_t count = 0;
|
||||||
|
|
||||||
|
switch(type) {
|
||||||
|
case TSDB_DATA_TYPE_TINYINT: {
|
||||||
|
int8_t *in = (int8_t *)pInputData->pData;
|
||||||
|
for (int32_t i = 0; i < pInput->numOfRows; ++i) {
|
||||||
|
if (colDataIsNull_s(pInputData, i)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
count++;
|
||||||
|
LEASTSQR_CAL(matrix, startVal, in, i, stepVal);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TSDB_DATA_TYPE_SMALLINT: {
|
||||||
|
int16_t *in = (int16_t *)pInputData->pData;
|
||||||
|
for (int32_t i = 0; i < pInput->numOfRows; ++i) {
|
||||||
|
if (colDataIsNull_s(pInputData, i)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
count++;
|
||||||
|
LEASTSQR_CAL(matrix, startVal, in, i, stepVal);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TSDB_DATA_TYPE_INT: {
|
||||||
|
int32_t *in = (int32_t *)pInputData->pData;
|
||||||
|
for (int32_t i = 0; i < pInput->numOfRows; ++i) {
|
||||||
|
if (colDataIsNull_s(pInputData, i)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
count++;
|
||||||
|
LEASTSQR_CAL(matrix, startVal, in, i, stepVal);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TSDB_DATA_TYPE_BIGINT: {
|
||||||
|
int64_t *in = (int64_t *)pInputData->pData;
|
||||||
|
for (int32_t i = 0; i < pInput->numOfRows; ++i) {
|
||||||
|
if (colDataIsNull_s(pInputData, i)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
count++;
|
||||||
|
LEASTSQR_CAL(matrix, startVal, in, i, stepVal);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TSDB_DATA_TYPE_UTINYINT: {
|
||||||
|
uint8_t *in = (uint8_t *)pInputData->pData;
|
||||||
|
for (int32_t i = 0; i < pInput->numOfRows; ++i) {
|
||||||
|
if (colDataIsNull_s(pInputData, i)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
count++;
|
||||||
|
LEASTSQR_CAL(matrix, startVal, in, i, stepVal);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TSDB_DATA_TYPE_USMALLINT: {
|
||||||
|
uint16_t *in = (uint16_t *)pInputData->pData;
|
||||||
|
for (int32_t i = 0; i < pInput->numOfRows; ++i) {
|
||||||
|
if (colDataIsNull_s(pInputData, i)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
count++;
|
||||||
|
LEASTSQR_CAL(matrix, startVal, in, i, stepVal);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TSDB_DATA_TYPE_UINT: {
|
||||||
|
uint32_t *in = (uint32_t *)pInputData->pData;
|
||||||
|
for (int32_t i = 0; i < pInput->numOfRows; ++i) {
|
||||||
|
if (colDataIsNull_s(pInputData, i)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
count++;
|
||||||
|
LEASTSQR_CAL(matrix, startVal, in, i, stepVal);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TSDB_DATA_TYPE_UBIGINT: {
|
||||||
|
uint64_t *in = (uint64_t *)pInputData->pData;
|
||||||
|
for (int32_t i = 0; i < pInput->numOfRows; ++i) {
|
||||||
|
if (colDataIsNull_s(pInputData, i)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
count++;
|
||||||
|
LEASTSQR_CAL(matrix, startVal, in, i, stepVal);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TSDB_DATA_TYPE_FLOAT: {
|
||||||
|
float *in = (float *)pInputData->pData;
|
||||||
|
for (int32_t i = 0; i < pInput->numOfRows; ++i) {
|
||||||
|
if (colDataIsNull_s(pInputData, i)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
count++;
|
||||||
|
LEASTSQR_CAL(matrix, startVal, in, i, stepVal);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TSDB_DATA_TYPE_DOUBLE: {
|
||||||
|
double *in = (double *)pInputData->pData;
|
||||||
|
for (int32_t i = 0; i < pInput->numOfRows; ++i) {
|
||||||
|
if (colDataIsNull_s(pInputData, i)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
count++;
|
||||||
|
LEASTSQR_CAL(matrix, startVal, in, i, stepVal);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count == 0) {
|
||||||
|
colDataAppendNULL(pOutputData, 0);
|
||||||
|
} else {
|
||||||
|
matrix[1][1] = (double)count;
|
||||||
|
matrix[1][0] = matrix[0][1];
|
||||||
|
|
||||||
|
double matrix00 = matrix[0][0] - matrix[1][0] * (matrix[0][1] / matrix[1][1]);
|
||||||
|
double matrix02 = matrix[0][2] - matrix[1][2] * (matrix[0][1] / matrix[1][1]);
|
||||||
|
double matrix12 = matrix[1][2] - matrix02 * (matrix[1][0] / matrix00);
|
||||||
|
matrix02 /= matrix00;
|
||||||
|
|
||||||
|
matrix12 /= matrix[1][1];
|
||||||
|
|
||||||
|
char buf[64] = {0};
|
||||||
|
size_t len =
|
||||||
|
snprintf(varDataVal(buf), sizeof(buf) - VARSTR_HEADER_SIZE, "{slop:%.6lf, intercept:%.6lf}", matrix02, matrix12);
|
||||||
|
varDataSetLen(buf, len);
|
||||||
|
colDataAppend(pOutputData, 0, buf, false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
pOutput->numOfRows = 1;
|
||||||
|
return TSDB_CODE_SUCCESS;
|
||||||
|
}
|
||||||
|
|
|
@ -1042,7 +1042,7 @@ static void cliSchedMsgToNextNode(SCliMsg* pMsg, SCliThrd* pThrd) {
|
||||||
STraceId* trace = &pMsg->msg.info.traceId;
|
STraceId* trace = &pMsg->msg.info.traceId;
|
||||||
char tbuf[256] = {0};
|
char tbuf[256] = {0};
|
||||||
EPSET_DEBUG_STR(&pCtx->epSet, tbuf);
|
EPSET_DEBUG_STR(&pCtx->epSet, tbuf);
|
||||||
tGTrace("%s retry on next node, use %s, retryCnt:%d, limit:%d", transLabel(pThrd->pTransInst), tbuf,
|
tGDebug("%s retry on next node, use %s, retryCnt:%d, limit:%d", transLabel(pThrd->pTransInst), tbuf,
|
||||||
pCtx->retryCnt + 1, pCtx->retryLimit);
|
pCtx->retryCnt + 1, pCtx->retryLimit);
|
||||||
|
|
||||||
STaskArg* arg = taosMemoryMalloc(sizeof(STaskArg));
|
STaskArg* arg = taosMemoryMalloc(sizeof(STaskArg));
|
||||||
|
@ -1134,11 +1134,11 @@ int cliAppCb(SCliConn* pConn, STransMsg* pResp, SCliMsg* pMsg) {
|
||||||
if (hasEpSet) {
|
if (hasEpSet) {
|
||||||
char tbuf[256] = {0};
|
char tbuf[256] = {0};
|
||||||
EPSET_DEBUG_STR(&pCtx->epSet, tbuf);
|
EPSET_DEBUG_STR(&pCtx->epSet, tbuf);
|
||||||
tGTrace("%s conn %p extract epset from msg", CONN_GET_INST_LABEL(pConn), pConn);
|
tGDebug("%s conn %p extract epset from msg", CONN_GET_INST_LABEL(pConn), pConn);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pCtx->pSem != NULL) {
|
if (pCtx->pSem != NULL) {
|
||||||
tGTrace("%s conn %p(sync) handle resp", CONN_GET_INST_LABEL(pConn), pConn);
|
tGDebug("%s conn %p(sync) handle resp", CONN_GET_INST_LABEL(pConn), pConn);
|
||||||
if (pCtx->pRsp == NULL) {
|
if (pCtx->pRsp == NULL) {
|
||||||
tGTrace("%s conn %p(sync) failed to resp, ignore", CONN_GET_INST_LABEL(pConn), pConn);
|
tGTrace("%s conn %p(sync) failed to resp, ignore", CONN_GET_INST_LABEL(pConn), pConn);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1147,7 +1147,7 @@ int cliAppCb(SCliConn* pConn, STransMsg* pResp, SCliMsg* pMsg) {
|
||||||
tsem_post(pCtx->pSem);
|
tsem_post(pCtx->pSem);
|
||||||
pCtx->pRsp = NULL;
|
pCtx->pRsp = NULL;
|
||||||
} else {
|
} else {
|
||||||
tGTrace("%s conn %p handle resp", CONN_GET_INST_LABEL(pConn), pConn);
|
tGDebug("%s conn %p handle resp", CONN_GET_INST_LABEL(pConn), pConn);
|
||||||
if (retry == false && hasEpSet == true) {
|
if (retry == false && hasEpSet == true) {
|
||||||
pTransInst->cfp(pTransInst->parent, pResp, &pCtx->epSet);
|
pTransInst->cfp(pTransInst->parent, pResp, &pCtx->epSet);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1257,7 +1257,7 @@ void transSendRequest(void* shandle, const SEpSet* pEpSet, STransMsg* pReq, STra
|
||||||
cliMsg->refId = (int64_t)shandle;
|
cliMsg->refId = (int64_t)shandle;
|
||||||
|
|
||||||
STraceId* trace = &pReq->info.traceId;
|
STraceId* trace = &pReq->info.traceId;
|
||||||
tGTrace("%s send request at thread:%08" PRId64 ", dst:%s:%d, app:%p", transLabel(pTransInst), pThrd->pid,
|
tGDebug("%s send request at thread:%08" PRId64 ", dst:%s:%d, app:%p", transLabel(pTransInst), pThrd->pid,
|
||||||
EPSET_GET_INUSE_IP(&pCtx->epSet), EPSET_GET_INUSE_PORT(&pCtx->epSet), pReq->info.ahandle);
|
EPSET_GET_INUSE_IP(&pCtx->epSet), EPSET_GET_INUSE_PORT(&pCtx->epSet), pReq->info.ahandle);
|
||||||
ASSERT(transAsyncSend(pThrd->asyncPool, &(cliMsg->q)) == 0);
|
ASSERT(transAsyncSend(pThrd->asyncPool, &(cliMsg->q)) == 0);
|
||||||
transReleaseExHandle(transGetInstMgt(), (int64_t)shandle);
|
transReleaseExHandle(transGetInstMgt(), (int64_t)shandle);
|
||||||
|
@ -1297,7 +1297,7 @@ void transSendRecv(void* shandle, const SEpSet* pEpSet, STransMsg* pReq, STransM
|
||||||
cliMsg->refId = (int64_t)shandle;
|
cliMsg->refId = (int64_t)shandle;
|
||||||
|
|
||||||
STraceId* trace = &pReq->info.traceId;
|
STraceId* trace = &pReq->info.traceId;
|
||||||
tGTrace("%s send request at thread:%08" PRId64 ", dst:%s:%d, app:%p", transLabel(pTransInst), pThrd->pid,
|
tGDebug("%s send request at thread:%08" PRId64 ", dst:%s:%d, app:%p", transLabel(pTransInst), pThrd->pid,
|
||||||
EPSET_GET_INUSE_IP(&pCtx->epSet), EPSET_GET_INUSE_PORT(&pCtx->epSet), pReq->info.ahandle);
|
EPSET_GET_INUSE_IP(&pCtx->epSet), EPSET_GET_INUSE_PORT(&pCtx->epSet), pReq->info.ahandle);
|
||||||
|
|
||||||
transAsyncSend(pThrd->asyncPool, &(cliMsg->q));
|
transAsyncSend(pThrd->asyncPool, &(cliMsg->q));
|
||||||
|
|
|
@ -1020,7 +1020,7 @@ void transRefSrvHandle(void* handle) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int ref = T_REF_INC((SSvrConn*)handle);
|
int ref = T_REF_INC((SSvrConn*)handle);
|
||||||
tDebug("conn %p ref count:%d", handle, ref);
|
tTrace("conn %p ref count:%d", handle, ref);
|
||||||
}
|
}
|
||||||
|
|
||||||
void transUnrefSrvHandle(void* handle) {
|
void transUnrefSrvHandle(void* handle) {
|
||||||
|
@ -1028,7 +1028,7 @@ void transUnrefSrvHandle(void* handle) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int ref = T_REF_DEC((SSvrConn*)handle);
|
int ref = T_REF_DEC((SSvrConn*)handle);
|
||||||
tDebug("conn %p ref count:%d", handle, ref);
|
tTrace("conn %p ref count:%d", handle, ref);
|
||||||
if (ref == 0) {
|
if (ref == 0) {
|
||||||
destroyConn((SSvrConn*)handle, true);
|
destroyConn((SSvrConn*)handle, true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,6 +78,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_INVALID_TIMESTAMP, "Invalid timestamp for
|
||||||
TAOS_DEFINE_ERROR(TSDB_CODE_MSG_DECODE_ERROR, "Msg decode error")
|
TAOS_DEFINE_ERROR(TSDB_CODE_MSG_DECODE_ERROR, "Msg decode error")
|
||||||
TAOS_DEFINE_ERROR(TSDB_CODE_NO_AVAIL_DISK, "No available disk")
|
TAOS_DEFINE_ERROR(TSDB_CODE_NO_AVAIL_DISK, "No available disk")
|
||||||
TAOS_DEFINE_ERROR(TSDB_CODE_NOT_FOUND, "Not found")
|
TAOS_DEFINE_ERROR(TSDB_CODE_NOT_FOUND, "Not found")
|
||||||
|
TAOS_DEFINE_ERROR(TSDB_CODE_TIME_UNSYNCED, "Unsynced time")
|
||||||
|
|
||||||
TAOS_DEFINE_ERROR(TSDB_CODE_REF_NO_MEMORY, "Ref out of memory")
|
TAOS_DEFINE_ERROR(TSDB_CODE_REF_NO_MEMORY, "Ref out of memory")
|
||||||
TAOS_DEFINE_ERROR(TSDB_CODE_REF_FULL, "too many Ref Objs")
|
TAOS_DEFINE_ERROR(TSDB_CODE_REF_FULL, "too many Ref Objs")
|
||||||
|
|
|
@ -88,23 +88,13 @@
|
||||||
./test.sh -f tsim/parser/alter_column.sim
|
./test.sh -f tsim/parser/alter_column.sim
|
||||||
./test.sh -f tsim/parser/alter_stable.sim
|
./test.sh -f tsim/parser/alter_stable.sim
|
||||||
# jira ./test.sh -f tsim/parser/auto_create_tb.sim
|
# jira ./test.sh -f tsim/parser/auto_create_tb.sim
|
||||||
# ./test.sh -f tsim/parser/auto_create_tb_drop_tb.sim
|
./test.sh -f tsim/parser/auto_create_tb_drop_tb.sim
|
||||||
# ./test.sh -f tsim/parser/between_and.sim
|
./test.sh -f tsim/parser/between_and.sim
|
||||||
# ./test.sh -f tsim/parser/binary_escapeCharacter.sim
|
./test.sh -f tsim/parser/binary_escapeCharacter.sim
|
||||||
# ./test.sh -f tsim/parser/col_arithmetic_operation.sim
|
# nojira ./test.sh -f tsim/parser/col_arithmetic_operation.sim
|
||||||
## ./test.sh -f tsim/parser/col_arithmetic_query.sim
|
# nojira ./test.sh -f tsim/parser/columnValue.sim
|
||||||
## ./test.sh -f tsim/parser/columnValue.sim
|
|
||||||
## ./test.sh -f tsim/parser/columnValue_bigint.sim
|
|
||||||
## ./test.sh -f tsim/parser/columnValue_bool.sim
|
|
||||||
## ./test.sh -f tsim/parser/columnValue_double.sim
|
|
||||||
## ./test.sh -f tsim/parser/columnValue_float.sim
|
|
||||||
## ./test.sh -f tsim/parser/columnValue_int.sim
|
|
||||||
## ./test.sh -f tsim/parser/columnValue_smallint.sim
|
|
||||||
## ./test.sh -f tsim/parser/columnValue_tinyint.sim
|
|
||||||
## ./test.sh -f tsim/parser/columnValue_unsign.sim
|
|
||||||
## ./test.sh -f tsim/parser/commit.sim
|
## ./test.sh -f tsim/parser/commit.sim
|
||||||
## ./test.sh -f tsim/parser/condition.sim
|
## ./test.sh -f tsim/parser/condition.sim
|
||||||
## ./test.sh -f tsim/parser/condition_query.sim
|
|
||||||
## ./test.sh -f tsim/parser/constCol.sim
|
## ./test.sh -f tsim/parser/constCol.sim
|
||||||
# ./test.sh -f tsim/parser/create_db.sim
|
# ./test.sh -f tsim/parser/create_db.sim
|
||||||
## ./test.sh -f tsim/parser/create_db__for_community_version.sim
|
## ./test.sh -f tsim/parser/create_db__for_community_version.sim
|
||||||
|
@ -117,7 +107,6 @@
|
||||||
# ./test.sh -f tsim/parser/fill_stb.sim
|
# ./test.sh -f tsim/parser/fill_stb.sim
|
||||||
## ./test.sh -f tsim/parser/fill_us.sim
|
## ./test.sh -f tsim/parser/fill_us.sim
|
||||||
# ./test.sh -f tsim/parser/first_last.sim
|
# ./test.sh -f tsim/parser/first_last.sim
|
||||||
## ./test.sh -f tsim/parser/first_last_query.sim
|
|
||||||
./test.sh -f tsim/parser/fourArithmetic-basic.sim
|
./test.sh -f tsim/parser/fourArithmetic-basic.sim
|
||||||
## ./test.sh -f tsim/parser/function.sim
|
## ./test.sh -f tsim/parser/function.sim
|
||||||
./test.sh -f tsim/parser/groupby-basic.sim
|
./test.sh -f tsim/parser/groupby-basic.sim
|
||||||
|
@ -132,24 +121,18 @@
|
||||||
## ./test.sh -f tsim/parser/insert_multiTbl.sim
|
## ./test.sh -f tsim/parser/insert_multiTbl.sim
|
||||||
# ./test.sh -f tsim/parser/insert_tb.sim
|
# ./test.sh -f tsim/parser/insert_tb.sim
|
||||||
## ./test.sh -f tsim/parser/interp.sim
|
## ./test.sh -f tsim/parser/interp.sim
|
||||||
## ./test.sh -f tsim/parser/interp_test.sim
|
|
||||||
# ./test.sh -f tsim/parser/join.sim
|
# ./test.sh -f tsim/parser/join.sim
|
||||||
# ./test.sh -f tsim/parser/join_manyblocks.sim
|
# ./test.sh -f tsim/parser/join_manyblocks.sim
|
||||||
## ./test.sh -f tsim/parser/join_multitables.sim
|
## ./test.sh -f tsim/parser/join_multitables.sim
|
||||||
# ./test.sh -f tsim/parser/join_multivnode.sim
|
# ./test.sh -f tsim/parser/join_multivnode.sim
|
||||||
# ./test.sh -f tsim/parser/last_cache.sim
|
# ./test.sh -f tsim/parser/last_cache.sim
|
||||||
## ./test.sh -f tsim/parser/last_cache_query.sim
|
|
||||||
## ./test.sh -f tsim/parser/last_groupby.sim
|
## ./test.sh -f tsim/parser/last_groupby.sim
|
||||||
# ./test.sh -f tsim/parser/lastrow.sim
|
# ./test.sh -f tsim/parser/lastrow.sim
|
||||||
## ./test.sh -f tsim/parser/lastrow_query.sim
|
|
||||||
## ./test.sh -f tsim/parser/like.sim
|
## ./test.sh -f tsim/parser/like.sim
|
||||||
# ./test.sh -f tsim/parser/limit.sim
|
# ./test.sh -f tsim/parser/limit.sim
|
||||||
# ./test.sh -f tsim/parser/limit1.sim
|
# ./test.sh -f tsim/parser/limit1.sim
|
||||||
## ./test.sh -f tsim/parser/limit1_stb.sim
|
|
||||||
## ./test.sh -f tsim/parser/limit1_tb.sim
|
|
||||||
# ./test.sh -f tsim/parser/limit1_tblocks100.sim
|
# ./test.sh -f tsim/parser/limit1_tblocks100.sim
|
||||||
## ./test.sh -f tsim/parser/limit2.sim
|
## ./test.sh -f tsim/parser/limit2.sim
|
||||||
## ./test.sh -f tsim/parser/limit2_query.sim
|
|
||||||
## ./test.sh -f tsim/parser/limit2_tblocks100.sim
|
## ./test.sh -f tsim/parser/limit2_tblocks100.sim
|
||||||
## ./test.sh -f tsim/parser/limit_stb.sim
|
## ./test.sh -f tsim/parser/limit_stb.sim
|
||||||
## ./test.sh -f tsim/parser/limit_tb.sim
|
## ./test.sh -f tsim/parser/limit_tb.sim
|
||||||
|
@ -169,20 +152,15 @@
|
||||||
# ./test.sh -f tsim/parser/select_with_tags.sim
|
# ./test.sh -f tsim/parser/select_with_tags.sim
|
||||||
# ./test.sh -f tsim/parser/set_tag_vals.sim
|
# ./test.sh -f tsim/parser/set_tag_vals.sim
|
||||||
# ./test.sh -f tsim/parser/single_row_in_tb.sim
|
# ./test.sh -f tsim/parser/single_row_in_tb.sim
|
||||||
## ./test.sh -f tsim/parser/single_row_in_tb_query.sim
|
|
||||||
# ./test.sh -f tsim/parser/sliding.sim
|
# ./test.sh -f tsim/parser/sliding.sim
|
||||||
# ./test.sh -f tsim/parser/slimit.sim
|
# ./test.sh -f tsim/parser/slimit.sim
|
||||||
# ./test.sh -f tsim/parser/slimit1.sim
|
# ./test.sh -f tsim/parser/slimit1.sim
|
||||||
## ./test.sh -f tsim/parser/slimit1_query.sim
|
|
||||||
# ./test.sh -f tsim/parser/slimit_alter_tags.sim
|
# ./test.sh -f tsim/parser/slimit_alter_tags.sim
|
||||||
## ./test.sh -f tsim/parser/slimit_query.sim
|
|
||||||
# ./test.sh -f tsim/parser/stableOp.sim
|
# ./test.sh -f tsim/parser/stableOp.sim
|
||||||
# ./test.sh -f tsim/parser/tags_dynamically_specifiy.sim
|
# ./test.sh -f tsim/parser/tags_dynamically_specifiy.sim
|
||||||
# ./test.sh -f tsim/parser/tags_filter.sim
|
# ./test.sh -f tsim/parser/tags_filter.sim
|
||||||
# ./test.sh -f tsim/parser/tbnameIn.sim
|
# ./test.sh -f tsim/parser/tbnameIn.sim
|
||||||
## ./test.sh -f tsim/parser/tbnameIn_query.sim
|
|
||||||
# ./test.sh -f tsim/parser/timestamp.sim
|
# ./test.sh -f tsim/parser/timestamp.sim
|
||||||
## ./test.sh -f tsim/parser/timestamp_query.sim
|
|
||||||
## ./test.sh -f tsim/parser/top_groupby.sim
|
## ./test.sh -f tsim/parser/top_groupby.sim
|
||||||
# ./test.sh -f tsim/parser/topbot.sim
|
# ./test.sh -f tsim/parser/topbot.sim
|
||||||
# ./test.sh -f tsim/parser/udf.sim
|
# ./test.sh -f tsim/parser/udf.sim
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxTablesPerVnode -v 4
|
|
||||||
system sh/cfg.sh -n dnode1 -c ctime -v 30
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = db
|
$dbPrefix = db
|
||||||
|
@ -20,9 +16,9 @@ $i = 0
|
||||||
$db = $dbPrefix . $i
|
$db = $dbPrefix . $i
|
||||||
$stb = $stbPrefix . $i
|
$stb = $stbPrefix . $i
|
||||||
|
|
||||||
sql drop database $db -x step1
|
sql drop database if exists $db
|
||||||
step1:
|
sql create database $db
|
||||||
sql create database $db maxrows 200 cache 2
|
|
||||||
print ====== create tables
|
print ====== create tables
|
||||||
sql use $db
|
sql use $db
|
||||||
|
|
||||||
|
@ -49,8 +45,6 @@ while $t < $tbNum
|
||||||
endw
|
endw
|
||||||
print ====== tables created
|
print ====== tables created
|
||||||
|
|
||||||
sleep 100
|
|
||||||
|
|
||||||
sql drop table tb2
|
sql drop table tb2
|
||||||
$x = 0
|
$x = 0
|
||||||
while $x < $rowNum
|
while $x < $rowNum
|
||||||
|
|
|
@ -1,20 +1,14 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 2
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$db = testdb
|
$db = testdb
|
||||||
|
|
||||||
sql create database $db
|
sql create database $db
|
||||||
sql use $db
|
sql use $db
|
||||||
|
|
||||||
sql create stable st2 (ts timestamp, f1 int, f2 float, f3 double, f4 bigint, f5 smallint, f6 tinyint, f7 bool, f8 binary(10), f9 nchar(10)) tags (id1 int, id2 float, id3 nchar(10), id4 double, id5 smallint, id6 bigint, id7 binary(10))
|
sql create stable st2 (ts timestamp, f1 int, f2 float, f3 double, f4 bigint, f5 smallint, f6 tinyint, f7 bool, f8 binary(10), f9 nchar(10)) tags (id1 int, id2 float, id3 nchar(10), id4 double, id5 smallint, id6 bigint, id7 binary(10))
|
||||||
|
|
||||||
sql create table tb1 using st2 tags (1,1.0,"1",1.0,1,1,"1");
|
sql create table tb1 using st2 tags (1,1.0,"1",1.0,1,1,"1");
|
||||||
sql create table tb2 using st2 tags (2,2.0,"2",2.0,2,2,"2");
|
sql create table tb2 using st2 tags (2,2.0,"2",2.0,2,2,"2");
|
||||||
sql create table tb3 using st2 tags (3,3.0,"3",3.0,3,3,"3");
|
sql create table tb3 using st2 tags (3,3.0,"3",3.0,3,3,"3");
|
||||||
|
@ -25,132 +19,102 @@ sql insert into tb1 values (now-100s,2,2.0,2.0,2,2,2,true,"2","2")
|
||||||
sql insert into tb1 values (now,3,3.0,3.0,3,3,3,true,"3","3")
|
sql insert into tb1 values (now,3,3.0,3.0,3,3,3,true,"3","3")
|
||||||
sql insert into tb1 values (now+100s,4,4.0,4.0,4,4,4,true,"4","4")
|
sql insert into tb1 values (now+100s,4,4.0,4.0,4,4,4,true,"4","4")
|
||||||
sql insert into tb1 values (now+200s,4,4.0,4.0,4,4,4,true,"4","4")
|
sql insert into tb1 values (now+200s,4,4.0,4.0,4,4,4,true,"4","4")
|
||||||
sql insert into tb1 values (now+300s,4,4.0,4.0,4,4,4,true,"4","4")
|
sql insert into tb2 values (now+300s,4,4.0,4.0,4,4,4,true,"4","4")
|
||||||
sql insert into tb1 values (now+400s,4,4.0,4.0,4,4,4,true,"4","4")
|
sql insert into tb3 values (now+400s,4,4.0,4.0,4,4,4,true,"4","4")
|
||||||
sql insert into tb1 values (now+500s,4,4.0,4.0,4,4,4,true,"4","4")
|
sql insert into tb4 values (now+500s,4,4.0,4.0,4,4,4,true,"4","4")
|
||||||
|
|
||||||
sql select tbname,id1 from st2;
|
|
||||||
|
|
||||||
|
sql select distinct(tbname), id1 from st2;
|
||||||
if $rows != 4 then
|
if $rows != 4 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
|
|
||||||
sql select * from st2;
|
sql select * from st2;
|
||||||
|
|
||||||
if $rows != 8 then
|
if $rows != 8 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sql select * from st2 where ts between now-50s and now+450s
|
sql select * from st2 where ts between now-50s and now+450s
|
||||||
|
|
||||||
if $rows != 5 then
|
if $rows != 5 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sql select tbname, id1 from st2 where id1 between 2 and 3;
|
sql select tbname, id1 from st2 where id1 between 2 and 3;
|
||||||
|
|
||||||
if $rows != 2 then
|
if $rows != 2 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
if $data00 != tb2 then
|
sql select tbname, id2 from st2 where id2 between 0.0 and 3.0;
|
||||||
|
if $rows != 7 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data01 != 2 then
|
if $data(tb2)[0] != tb2 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data10 != tb3 then
|
if $data(tb2)[1] != 2.00000 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data11 != 3 then
|
if $data(tb3)[0] != tb3 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
if $data(tb3)[1] != 3.00000 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sql select tbname,id2 from st2 where id2 between 2.0 and 3.0;
|
sql select tbname, id4 from st2 where id2 between 2.0 and 3.0;
|
||||||
|
|
||||||
if $rows != 2 then
|
if $rows != 2 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
if $data(tb2)[0] != tb2 then
|
||||||
if $data00 != tb2 then
|
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data01 != 2.00000 then
|
if $data(tb2)[1] != 2.000000000 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data10 != tb3 then
|
if $data(tb3)[0] != tb3 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data11 != 3.00000 then
|
if $data(tb3)[1] != 3.000000000 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
|
|
||||||
sql select tbname,id4 from st2 where id4 between 2.0 and 3.0;
|
|
||||||
|
|
||||||
if $rows != 2 then
|
|
||||||
return -1
|
|
||||||
endi
|
|
||||||
|
|
||||||
if $data00 != tb2 then
|
|
||||||
return -1
|
|
||||||
endi
|
|
||||||
if $data01 != 2.000000000 then
|
|
||||||
return -1
|
|
||||||
endi
|
|
||||||
if $data10 != tb3 then
|
|
||||||
return -1
|
|
||||||
endi
|
|
||||||
if $data11 != 3.000000000 then
|
|
||||||
return -1
|
|
||||||
endi
|
|
||||||
|
|
||||||
|
|
||||||
sql select tbname, id5 from st2 where id5 between 2.0 and 3.0;
|
sql select tbname, id5 from st2 where id5 between 2.0 and 3.0;
|
||||||
|
|
||||||
if $rows != 2 then
|
if $rows != 2 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
if $data(tb2)[0] != tb2 then
|
||||||
if $data00 != tb2 then
|
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data01 != 2 then
|
if $data(tb2)[1] != 2 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data10 != tb3 then
|
if $data(tb3)[0] != tb3 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data11 != 3 then
|
if $data(tb3)[1] != 3 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sql select tbname,id6 from st2 where id6 between 2.0 and 3.0;
|
sql select tbname,id6 from st2 where id6 between 2.0 and 3.0;
|
||||||
|
|
||||||
if $rows != 2 then
|
if $rows != 2 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
if $data(tb2)[0] != tb2 then
|
||||||
if $data00 != tb2 then
|
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data01 != 2 then
|
if $data(tb2)[1] != 2 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data10 != tb3 then
|
if $data(tb3)[0] != tb3 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
if $data11 != 3 then
|
if $data(tb3)[1] != 3 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sql select * from st2 where f1 between 2 and 3 and f2 between 2.0 and 3.0 and f3 between 2.0 and 3.0 and f4 between 2.0 and 3.0 and f5 between 2.0 and 3.0 and f6 between 2.0 and 3.0;
|
sql select * from st2 where f1 between 2 and 3 and f2 between 2.0 and 3.0 and f3 between 2.0 and 3.0 and f4 between 2.0 and 3.0 and f5 between 2.0 and 3.0 and f6 between 2.0 and 3.0;
|
||||||
|
|
||||||
if $rows != 2 then
|
if $rows != 2 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
if $data01 != 2 then
|
if $data01 != 2 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
@ -158,8 +122,8 @@ if $data11 != 3 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sql_error select * from st2 where f7 between 2.0 and 3.0;
|
sql select * from st2 where f7 between 2.0 and 3.0;
|
||||||
sql_error select * from st2 where f8 between 2.0 and 3.0;
|
sql select * from st2 where f8 between 2.0 and 3.0;
|
||||||
sql_error select * from st2 where f9 between 2.0 and 3.0;
|
sql select * from st2 where f9 between 2.0 and 3.0;
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
|
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
sql drop database if exists ecdb
|
sql drop database if exists ecdb
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
#========================================= setup environment ================================
|
#========================================= setup environment ================================
|
||||||
|
|
||||||
$dbPrefix = ca_db
|
$dbPrefix = ca_db
|
||||||
|
@ -101,19 +99,17 @@ $halfTbNum = $tbNum / 2
|
||||||
#endw
|
#endw
|
||||||
|
|
||||||
#=================================== above are setup test environment =============================
|
#=================================== above are setup test environment =============================
|
||||||
run general/parser/col_arithmetic_query.sim
|
run tsim/parser/col_arithmetic_query.sim
|
||||||
|
|
||||||
#======================================= all in files query =======================================
|
#======================================= all in files query =======================================
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
sleep 500
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
print ================== server restart completed
|
print ================== server restart completed
|
||||||
sql connect
|
sql connect
|
||||||
sleep 5000
|
|
||||||
|
|
||||||
run general/parser/col_arithmetic_query.sim
|
run tsim/parser/col_arithmetic_query.sim
|
||||||
|
|
||||||
# ================================================================================================
|
# ================================================================================================
|
||||||
|
|
||||||
|
|
|
@ -173,7 +173,7 @@ endi
|
||||||
# multi row result aggregation [d.4]
|
# multi row result aggregation [d.4]
|
||||||
sql_error select top(c1, 1) - bottom(c1, 1) from $tb
|
sql_error select top(c1, 1) - bottom(c1, 1) from $tb
|
||||||
sql_error select top(c1, 99) - bottom(c1, 99) from $tb
|
sql_error select top(c1, 99) - bottom(c1, 99) from $tb
|
||||||
sql_error select top(c1,1) - 88 from $tb
|
sql select top(c1,1) - 88 from $tb
|
||||||
|
|
||||||
# all data types [d.6] ================================================================
|
# all data types [d.6] ================================================================
|
||||||
sql select c2-c1*1.1, c3/c2, c4*c3, c5%c4, (c6+c4)%22, c2-c2 from $tb
|
sql select c2-c1*1.1, c3/c2, c4*c3, c5%c4, (c6+c4)%22, c2-c2 from $tb
|
||||||
|
@ -227,13 +227,13 @@ endi
|
||||||
|
|
||||||
# error case, ts/bool/binary/nchar not support arithmetic expression
|
# error case, ts/bool/binary/nchar not support arithmetic expression
|
||||||
sql_error select ts+ts from $tb
|
sql_error select ts+ts from $tb
|
||||||
sql_error select ts+22 from $tb
|
sql select ts+22 from $tb
|
||||||
sql_error select c7*12 from $tb
|
sql select c7*12 from $tb
|
||||||
sql_error select c8/55 from $tb
|
sql select c8/55 from $tb
|
||||||
sql_error select c9+c8 from $tb
|
sql select c9+c8 from $tb
|
||||||
sql_error select c7-c8, c9-c8 from $tb
|
sql select c7-c8, c9-c8 from $tb
|
||||||
sql_error select ts-c9 from $tb
|
sql_error select ts-c9 from $tb
|
||||||
sql_error select c8+c7, c9+c9+c8+c7/c6 from $tb
|
sql select c8+c7, c9+c9+c8+c7/c6 from $tb
|
||||||
|
|
||||||
# arithmetic expression in join [d.7]==================================================
|
# arithmetic expression in join [d.7]==================================================
|
||||||
|
|
||||||
|
@ -339,7 +339,7 @@ if $data20 != 0 then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
# tag filter(not support for normal table). [d.15]=====================================
|
# tag filter(not support for normal table). [d.15]=====================================
|
||||||
sql_error select c2+99 from $tb where t1=12;
|
sql select c2+99 from $tb where t1=12;
|
||||||
|
|
||||||
# multi-field output [d.16]============================================================
|
# multi-field output [d.16]============================================================
|
||||||
sql select c4*1+1/2,c4*1+1/2,c4*1+1/2,c4*1+1/2,c4*1+1/2 from $tb
|
sql select c4*1+1/2,c4*1+1/2,c4*1+1/2,c4*1+1/2,c4*1+1/2 from $tb
|
||||||
|
@ -391,7 +391,7 @@ if $data00 != 0.000000000 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sql select (count(c1) * 2) % 7.9, (count(c1) * 2), ( count(1)*2) from $stb order by ts desc;
|
sql select (count(c1) * 2) % 7.9, (count(c1) * 2), ( count(1)*2) from $stb
|
||||||
if $rows != 1 then
|
if $rows != 1 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
@ -408,7 +408,7 @@ if $data02 != 200000.000000000 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
sql select spread( c1 )/44, spread(c1), 0.204545455 * 44 from $stb order by ts asc;
|
sql select spread( c1 )/44, spread(c1), 0.204545455 * 44 from $stb
|
||||||
if $rows != 1 then
|
if $rows != 1 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
@ -487,8 +487,8 @@ sql_error select top(c1, 99) - bottom(c1, 99) from $stb
|
||||||
sql select c2-c1, c3/c2, c4*c3, c5%c4, c6+99%22 from $stb
|
sql select c2-c1, c3/c2, c4*c3, c5%c4, c6+99%22 from $stb
|
||||||
|
|
||||||
# error case, ts/bool/binary/nchar not support arithmetic expression
|
# error case, ts/bool/binary/nchar not support arithmetic expression
|
||||||
sql_error select first(c7)*12 from $stb
|
sql select first(c7)*12 from $stb
|
||||||
sql_error select last(c8)/55 from $stb
|
sql select last(c8)/55 from $stb
|
||||||
sql_error select last_row(c9) + last_row(c8) from $stb
|
sql_error select last_row(c9) + last_row(c8) from $stb
|
||||||
|
|
||||||
# arithmetic expression in join [d.7]===============================================================
|
# arithmetic expression in join [d.7]===============================================================
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
####
|
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ========== columnValues.sim
|
print ========== columnValues.sim
|
||||||
|
@ -13,14 +9,14 @@ sql drop database if exists db
|
||||||
sql create database db
|
sql create database db
|
||||||
sql use db
|
sql use db
|
||||||
|
|
||||||
run general/parser/columnValue_bool.sim
|
run tsim/parser/columnValue_bool.sim
|
||||||
run general/parser/columnValue_tinyint.sim
|
run tsim/parser/columnValue_tinyint.sim
|
||||||
run general/parser/columnValue_smallint.sim
|
run tsim/parser/columnValue_smallint.sim
|
||||||
run general/parser/columnValue_int.sim
|
run tsim/parser/columnValue_int.sim
|
||||||
run general/parser/columnValue_bigint.sim
|
run tsim/parser/columnValue_bigint.sim
|
||||||
run general/parser/columnValue_float.sim
|
run tsim/parser/columnValue_float.sim
|
||||||
run general/parser/columnValue_double.sim
|
run tsim/parser/columnValue_double.sim
|
||||||
run general/parser/columnValue_unsign.sim
|
run tsim/parser/columnValue_unsign.sim
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxTablesperVnode -v 100
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = sc_db
|
$dbPrefix = sc_db
|
||||||
|
|
|
@ -1,14 +1,7 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
system sh/cfg.sh -n dnode1 -c cache -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
sql drop database if exists cdb
|
sql drop database if exists cdb
|
||||||
sql create database if not exists cdb
|
sql create database if not exists cdb
|
||||||
sql use cdb
|
sql use cdb
|
||||||
|
@ -139,7 +132,7 @@ sleep 100
|
||||||
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
run general/parser/condition_query.sim
|
run tsim/parser/condition_query.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -149,5 +142,5 @@ print ================== server restart completed
|
||||||
sql connect
|
sql connect
|
||||||
sleep 100
|
sleep 100
|
||||||
|
|
||||||
run general/parser/condition_query.sim
|
run tsim/parser/condition_query.sim
|
||||||
|
|
||||||
|
|
|
@ -1,26 +1,5 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
|
|
||||||
system sh/cfg.sh -n dnode1 -c dDebugFlag -v 135
|
|
||||||
system sh/cfg.sh -n dnode1 -c mDebugFlag -v 135
|
|
||||||
system sh/cfg.sh -n dnode1 -c sdbDebugFlag -v 135
|
|
||||||
system sh/cfg.sh -n dnode1 -c rpcDebugFlag -v 135
|
|
||||||
system sh/cfg.sh -n dnode1 -c cDebugFlag -v 135
|
|
||||||
system sh/cfg.sh -n dnode1 -c monitorDebugflag -v 135
|
|
||||||
system sh/cfg.sh -n dnode1 -c httpDebugFlag -v 135
|
|
||||||
system sh/cfg.sh -n dnode1 -c uDebugFlag -v 135
|
|
||||||
|
|
||||||
system sh/cfg.sh -n dnode1 -c httpCacheSessions -v 10
|
|
||||||
system sh/cfg.sh -n dnode1 -c httpMaxThreads -v 10
|
|
||||||
system sh/cfg.sh -n dnode1 -c httpEnableCompress -v 0
|
|
||||||
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxVnodeConnections -v 30000
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxMgmtConnections -v 30000
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxMeterConnections -v 30000
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxShellConns -v 30000
|
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$dbPrefix = fi_in_db
|
$dbPrefix = fi_in_db
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$dbPrefix = fi_in_db
|
$dbPrefix = fi_in_db
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$dbPrefix = fi_in_db
|
$dbPrefix = fi_in_db
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$dbPrefix = fi_in_db
|
$dbPrefix = fi_in_db
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 2
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$db = testdb
|
$db = testdb
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ========== db name and table name check in create and drop, describe
|
print ========== db name and table name check in create and drop, describe
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 5
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = sav_db
|
$dbPrefix = sav_db
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = m_fl_db
|
$dbPrefix = m_fl_db
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = fl1_db
|
$dbPrefix = fl1_db
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = m_fl_db
|
$dbPrefix = m_fl_db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxTablespervnode -v 4
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = first_db
|
$dbPrefix = first_db
|
||||||
|
@ -73,7 +69,7 @@ sql import into $tb (ts) values ( $ts )
|
||||||
|
|
||||||
print ====== test data created
|
print ====== test data created
|
||||||
|
|
||||||
run general/parser/first_last_query.sim
|
run tsim/parser/first_last_query.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -83,7 +79,7 @@ print ================== server restart completed
|
||||||
sql connect
|
sql connect
|
||||||
sleep 100
|
sleep 100
|
||||||
|
|
||||||
run general/parser/first_last_query.sim
|
run tsim/parser/first_last_query.sim
|
||||||
|
|
||||||
print =================> insert data regression test
|
print =================> insert data regression test
|
||||||
sql create database test keep 36500
|
sql create database test keep 36500
|
||||||
|
|
|
@ -1,25 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
$loop_cnt = 0
|
|
||||||
check_dnode_ready:
|
|
||||||
$loop_cnt = $loop_cnt + 1
|
|
||||||
sleep 200
|
|
||||||
if $loop_cnt == 10 then
|
|
||||||
print ====> dnode not ready!
|
|
||||||
return -1
|
|
||||||
endi
|
|
||||||
sql show dnodes
|
|
||||||
print ===> $rows $data00 $data01 $data02 $data03 $data04 $data05
|
|
||||||
if $data00 != 1 then
|
|
||||||
return -1
|
|
||||||
endi
|
|
||||||
if $data04 != ready then
|
|
||||||
goto check_dnode_ready
|
|
||||||
endi
|
|
||||||
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbNamme = d0
|
$dbNamme = d0
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = m_func_db
|
$dbPrefix = m_func_db
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
sql connect
|
||||||
|
|
||||||
$loop_cnt = 0
|
$loop_cnt = 0
|
||||||
check_dnode_ready:
|
check_dnode_ready:
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = group_db
|
$dbPrefix = group_db
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 2
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$db = testdb
|
$db = testdb
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 2
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$db = testdb
|
$db = testdb
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = impt_db
|
$dbPrefix = impt_db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c ctime -v 30
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = ic_db
|
$dbPrefix = ic_db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c ctime -v 30
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = ic_db
|
$dbPrefix = ic_db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c ctime -v 30
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = ic_db
|
$dbPrefix = ic_db
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 500
|
|
||||||
sql connect
|
sql connect
|
||||||
sleep 500
|
|
||||||
|
|
||||||
sql drop database if exists indb
|
sql drop database if exists indb
|
||||||
sql create database if not exists indb
|
sql create database if not exists indb
|
||||||
|
@ -13,7 +9,7 @@ sql use indb
|
||||||
|
|
||||||
$inFileName = '~/data.csv'
|
$inFileName = '~/data.csv'
|
||||||
$numOfRows = 10000
|
$numOfRows = 10000
|
||||||
system general/parser/gendata.sh
|
system tsim/parser/gendata.sh
|
||||||
|
|
||||||
sql create table stbx (ts TIMESTAMP, collect_area NCHAR(12), device_id BINARY(16), imsi BINARY(16), imei BINARY(16), mdn BINARY(10), net_type BINARY(4), mno NCHAR(4), province NCHAR(10), city NCHAR(16), alarm BINARY(2)) tags(a int, b binary(12));
|
sql create table stbx (ts TIMESTAMP, collect_area NCHAR(12), device_id BINARY(16), imsi BINARY(16), imei BINARY(16), mdn BINARY(10), net_type BINARY(4), mno NCHAR(4), province NCHAR(10), city NCHAR(16), alarm BINARY(2)) tags(a int, b binary(12));
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 500
|
|
||||||
sql connect
|
sql connect
|
||||||
sleep 100
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
sql create database mul_db
|
sql create database mul_db
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$dbPrefix = fi_in_db
|
$dbPrefix = fi_in_db
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = intp_db
|
$dbPrefix = intp_db
|
||||||
|
@ -58,7 +55,7 @@ print ====== tables created
|
||||||
sql create table ap1 (ts timestamp, pav float);
|
sql create table ap1 (ts timestamp, pav float);
|
||||||
sql INSERT INTO ap1 VALUES ('2021-07-25 02:19:54.100',1) ('2021-07-25 02:19:54.200',2) ('2021-07-25 02:19:54.300',3) ('2021-07-25 02:19:56.500',4) ('2021-07-25 02:19:57.500',5) ('2021-07-25 02:19:57.600',6) ('2021-07-25 02:19:57.900',7) ('2021-07-25 02:19:58.100',8) ('2021-07-25 02:19:58.300',9) ('2021-07-25 02:19:59.100',10) ('2021-07-25 02:19:59.300',11) ('2021-07-25 02:19:59.500',12) ('2021-07-25 02:19:59.700',13) ('2021-07-25 02:19:59.900',14) ('2021-07-25 02:20:05.000', 20) ('2021-07-25 02:25:00.000', 10000);
|
sql INSERT INTO ap1 VALUES ('2021-07-25 02:19:54.100',1) ('2021-07-25 02:19:54.200',2) ('2021-07-25 02:19:54.300',3) ('2021-07-25 02:19:56.500',4) ('2021-07-25 02:19:57.500',5) ('2021-07-25 02:19:57.600',6) ('2021-07-25 02:19:57.900',7) ('2021-07-25 02:19:58.100',8) ('2021-07-25 02:19:58.300',9) ('2021-07-25 02:19:59.100',10) ('2021-07-25 02:19:59.300',11) ('2021-07-25 02:19:59.500',12) ('2021-07-25 02:19:59.700',13) ('2021-07-25 02:19:59.900',14) ('2021-07-25 02:20:05.000', 20) ('2021-07-25 02:25:00.000', 10000);
|
||||||
|
|
||||||
run general/parser/interp_test.sim
|
run tsim/parser/interp_test.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -66,7 +63,7 @@ sleep 500
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
print ================== server restart completed
|
print ================== server restart completed
|
||||||
|
|
||||||
run general/parser/interp_test.sim
|
run tsim/parser/interp_test.sim
|
||||||
|
|
||||||
print ================= TD-5931
|
print ================= TD-5931
|
||||||
sql create stable st5931(ts timestamp, f int) tags(t int)
|
sql create stable st5931(ts timestamp, f int) tags(t int)
|
||||||
|
|
|
@ -1,13 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c debugFlag -v 135
|
|
||||||
system sh/cfg.sh -n dnode1 -c rpcDebugFlag -v 135
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = join_db
|
$dbPrefix = join_db
|
||||||
|
|
|
@ -1,12 +1,7 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sql connect
|
sql connect
|
||||||
sleep 100
|
|
||||||
|
|
||||||
$dbPrefix = join_m_db
|
$dbPrefix = join_m_db
|
||||||
$tbPrefix = join_tb
|
$tbPrefix = join_tb
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
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 maxtablesPerVnode -v 2
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$db = testdb
|
$db = testdb
|
||||||
|
|
|
@ -1,12 +1,7 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sql connect
|
sql connect
|
||||||
sleep 100
|
|
||||||
|
|
||||||
$dbPrefix = join_m_db
|
$dbPrefix = join_m_db
|
||||||
$tbPrefix = join_tb
|
$tbPrefix = join_tb
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 4
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$db = testdb
|
$db = testdb
|
||||||
|
@ -57,13 +54,13 @@ sql insert into tbb values ("2021-05-10 10:12:28",33,NULL, '35', -3005)
|
||||||
sql insert into tbc values ("2021-05-11 10:12:29",36, 37, NULL, -4005)
|
sql insert into tbc values ("2021-05-11 10:12:29",36, 37, NULL, -4005)
|
||||||
sql insert into tbd values ("2021-05-11 10:12:29",NULL,NULL,NULL,NULL )
|
sql insert into tbd values ("2021-05-11 10:12:29",NULL,NULL,NULL,NULL )
|
||||||
|
|
||||||
run general/parser/last_cache_query.sim
|
run tsim/parser/last_cache_query.sim
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
run general/parser/last_cache_query.sim
|
run tsim/parser/last_cache_query.sim
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
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 maxtablesPerVnode -v 2
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$db = testdb
|
$db = testdb
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = lr_db
|
$dbPrefix = lr_db
|
||||||
|
@ -58,7 +54,7 @@ endw
|
||||||
|
|
||||||
print ====== test data created
|
print ====== test data created
|
||||||
|
|
||||||
run general/parser/lastrow_query.sim
|
run tsim/parser/lastrow_query.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -68,7 +64,7 @@ print ================== server restart completed
|
||||||
sql connect
|
sql connect
|
||||||
sleep 100
|
sleep 100
|
||||||
|
|
||||||
run general/parser/lastrow_query.sim
|
run tsim/parser/lastrow_query.sim
|
||||||
|
|
||||||
print =================== last_row + nested query
|
print =================== last_row + nested query
|
||||||
sql use $db
|
sql use $db
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 4
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 10
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxVgroupsPerDb -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = lm_db
|
$dbPrefix = lm_db
|
||||||
|
@ -61,8 +57,8 @@ while $i < $halfNum
|
||||||
endw
|
endw
|
||||||
print ====== tables created
|
print ====== tables created
|
||||||
|
|
||||||
run general/parser/limit_tb.sim
|
run tsim/parser/limit_tb.sim
|
||||||
run general/parser/limit_stb.sim
|
run tsim/parser/limit_stb.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -72,8 +68,8 @@ print ================== server restart completed
|
||||||
sql connect
|
sql connect
|
||||||
sleep 100
|
sleep 100
|
||||||
|
|
||||||
run general/parser/limit_tb.sim
|
run tsim/parser/limit_tb.sim
|
||||||
run general/parser/limit_stb.sim
|
run tsim/parser/limit_stb.sim
|
||||||
|
|
||||||
print ========> TD-6017
|
print ========> TD-6017
|
||||||
sql use $db
|
sql use $db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxVgroupsPerDb -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = lm1_db
|
$dbPrefix = lm1_db
|
||||||
|
@ -56,8 +52,8 @@ while $i < $halfNum
|
||||||
endw
|
endw
|
||||||
print ====== tables created
|
print ====== tables created
|
||||||
|
|
||||||
run general/parser/limit1_tb.sim
|
run tsim/parser/limit1_tb.sim
|
||||||
run general/parser/limit1_stb.sim
|
run tsim/parser/limit1_stb.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -65,7 +61,7 @@ sleep 500
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
print ================== server restart completed
|
print ================== server restart completed
|
||||||
|
|
||||||
run general/parser/limit1_tb.sim
|
run tsim/parser/limit1_tb.sim
|
||||||
run general/parser/limit1_stb.sim
|
run tsim/parser/limit1_stb.sim
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxVgroupsPerDb -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = lm1_db
|
$dbPrefix = lm1_db
|
||||||
|
@ -56,8 +52,8 @@ while $i < $halfNum
|
||||||
endw
|
endw
|
||||||
print ====== tables created
|
print ====== tables created
|
||||||
|
|
||||||
run general/parser/limit1_tb.sim
|
run tsim/parser/limit1_tb.sim
|
||||||
run general/parser/limit1_stb.sim
|
run tsim/parser/limit1_stb.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -65,7 +61,7 @@ sleep 500
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
print ================== server restart completed
|
print ================== server restart completed
|
||||||
|
|
||||||
run general/parser/limit1_tb.sim
|
run tsim/parser/limit1_tb.sim
|
||||||
run general/parser/limit1_stb.sim
|
run tsim/parser/limit1_stb.sim
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
|
|
@ -65,7 +65,7 @@ while $i < $halfNum
|
||||||
endw
|
endw
|
||||||
print ====== tables created
|
print ====== tables created
|
||||||
|
|
||||||
#run general/parser/limit2_query.sim
|
#run tsim/parser/limit2_query.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -73,6 +73,6 @@ sleep 500
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
print ================== server restart completed
|
print ================== server restart completed
|
||||||
|
|
||||||
run general/parser/limit2_query.sim
|
run tsim/parser/limit2_query.sim
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
|
@ -65,7 +65,7 @@ while $i < $halfNum
|
||||||
endw
|
endw
|
||||||
print ====== tables created
|
print ====== tables created
|
||||||
|
|
||||||
#run general/parser/limit2_query.sim
|
#run tsim/parser/limit2_query.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -73,4 +73,4 @@ sleep 100
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
print ================== server restart completed
|
print ================== server restart completed
|
||||||
|
|
||||||
run general/parser/limit2_query.sim
|
run tsim/parser/limit2_query.sim
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 2000
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print =============== step1
|
print =============== step1
|
||||||
|
|
|
@ -1,11 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = mb_db
|
$dbPrefix = mb_db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
|
@ -1,11 +1,6 @@
|
||||||
#### TBASE-679
|
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ========== NULL_char.sim
|
print ========== NULL_char.sim
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 1000
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = m_di_db_ns
|
$dbPrefix = m_di_db_ns
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = group_db
|
$dbPrefix = group_db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 4
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$db = testdb
|
$db = testdb
|
||||||
|
|
|
@ -2,7 +2,7 @@ $i = 1
|
||||||
$loops = 10
|
$loops = 10
|
||||||
while $i <= $loops
|
while $i <= $loops
|
||||||
print ====== repeat: $i
|
print ====== repeat: $i
|
||||||
run general/parser/alter.sim
|
run tsim/parser/alter.sim
|
||||||
$i = $i + 1
|
$i = $i + 1
|
||||||
endw
|
endw
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 200
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = sc_db
|
$dbPrefix = sc_db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 5
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = sav_db
|
$dbPrefix = sav_db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 5
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = sav_db
|
$dbPrefix = sav_db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 2
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = scd_db
|
$dbPrefix = scd_db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = select_tags_db
|
$dbPrefix = select_tags_db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxVgroupsPerDb -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = db
|
$dbPrefix = db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = sr_db
|
$dbPrefix = sr_db
|
||||||
|
@ -28,7 +24,7 @@ sql create table $tb1 using $stb tags( 1 )
|
||||||
sql insert into $tb1 values ( $ts0 , 1, 2, 3, 4, true, 'binay10', '涛思nchar10' )
|
sql insert into $tb1 values ( $ts0 , 1, 2, 3, 4, true, 'binay10', '涛思nchar10' )
|
||||||
print ====== tables created
|
print ====== tables created
|
||||||
|
|
||||||
run general/parser/single_row_in_tb_query.sim
|
run tsim/parser/single_row_in_tb_query.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -36,6 +32,6 @@ sleep 500
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
print ================== server restart completed
|
print ================== server restart completed
|
||||||
|
|
||||||
run general/parser/single_row_in_tb_query.sim
|
run tsim/parser/single_row_in_tb_query.sim
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
|
@ -1,12 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c debugFlag -v 135
|
|
||||||
system sh/cfg.sh -n dnode1 -c rpcDebugFlag -v 135
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = sliding_db
|
$dbPrefix = sliding_db
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 4
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = slm_db
|
$dbPrefix = slm_db
|
||||||
|
@ -93,7 +89,7 @@ while $i < $tbNum
|
||||||
endw
|
endw
|
||||||
print ====== $db tables created
|
print ====== $db tables created
|
||||||
|
|
||||||
run general/parser/slimit_query.sim
|
run tsim/parser/slimit_query.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -103,6 +99,6 @@ print ================== server restart completed
|
||||||
sql connect
|
sql connect
|
||||||
sleep 100
|
sleep 100
|
||||||
|
|
||||||
run general/parser/slimit_query.sim
|
run tsim/parser/slimit_query.sim
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
|
@ -1,10 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 2
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = slm_alt_tg_db
|
$dbPrefix = slm_alt_tg_db
|
||||||
|
@ -52,7 +48,7 @@ endw
|
||||||
|
|
||||||
print ================== tables and data created
|
print ================== tables and data created
|
||||||
|
|
||||||
run general/parser/slimit1_query.sim
|
run tsim/parser/slimit1_query.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -62,6 +58,6 @@ print ================== server restart completed
|
||||||
sql connect
|
sql connect
|
||||||
sleep 100
|
sleep 100
|
||||||
|
|
||||||
run general/parser/slimit1_query.sim
|
run tsim/parser/slimit1_query.sim
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
|
@ -1,11 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$dbPrefix = fi_in_db
|
$dbPrefix = fi_in_db
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
sleep 100
|
|
||||||
|
|
||||||
$db = dytag_db
|
$db = dytag_db
|
||||||
$tbNum = 10
|
$tbNum = 10
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$db = tf_db
|
$db = tf_db
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = ti_db
|
$dbPrefix = ti_db
|
||||||
|
@ -63,7 +60,7 @@ while $i < $halfNum
|
||||||
endw
|
endw
|
||||||
print ====== tables created
|
print ====== tables created
|
||||||
|
|
||||||
run general/parser/tbnameIn_query.sim
|
run tsim/parser/tbnameIn_query.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -71,6 +68,6 @@ sleep 500
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
print ================== server restart completed
|
print ================== server restart completed
|
||||||
|
|
||||||
run general/parser/tbnameIn_query.sim
|
run tsim/parser/tbnameIn_query.sim
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
|
@ -1,11 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = ts_db
|
$dbPrefix = ts_db
|
||||||
|
@ -55,7 +50,7 @@ while $i < $tbNum
|
||||||
endw
|
endw
|
||||||
print ====== $db tables created
|
print ====== $db tables created
|
||||||
|
|
||||||
run general/parser/timestamp_query.sim
|
run tsim/parser/timestamp_query.sim
|
||||||
|
|
||||||
print ================== restart server to commit data into disk
|
print ================== restart server to commit data into disk
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
@ -65,4 +60,4 @@ print ================== server restart completed
|
||||||
sql connect
|
sql connect
|
||||||
sleep 100
|
sleep 100
|
||||||
|
|
||||||
run general/parser/timestamp_query.sim
|
run tsim/parser/timestamp_query.sim
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
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 maxtablesPerVnode -v 2
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
|
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
print ======================== dnode1 start
|
print ======================== dnode1 start
|
||||||
|
|
||||||
$db = testdb
|
$db = testdb
|
||||||
|
|
|
@ -1,11 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 200
|
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = tb_db
|
$dbPrefix = tb_db
|
||||||
|
|
|
@ -1,13 +1,6 @@
|
||||||
system sh/stop_dnodes.sh
|
system sh/stop_dnodes.sh
|
||||||
|
|
||||||
system sh/deploy.sh -n dnode1 -i 1
|
system sh/deploy.sh -n dnode1 -i 1
|
||||||
system sh/cfg.sh -n dnode1 -c walLevel -v 1
|
|
||||||
system sh/cfg.sh -n dnode1 -c debugFlag -v 135
|
|
||||||
system sh/cfg.sh -n dnode1 -c rpcDebugFlag -v 135
|
|
||||||
system sh/cfg.sh -n dnode1 -c maxtablespervnode -v 4
|
|
||||||
|
|
||||||
system sh/exec.sh -n dnode1 -s start
|
system sh/exec.sh -n dnode1 -s start
|
||||||
sleep 100
|
|
||||||
sql connect
|
sql connect
|
||||||
|
|
||||||
$dbPrefix = union_db
|
$dbPrefix = union_db
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue