Merge branch '3.0' of https://github.com/taosdata/TDengine into fix/TD-31802
This commit is contained in:
commit
5370b47468
|
@ -2258,6 +2258,7 @@ static int32_t lastIterOpen(SFSLastIter *iter, STFileSet *pFileSet, STsdb *pTsdb
|
|||
int32_t code = 0;
|
||||
destroySttBlockReader(pr->pLDataIterArray, NULL);
|
||||
pr->pLDataIterArray = taosArrayInit(4, POINTER_BYTES);
|
||||
if (pr->pLDataIterArray == NULL) return terrno;
|
||||
|
||||
SMergeTreeConf conf = {
|
||||
.uid = uid,
|
||||
|
|
|
@ -723,6 +723,7 @@ static int32_t loadFileBlockBrinInfo(STsdbReader* pReader, SArray* pIndexList, S
|
|||
while (1) {
|
||||
int32_t code = getNextBrinRecord(&iter, &pRecord);
|
||||
if (code != TSDB_CODE_SUCCESS) {
|
||||
clearBrinBlockIter(&iter);
|
||||
return code;
|
||||
}
|
||||
|
||||
|
@ -757,12 +758,14 @@ static int32_t loadFileBlockBrinInfo(STsdbReader* pReader, SArray* pIndexList, S
|
|||
|
||||
if (!(pRecord->suid == pReader->info.suid && uid == pRecord->uid)) {
|
||||
tsdbError("tsdb failed at: %s:%d", __func__, __LINE__);
|
||||
clearBrinBlockIter(&iter);
|
||||
return TSDB_CODE_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
STableBlockScanInfo* pScanInfo = NULL;
|
||||
code = getTableBlockScanInfo(pReader->status.pTableMap, uid, &pScanInfo, pReader->idStr);
|
||||
if (code != TSDB_CODE_SUCCESS) {
|
||||
clearBrinBlockIter(&iter);
|
||||
return code;
|
||||
}
|
||||
|
||||
|
@ -807,6 +810,7 @@ static int32_t loadFileBlockBrinInfo(STsdbReader* pReader, SArray* pIndexList, S
|
|||
if (pScanInfo->pBlockList == NULL) {
|
||||
pScanInfo->pBlockList = taosArrayInit(4, sizeof(SFileDataBlockInfo));
|
||||
if (pScanInfo->pBlockList == NULL) {
|
||||
clearBrinBlockIter(&iter);
|
||||
return TSDB_CODE_OUT_OF_MEMORY;
|
||||
}
|
||||
}
|
||||
|
@ -814,6 +818,7 @@ static int32_t loadFileBlockBrinInfo(STsdbReader* pReader, SArray* pIndexList, S
|
|||
if (pScanInfo->pBlockIdxList == NULL) {
|
||||
pScanInfo->pBlockIdxList = taosArrayInit(4, sizeof(STableDataBlockIdx));
|
||||
if (pScanInfo->pBlockIdxList == NULL) {
|
||||
clearBrinBlockIter(&iter);
|
||||
return TSDB_CODE_OUT_OF_MEMORY;
|
||||
}
|
||||
}
|
||||
|
@ -822,6 +827,7 @@ static int32_t loadFileBlockBrinInfo(STsdbReader* pReader, SArray* pIndexList, S
|
|||
recordToBlockInfo(&blockInfo, pRecord);
|
||||
void* p1 = taosArrayPush(pScanInfo->pBlockList, &blockInfo);
|
||||
if (p1 == NULL) {
|
||||
clearBrinBlockIter(&iter);
|
||||
return TSDB_CODE_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
|
@ -840,6 +846,7 @@ static int32_t loadFileBlockBrinInfo(STsdbReader* pReader, SArray* pIndexList, S
|
|||
} else {
|
||||
STableBlockScanInfo** p = taosArrayGetLast(pTableScanInfoList);
|
||||
if (p == NULL) {
|
||||
clearBrinBlockIter(&iter);
|
||||
return TSDB_CODE_INVALID_PARA;
|
||||
}
|
||||
|
||||
|
@ -849,6 +856,7 @@ static int32_t loadFileBlockBrinInfo(STsdbReader* pReader, SArray* pIndexList, S
|
|||
}
|
||||
|
||||
if (p1 == NULL) {
|
||||
clearBrinBlockIter(&iter);
|
||||
return TSDB_CODE_OUT_OF_MEMORY;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -254,17 +254,17 @@ static int32_t getSortedBlockData(SSortHandle* pHandle, SSDataBlock* pDataBlock,
|
|||
SSortOperatorInfo* pInfo, SSDataBlock** pResBlock) {
|
||||
QRY_OPTR_CHECK(pResBlock);
|
||||
blockDataCleanup(pDataBlock);
|
||||
int32_t lino = 0;
|
||||
int32_t code = 0;
|
||||
|
||||
SSDataBlock* p = NULL;
|
||||
int32_t code = tsortGetSortedDataBlock(pHandle, &p);
|
||||
code = tsortGetSortedDataBlock(pHandle, &p);
|
||||
if (p == NULL || (code != 0)) {
|
||||
return code;
|
||||
}
|
||||
|
||||
code = blockDataEnsureCapacity(p, capacity);
|
||||
if (code) {
|
||||
return code;
|
||||
}
|
||||
QUERY_CHECK_CODE(code, lino, _error);
|
||||
|
||||
STupleHandle* pTupleHandle;
|
||||
while (1) {
|
||||
|
@ -273,51 +273,40 @@ static int32_t getSortedBlockData(SSortHandle* pHandle, SSDataBlock* pDataBlock,
|
|||
} else {
|
||||
code = tsortNextTuple(pHandle, &pTupleHandle);
|
||||
}
|
||||
|
||||
if (pTupleHandle == NULL || code != 0) {
|
||||
lino = __LINE__;
|
||||
break;
|
||||
}
|
||||
|
||||
code = appendOneRowToDataBlock(p, pTupleHandle);
|
||||
if (code) {
|
||||
return code;
|
||||
}
|
||||
QUERY_CHECK_CODE(code, lino, _error);
|
||||
|
||||
if (p->info.rows >= capacity) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (TSDB_CODE_SUCCESS != code) {
|
||||
return code;
|
||||
}
|
||||
|
||||
QUERY_CHECK_CODE(code, lino, _error);
|
||||
|
||||
if (p->info.rows > 0) {
|
||||
code = blockDataEnsureCapacity(pDataBlock, capacity);
|
||||
if (code) {
|
||||
return code;
|
||||
}
|
||||
QUERY_CHECK_CODE(code, lino, _error);
|
||||
|
||||
// todo extract function to handle this
|
||||
int32_t numOfCols = taosArrayGetSize(pColMatchInfo);
|
||||
for (int32_t i = 0; i < numOfCols; ++i) {
|
||||
SColMatchItem* pmInfo = taosArrayGet(pColMatchInfo, i);
|
||||
if (pmInfo == NULL) {
|
||||
return terrno;
|
||||
}
|
||||
QUERY_CHECK_NULL(pmInfo, code, lino, _error, terrno);
|
||||
|
||||
SColumnInfoData* pSrc = taosArrayGet(p->pDataBlock, pmInfo->srcSlotId);
|
||||
if (pSrc == NULL) {
|
||||
return terrno;
|
||||
}
|
||||
QUERY_CHECK_NULL(pSrc, code, lino, _error, terrno);
|
||||
|
||||
SColumnInfoData* pDst = taosArrayGet(pDataBlock->pDataBlock, pmInfo->dstSlotId);
|
||||
if (pDst == NULL) {
|
||||
return terrno;
|
||||
}
|
||||
QUERY_CHECK_NULL(pDst, code, lino, _error, terrno);
|
||||
|
||||
code = colDataAssign(pDst, pSrc, p->info.rows, &pDataBlock->info);
|
||||
if (code) {
|
||||
return code;
|
||||
}
|
||||
QUERY_CHECK_CODE(code, lino, _error);
|
||||
}
|
||||
|
||||
pDataBlock->info.dataLoad = 1;
|
||||
|
@ -329,6 +318,12 @@ static int32_t getSortedBlockData(SSortHandle* pHandle, SSDataBlock* pDataBlock,
|
|||
blockDataDestroy(p);
|
||||
*pResBlock = (pDataBlock->info.rows > 0) ? pDataBlock : NULL;
|
||||
return code;
|
||||
|
||||
_error:
|
||||
qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
|
||||
|
||||
blockDataDestroy(p);
|
||||
return code;
|
||||
}
|
||||
|
||||
int32_t loadNextDataBlock(void* param, SSDataBlock** ppBlock) {
|
||||
|
@ -384,13 +379,13 @@ int32_t doOpenSortOperator(SOperatorInfo* pOperator) {
|
|||
|
||||
code = tsortOpen(pInfo->pSortHandle);
|
||||
if (code != TSDB_CODE_SUCCESS) {
|
||||
T_LONG_JMP(pTaskInfo->env, code);
|
||||
pTaskInfo->code = code;
|
||||
} else {
|
||||
pOperator->cost.openCost = (taosGetTimestampUs() - pInfo->startTs) / 1000.0;
|
||||
pOperator->status = OP_RES_TO_RETURN;
|
||||
OPTR_SET_OPENED(pOperator);
|
||||
}
|
||||
|
||||
pOperator->cost.openCost = (taosGetTimestampUs() - pInfo->startTs) / 1000.0;
|
||||
pOperator->status = OP_RES_TO_RETURN;
|
||||
|
||||
OPTR_SET_OPENED(pOperator);
|
||||
return code;
|
||||
}
|
||||
|
||||
|
@ -735,6 +730,7 @@ int32_t doGroupSort(SOperatorInfo* pOperator, SSDataBlock** pResBlock) {
|
|||
qError("%s failed at line %d since %s", __func__, __LINE__, tstrerror(code));
|
||||
T_LONG_JMP(pOperator->pTaskInfo->env, code);
|
||||
}
|
||||
|
||||
code = getGroupSortedBlockData(pInfo->pCurrSortHandle, pInfo->binfo.pRes, pOperator->resultInfo.capacity,
|
||||
pInfo->matchInfo.pList, pInfo, &pBlock);
|
||||
if (pBlock != NULL && (code == 0)) {
|
||||
|
|
|
@ -286,23 +286,19 @@ int32_t tsortCreateSortHandle(SArray* pSortInfo, int32_t type, int32_t pageSize,
|
|||
SSDataBlock* pBlock, const char* idstr, uint64_t pqMaxRows, uint32_t pqMaxTupleLength,
|
||||
uint32_t pqSortBufSize, SSortHandle** pHandle) {
|
||||
int32_t code = 0;
|
||||
*pHandle = NULL;
|
||||
int32_t lino = 0;
|
||||
|
||||
QRY_OPTR_CHECK(pHandle);
|
||||
SSortHandle* pSortHandle = taosMemoryCalloc(1, sizeof(SSortHandle));
|
||||
if (pSortHandle == NULL) {
|
||||
return TSDB_CODE_OUT_OF_MEMORY;
|
||||
}
|
||||
QUERY_CHECK_NULL(pSortHandle, code, lino, _err, terrno);
|
||||
|
||||
pSortHandle->type = type;
|
||||
pSortHandle->pageSize = pageSize;
|
||||
pSortHandle->numOfPages = numOfPages;
|
||||
pSortHandle->pSortInfo = taosArrayDup(pSortInfo, NULL);
|
||||
if (pSortHandle->pSortInfo == NULL) {
|
||||
return terrno;
|
||||
}
|
||||
QUERY_CHECK_NULL(pSortHandle->pSortInfo, code, lino, _err, terrno);
|
||||
|
||||
pSortHandle->loops = 0;
|
||||
|
||||
pSortHandle->pqMaxTupleLength = pqMaxTupleLength;
|
||||
if (pqMaxRows != 0) {
|
||||
pSortHandle->pqSortBufSize = pqSortBufSize;
|
||||
|
@ -312,18 +308,13 @@ int32_t tsortCreateSortHandle(SArray* pSortInfo, int32_t type, int32_t pageSize,
|
|||
pSortHandle->forceUsePQSort = false;
|
||||
if (pBlock != NULL) {
|
||||
code = createOneDataBlock(pBlock, false, &pSortHandle->pDataBlock);
|
||||
if (code) {
|
||||
goto _err;
|
||||
}
|
||||
QUERY_CHECK_CODE(code, lino, _err);
|
||||
}
|
||||
|
||||
pSortHandle->mergeLimit = -1;
|
||||
|
||||
pSortHandle->pOrderedSource = taosArrayInit(4, POINTER_BYTES);
|
||||
if (pSortHandle->pOrderedSource == NULL) {
|
||||
code = terrno;
|
||||
goto _err;
|
||||
}
|
||||
QUERY_CHECK_NULL(pSortHandle->pOrderedSource, code, lino, _err, terrno);
|
||||
|
||||
pSortHandle->cmpParam.orderInfo = pSortInfo;
|
||||
pSortHandle->cmpParam.cmpGroupId = false;
|
||||
|
@ -346,17 +337,17 @@ int32_t tsortCreateSortHandle(SArray* pSortInfo, int32_t type, int32_t pageSize,
|
|||
|
||||
if (idstr != NULL) {
|
||||
pSortHandle->idStr = taosStrdup(idstr);
|
||||
if (pSortHandle->idStr == NULL) {
|
||||
code = TSDB_CODE_OUT_OF_MEMORY;
|
||||
goto _err;
|
||||
}
|
||||
QUERY_CHECK_NULL(pSortHandle->idStr, code, lino, _err, terrno);
|
||||
}
|
||||
|
||||
*pHandle = pSortHandle;
|
||||
return code;
|
||||
|
||||
_err:
|
||||
tsortDestroySortHandle(pSortHandle);
|
||||
qError("%s failed at line %d since %s", __func__, lino, tstrerror(code));
|
||||
if (pSortHandle) {
|
||||
tsortDestroySortHandle(pSortHandle);
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
|
|
|
@ -2426,8 +2426,12 @@ static int32_t translateToIso8601(SFunctionNode* pFunc, char* pErrBuf, int32_t l
|
|||
|
||||
// param1
|
||||
if (numOfParams == 2) {
|
||||
SValueNode* pValue = (SValueNode*)nodesListGetNode(pFunc->pParameterList, 1);
|
||||
|
||||
SNode* pNode = (SNode*)nodesListGetNode(pFunc->pParameterList, 1);
|
||||
if (QUERY_NODE_VALUE != nodeType(pNode)) {
|
||||
return buildFuncErrMsg(pErrBuf, len, TSDB_CODE_FUNC_FUNTION_ERROR, "Not supported timzone format");
|
||||
}
|
||||
|
||||
SValueNode* pValue = (SValueNode*)pNode;
|
||||
if (!validateTimezoneFormat(pValue)) {
|
||||
return buildFuncErrMsg(pErrBuf, len, TSDB_CODE_FUNC_FUNTION_ERROR, "Invalid timzone format");
|
||||
}
|
||||
|
|
|
@ -1089,6 +1089,8 @@ void nodesDestroyNode(SNode* pNode) {
|
|||
if (pStmt->destroyParseFileCxt) {
|
||||
pStmt->destroyParseFileCxt(&pStmt->pParFileCxt);
|
||||
}
|
||||
|
||||
(void)taosCloseFile(&pStmt->fp);
|
||||
break;
|
||||
}
|
||||
case QUERY_NODE_CREATE_DATABASE_STMT:
|
||||
|
|
|
@ -5113,7 +5113,7 @@ int32_t fltOptimizeNodes(SFilterInfo *pInfo, SNode **pNode, SFltTreeStat *pStat)
|
|||
FLT_ERR_JRET(fltSclCollectOperators(*pNode, sclOpList));
|
||||
SArray *colRangeList = taosArrayInit(16, sizeof(SFltSclColumnRange));
|
||||
if (NULL == colRangeList) {
|
||||
FLT_ERR_RET(terrno);
|
||||
FLT_ERR_JRET(terrno);
|
||||
}
|
||||
FLT_ERR_JRET(fltSclProcessCNF(sclOpList, colRangeList));
|
||||
pInfo->sclCtx.fltSclRange = colRangeList;
|
||||
|
|
|
@ -766,6 +766,9 @@ static int32_t tlrtrim(char *input, char *remInput, char *output, int32_t inputT
|
|||
if (remLen == 0 || remLen > orgLen) {
|
||||
(void)memcpy(varDataVal(output), orgStr, orgLen);
|
||||
varDataSetLen(output, orgLen);
|
||||
if (needFree) {
|
||||
taosMemoryFree(remStr);
|
||||
}
|
||||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
@ -310,6 +310,7 @@ void tFreeStreamTask(SStreamTask* pTask) {
|
|||
}
|
||||
|
||||
void streamFreeTaskState(SStreamTask* pTask, int8_t remove) {
|
||||
stDebug("s-task:0x%x start to free task state/backend", pTask->id.taskId);
|
||||
if (pTask->pState != NULL) {
|
||||
stDebug("s-task:0x%x start to free task state", pTask->id.taskId);
|
||||
streamStateClose(pTask->pState, remove);
|
||||
|
@ -319,8 +320,11 @@ void streamFreeTaskState(SStreamTask* pTask, int8_t remove) {
|
|||
pTask->pBackend = NULL;
|
||||
pTask->pState = NULL;
|
||||
} else {
|
||||
stDebug("s-task:0x%x task state is NULL, may del backend:%s", pTask->id.taskId,
|
||||
pTask->backendPath ? pTask->backendPath : "NULL");
|
||||
if (remove) {
|
||||
if (pTask->backendPath != NULL) {
|
||||
stDebug("s-task:0x%x task state is NULL, do del backend:%s", pTask->id.taskId, pTask->backendPath);
|
||||
taosRemoveDir(pTask->backendPath);
|
||||
}
|
||||
}
|
||||
|
@ -373,11 +377,11 @@ int32_t streamTaskSetBackendPath(SStreamTask* pTask) {
|
|||
int32_t taskId = 0;
|
||||
|
||||
if (pTask->info.fillHistory) {
|
||||
streamId = pTask->hTaskInfo.id.taskId;
|
||||
taskId = pTask->hTaskInfo.id.taskId;
|
||||
} else {
|
||||
streamId = pTask->streamTaskId.taskId;
|
||||
streamId = pTask->streamTaskId.streamId;
|
||||
taskId = pTask->streamTaskId.taskId;
|
||||
} else {
|
||||
streamId = pTask->id.streamId;
|
||||
taskId = pTask->id.taskId;
|
||||
}
|
||||
|
||||
char id[128] = {0};
|
||||
|
@ -393,6 +397,7 @@ int32_t streamTaskSetBackendPath(SStreamTask* pTask) {
|
|||
}
|
||||
|
||||
(void)sprintf(pTask->backendPath, "%s%s%s", pTask->pMeta->path, TD_DIRSEP, id);
|
||||
stDebug("s-task:%s set backend path:%s", pTask->id.idStr, pTask->backendPath);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -253,20 +253,20 @@ static void cliWalkCb(uv_handle_t* handle, void* arg);
|
|||
#define CONN_PERSIST_TIME(para) ((para) <= 90000 ? 90000 : (para))
|
||||
#define CONN_GET_INST_LABEL(conn) (((STrans*)(((SCliThrd*)(conn)->hostThrd)->pTransInst))->label)
|
||||
|
||||
#define CONN_GET_MSGCTX_BY_AHANDLE(conn, ahandle) \
|
||||
do { \
|
||||
int i = 0, sz = transQueueSize(&conn->cliMsgs); \
|
||||
for (; i < sz; i++) { \
|
||||
pMsg = transQueueGet(&conn->cliMsgs, i); \
|
||||
if (pMsg->ctx != NULL && (uint64_t)pMsg->ctx->ahandle == ahandle) { \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
if (i == sz) { \
|
||||
pMsg = NULL; \
|
||||
} else { \
|
||||
pMsg = transQueueRm(&conn->cliMsgs, i); \
|
||||
} \
|
||||
#define CONN_GET_MSGCTX_BY_AHANDLE(conn, ahandle) \
|
||||
do { \
|
||||
int i = 0, sz = transQueueSize(&conn->cliMsgs); \
|
||||
for (; i < sz; i++) { \
|
||||
pMsg = transQueueGet(&conn->cliMsgs, i); \
|
||||
if (pMsg->msg.msgType != TDMT_SCH_DROP_TASK && pMsg->ctx != NULL && (uint64_t)pMsg->ctx->ahandle == ahandle) { \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
if (i == sz) { \
|
||||
pMsg = NULL; \
|
||||
} else { \
|
||||
pMsg = transQueueRm(&conn->cliMsgs, i); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define CONN_GET_NEXT_SENDMSG(conn) \
|
||||
|
|
|
@ -374,6 +374,7 @@ static LRUStatus taosLRUCacheShardInsertEntry(SLRUCacheShard *shard, SLRUEntry *
|
|||
LRUStatus status = TAOS_LRU_STATUS_OK;
|
||||
SArray *lastReferenceList = taosArrayInit(16, POINTER_BYTES);
|
||||
if (!lastReferenceList) {
|
||||
taosLRUEntryFree(e);
|
||||
return TAOS_LRU_STATUS_FAIL;
|
||||
}
|
||||
|
||||
|
@ -385,13 +386,12 @@ static LRUStatus taosLRUCacheShardInsertEntry(SLRUCacheShard *shard, SLRUEntry *
|
|||
TAOS_LRU_ENTRY_SET_IN_CACHE(e, false);
|
||||
if (handle == NULL) {
|
||||
if (!taosArrayPush(lastReferenceList, &e)) {
|
||||
(void)taosThreadMutexUnlock(&shard->mutex);
|
||||
taosLRUEntryFree(e);
|
||||
return status;
|
||||
goto _exit;
|
||||
}
|
||||
} else {
|
||||
if (freeOnFail) {
|
||||
taosMemoryFree(e);
|
||||
taosLRUEntryFree(e);
|
||||
|
||||
*handle = NULL;
|
||||
}
|
||||
|
@ -410,9 +410,9 @@ static LRUStatus taosLRUCacheShardInsertEntry(SLRUCacheShard *shard, SLRUEntry *
|
|||
shard->usage -= old->totalCharge;
|
||||
|
||||
if (!taosArrayPush(lastReferenceList, &old)) {
|
||||
(void)taosThreadMutexUnlock(&shard->mutex);
|
||||
taosLRUEntryFree(e);
|
||||
taosLRUEntryFree(old);
|
||||
return status;
|
||||
goto _exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -427,6 +427,7 @@ static LRUStatus taosLRUCacheShardInsertEntry(SLRUCacheShard *shard, SLRUEntry *
|
|||
}
|
||||
}
|
||||
|
||||
_exit:
|
||||
(void)taosThreadMutexUnlock(&shard->mutex);
|
||||
|
||||
for (int i = 0; i < taosArrayGetSize(lastReferenceList); ++i) {
|
||||
|
|
|
@ -46,4 +46,67 @@
|
|||
228
|
||||
117
|
||||
112
|
||||
110
|
||||
110
|
||||
116
|
||||
116
|
||||
39
|
||||
108
|
||||
120
|
||||
108
|
||||
120
|
||||
108
|
||||
116
|
||||
104
|
||||
116
|
||||
116
|
||||
104
|
||||
108
|
||||
120
|
||||
108
|
||||
120
|
||||
108
|
||||
116
|
||||
104
|
||||
116
|
||||
116
|
||||
104
|
||||
110
|
||||
228
|
||||
117
|
||||
112
|
||||
110
|
||||
110
|
||||
97
|
||||
228
|
||||
110
|
||||
97
|
||||
110
|
||||
228
|
||||
117
|
||||
112
|
||||
110
|
||||
110
|
||||
97
|
||||
228
|
||||
110
|
||||
97
|
||||
110
|
||||
112
|
||||
110
|
||||
112
|
||||
228
|
||||
117
|
||||
112
|
||||
112
|
||||
112
|
||||
112
|
||||
110
|
||||
112
|
||||
110
|
||||
112
|
||||
228
|
||||
117
|
||||
112
|
||||
112
|
||||
112
|
||||
112
|
||||
|
|
|
|
@ -36,4 +36,8 @@ MMMMM
|
|||
NNNNN
|
||||
OOOOO
|
||||
PPPPP
|
||||
QQQQQ
|
||||
QQQQQ
|
||||
M
|
||||
MM
|
||||
{
|
||||
M{
|
||||
|
|
|
|
@ -46,4 +46,48 @@
|
|||
10
|
||||
6
|
||||
7
|
||||
5
|
||||
5
|
||||
4
|
||||
2
|
||||
6
|
||||
5
|
||||
5
|
||||
10
|
||||
6
|
||||
7
|
||||
5
|
||||
5
|
||||
5
|
||||
10
|
||||
5
|
||||
5
|
||||
5
|
||||
10
|
||||
6
|
||||
7
|
||||
5
|
||||
5
|
||||
5
|
||||
10
|
||||
5
|
||||
5
|
||||
5
|
||||
6
|
||||
5
|
||||
5
|
||||
10
|
||||
6
|
||||
7
|
||||
6
|
||||
7
|
||||
5
|
||||
5
|
||||
6
|
||||
5
|
||||
5
|
||||
10
|
||||
6
|
||||
7
|
||||
6
|
||||
7
|
||||
5
|
||||
|
|
|
|
@ -73,4 +73,27 @@
|
|||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
4
|
||||
4
|
||||
2
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
6
|
||||
|
|
|
|
@ -42,4 +42,25 @@
|
|||
57.295779513082323
|
||||
81.028468454139556
|
||||
99.239201175922574
|
||||
114.591559026164646
|
||||
114.591559026164646
|
||||
180
|
||||
610.200029957721426
|
||||
491.254034090376820
|
||||
561.212164701962479
|
||||
643.603479905018958
|
||||
613.408634263739941
|
||||
487.472513516777667
|
||||
549.810284033650078
|
||||
628.076328902558998
|
||||
643.202411196955836
|
||||
592.266466706882511
|
||||
610.200029957721426
|
||||
491.254034090376820
|
||||
561.212164701962479
|
||||
643.603479905018958
|
||||
613.408634263739941
|
||||
487.472513516777667
|
||||
549.810284033650078
|
||||
628.076328902558998
|
||||
643.202411196955836
|
||||
592.266466706882511
|
||||
|
|
|
|
@ -41,4 +41,26 @@
|
|||
4.113250378782928
|
||||
5.652233674034091
|
||||
7.389056098930650
|
||||
3814279.104760214220732
|
||||
3814279.104760214220732
|
||||
7.38905609893065
|
||||
1.6487212707001282
|
||||
42192.578453635847836
|
||||
5292.258432380726845
|
||||
17943.802618770550907
|
||||
75583.992598717435612
|
||||
44622.804904812772293
|
||||
4954.246535954979663
|
||||
14705.836248958077704
|
||||
57641.604897186582093
|
||||
75056.754435561466380
|
||||
30853.327779395312973
|
||||
42192.578453635847836
|
||||
5292.258432380726845
|
||||
17943.802618770550907
|
||||
75583.992598717435612
|
||||
44622.804904812772293
|
||||
4954.246535954979663
|
||||
14705.836248958077704
|
||||
57641.604897186582093
|
||||
75056.754435561466380
|
||||
30853.327779395312973
|
||||
|
|
|
|
@ -38,4 +38,26 @@
|
|||
1.005052538742381
|
||||
1.098612288668110
|
||||
-0.226079864157595
|
||||
2.000000000000000
|
||||
2.000000000000000
|
||||
2.302585092994046
|
||||
1.144729885849400
|
||||
2.365559856336680
|
||||
2.148734409997751
|
||||
2.281872059185575
|
||||
2.418855857000369
|
||||
2.370804362614190
|
||||
2.141006941277850
|
||||
2.261346315560232
|
||||
2.394434736880126
|
||||
2.418232501568406
|
||||
2.335729681253415
|
||||
2.365559856336680
|
||||
2.148734409997751
|
||||
2.281872059185575
|
||||
2.418855857000369
|
||||
2.370804362614190
|
||||
2.141006941277850
|
||||
2.261346315560232
|
||||
2.394434736880126
|
||||
2.418232501568406
|
||||
2.335729681253415
|
||||
|
|
|
|
@ -48,3 +48,25 @@
|
|||
3.310891102586806e+00
|
||||
3.350522322288470e+00
|
||||
3.215120509901375e+00
|
||||
1
|
||||
1
|
||||
0
|
||||
1
|
||||
2
|
||||
0
|
||||
1
|
||||
2
|
||||
0
|
||||
1
|
||||
2
|
||||
0
|
||||
0
|
||||
1
|
||||
2
|
||||
0
|
||||
1
|
||||
2
|
||||
0
|
||||
1
|
||||
2
|
||||
0
|
||||
|
|
|
|
@ -24,4 +24,5 @@
|
|||
3.141592653589793
|
||||
9.869604401089358
|
||||
1.772453850905516
|
||||
3
|
||||
3
|
||||
3.141592653589793
|
||||
|
|
|
|
@ -90,3 +90,87 @@
|
|||
1
|
||||
1
|
||||
1.000000000000000e+00
|
||||
1
|
||||
0
|
||||
1
|
||||
1
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
4
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
4
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
4
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
4
|
||||
0
|
||||
4
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
4
|
||||
0
|
||||
4
|
||||
0
|
||||
0
|
||||
5
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
4
|
||||
0
|
||||
0
|
||||
5
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
|
|
|
|
@ -42,4 +42,25 @@
|
|||
0.017453292519943
|
||||
0.024682682989769
|
||||
0.030229989403904
|
||||
0.034906585039887
|
||||
0.034906585039887
|
||||
3.141592653589793
|
||||
0.185877558679493
|
||||
0.149644536324422
|
||||
0.170955001564425
|
||||
0.196052831414414
|
||||
0.186854955444309
|
||||
0.148492619284422
|
||||
0.167481790094528
|
||||
0.191322990739406
|
||||
0.195930658899406
|
||||
0.180414682914441
|
||||
0.185877558679493
|
||||
0.149644536324422
|
||||
0.170955001564425
|
||||
0.196052831414414
|
||||
0.186854955444309
|
||||
0.148492619284422
|
||||
0.167481790094528
|
||||
0.191322990739406
|
||||
0.195930658899406
|
||||
0.180414682914441
|
||||
|
|
|
|
@ -56,4 +56,106 @@ var1
|
|||
var1var1
|
||||
var1var1var1
|
||||
var1var1var1var1
|
||||
var1var1var1var1var1
|
||||
var1var1var1var1var1
|
||||
taos
|
||||
taostaos
|
||||
lililililili
|
||||
xxx
|
||||
lililililili
|
||||
xxx
|
||||
lililililili
|
||||
taostaostaos
|
||||
hahahahahaha
|
||||
taostaostaos
|
||||
taostaostaos
|
||||
hahahahahaha
|
||||
lililililili
|
||||
xxx
|
||||
lililililili
|
||||
xxx
|
||||
lililililili
|
||||
taostaostaos
|
||||
hahahahahaha
|
||||
taostaostaos
|
||||
taostaostaos
|
||||
hahahahahaha
|
||||
novelnovelnovel
|
||||
一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十
|
||||
updateupdateupdate
|
||||
prisionprisionprision
|
||||
novelnovelnovel
|
||||
novelnovelnovel
|
||||
againagainagain
|
||||
一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十
|
||||
novelnovelnovel
|
||||
againagainagain
|
||||
novelnovelnovel
|
||||
一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十
|
||||
updateupdateupdate
|
||||
prisionprisionprision
|
||||
novelnovelnovel
|
||||
novelnovelnovel
|
||||
againagainagain
|
||||
一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十
|
||||
novelnovelnovel
|
||||
againagainagain
|
||||
novelnovelnovel
|
||||
personpersonperson
|
||||
novelnovelnovel
|
||||
plateplateplate
|
||||
一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十
|
||||
updateupdateupdate
|
||||
prisionprisionprision
|
||||
personpersonperson
|
||||
prisionprisionprision
|
||||
plateplateplate
|
||||
novelnovelnovel
|
||||
personpersonperson
|
||||
novelnovelnovel
|
||||
plateplateplate
|
||||
一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十
|
||||
updateupdateupdate
|
||||
prisionprisionprision
|
||||
personpersonperson
|
||||
prisionprisionprision
|
||||
plateplateplate
|
||||
lili
|
||||
x
|
||||
lili
|
||||
x
|
||||
lili
|
||||
taos
|
||||
haha
|
||||
taos
|
||||
taos
|
||||
haha
|
||||
lili
|
||||
x
|
||||
lili
|
||||
x
|
||||
lili
|
||||
taos
|
||||
haha
|
||||
taos
|
||||
taos
|
||||
haha
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
|
|
|
|
@ -368,4 +368,109 @@ e二三四五六七abcdefghijk213124123
|
|||
一二三四五六七abcdefghijk213124123
|
||||
一二三四五六七abcdefghijk213124123
|
||||
一二三四五六七abcdefghijk213124123
|
||||
一二三四五六七abcdefghijk213124123
|
||||
一二三四五六七abcdefghijk213124123
|
||||
eebbccdd
|
||||
aabbccdd
|
||||
南京
|
||||
北南
|
||||
南京taos
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novtl
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novtl
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
novtl
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novtl
|
||||
again
|
||||
novtl
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novtl
|
||||
again
|
||||
novel
|
||||
person
|
||||
novel
|
||||
plate
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
person
|
||||
prision
|
||||
plate
|
||||
novel
|
||||
person
|
||||
novel
|
||||
plate
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
person
|
||||
prision
|
||||
plate
|
||||
novtl
|
||||
person
|
||||
novel
|
||||
platt
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
person
|
||||
prision
|
||||
plate
|
||||
novtl
|
||||
person
|
||||
novel
|
||||
platt
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
person
|
||||
prision
|
||||
plate
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
nov一二三四五六七八九十l
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
nov一二三四五六七八九十l
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
|
|
|
|
@ -62,4 +62,33 @@
|
|||
9.6000004
|
||||
11.0000000
|
||||
11.1999998
|
||||
10.3000002
|
||||
10.3000002
|
||||
10.55
|
||||
10.55
|
||||
10.6
|
||||
11
|
||||
11
|
||||
10
|
||||
0
|
||||
-10.6
|
||||
99
|
||||
11
|
||||
9
|
||||
10
|
||||
11
|
||||
11
|
||||
9
|
||||
10
|
||||
11
|
||||
11
|
||||
10
|
||||
11
|
||||
9
|
||||
10
|
||||
11
|
||||
11
|
||||
9
|
||||
10
|
||||
11
|
||||
11
|
||||
10
|
||||
|
|
|
|
@ -43,4 +43,28 @@
|
|||
1.000000000000000
|
||||
1.000000000000000
|
||||
1.000000000000000
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
-1
|
||||
-1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
|
|
|
|
@ -30,4 +30,8 @@
|
|||
8.077747210701755
|
||||
8.077747210701755
|
||||
8.077747210701755
|
||||
8.077747210701755
|
||||
8.077747210701755
|
||||
2886.751331514371941
|
||||
2886.751331514371941
|
||||
1.154339668872967
|
||||
1.154339668872967
|
||||
|
|
|
|
@ -445,4 +445,51 @@ bc一二三abc一二三a
|
|||
rision
|
||||
rision
|
||||
bc一二三abc一二三a
|
||||
二三123321三二一
|
||||
二三123321三二一
|
||||
dengine
|
||||
e
|
||||
tde
|
||||
dengine
|
||||
e
|
||||
中国
|
||||
中国t
|
||||
novel
|
||||
perso
|
||||
novel
|
||||
plate
|
||||
一二三四五
|
||||
updat
|
||||
prisi
|
||||
perso
|
||||
prisi
|
||||
plate
|
||||
novel
|
||||
perso
|
||||
novel
|
||||
plate
|
||||
一二三四五
|
||||
updat
|
||||
prisi
|
||||
perso
|
||||
prisi
|
||||
plate
|
||||
novel
|
||||
一二三四五
|
||||
updat
|
||||
prisi
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五
|
||||
novel
|
||||
again
|
||||
novel
|
||||
一二三四五
|
||||
updat
|
||||
prisi
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五
|
||||
novel
|
||||
again
|
||||
|
|
|
|
@ -188,4 +188,108 @@ a一二三a一二三bbcfp
|
|||
一二三123321三二一
|
||||
一二三123321三二一
|
||||
一二三123321三二一
|
||||
一二三123321三二一
|
||||
一二三123321三二一
|
||||
www.taosdata
|
||||
taosdata.com
|
||||
中国.科学
|
||||
北京。涛思
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
ag
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
ag
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
ag
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
ag
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
novel
|
||||
person
|
||||
novel
|
||||
plate
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
person
|
||||
prision
|
||||
plate
|
||||
novel
|
||||
person
|
||||
novel
|
||||
plate
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
person
|
||||
prision
|
||||
plate
|
||||
novel
|
||||
person
|
||||
novel
|
||||
plate
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
person
|
||||
prision
|
||||
plate
|
||||
novel
|
||||
person
|
||||
novel
|
||||
plate
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
person
|
||||
prision
|
||||
plate
|
||||
|
|
|
|
@ -295,4 +295,40 @@
|
|||
372
|
||||
372
|
||||
372
|
||||
372
|
||||
372
|
||||
-10
|
||||
31536000
|
||||
3000
|
||||
43200
|
||||
720
|
||||
30
|
||||
4
|
||||
2592000000
|
||||
2592000
|
||||
2592000
|
||||
60
|
||||
60
|
||||
79774389
|
||||
-79774389
|
||||
79774389
|
||||
-79774389
|
||||
-220769589123
|
||||
-220766589123
|
||||
-220763589123
|
||||
-220760589123
|
||||
-220757589123
|
||||
-220754589123
|
||||
-220751589123
|
||||
-220748589123
|
||||
-220745589123
|
||||
-220742589123
|
||||
-220769589123
|
||||
-220766589123
|
||||
-220763589123
|
||||
-220760589123
|
||||
-220757589123
|
||||
-220754589123
|
||||
-220751589123
|
||||
-220748589123
|
||||
-220745589123
|
||||
-220742589123
|
||||
|
|
|
|
@ -353,4 +353,101 @@ bbcfp三a
|
|||
三abbcfp三a
|
||||
三abbcfp三a
|
||||
三abbcfp三a
|
||||
三abbcfp三a
|
||||
三abbcfp三a
|
||||
A
|
||||
涛思
|
||||
b bbb
|
||||
aaa
|
||||
aaa abab aaaa
|
||||
abab aaaa
|
||||
京涛思数据科技有限公司北
|
||||
bei京涛思数据科技有限公司北
|
||||
aaa abab aaaa
|
||||
aaa abab
|
||||
aaa abab
|
||||
北京涛思数据科技有限公司
|
||||
北京涛思数据科技有限公司bei
|
||||
aaa abab aaaa
|
||||
aaa abab aaaa
|
||||
abab
|
||||
京涛思数据科技有限公司
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
novel
|
||||
person
|
||||
novel
|
||||
plate
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
person
|
||||
prision
|
||||
plate
|
||||
novel
|
||||
person
|
||||
novel
|
||||
plate
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
person
|
||||
prision
|
||||
plate
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
novel
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
novel
|
||||
novel
|
||||
again
|
||||
一二三四五六七八九十
|
||||
novel
|
||||
again
|
||||
novel
|
||||
person
|
||||
novel
|
||||
plat
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
person
|
||||
prision
|
||||
plate
|
||||
novel
|
||||
person
|
||||
novel
|
||||
plat
|
||||
一二三四五六七八九十
|
||||
update
|
||||
prision
|
||||
person
|
||||
prision
|
||||
plate
|
||||
|
|
|
|
@ -79,4 +79,51 @@
|
|||
9.5000000
|
||||
10.8999996
|
||||
11.1999998
|
||||
10.3000002
|
||||
10.3000002
|
||||
99.99
|
||||
99.99
|
||||
99.9
|
||||
99
|
||||
90
|
||||
0
|
||||
99
|
||||
10.6
|
||||
8.5
|
||||
9.7
|
||||
11.2
|
||||
10.7
|
||||
8.5
|
||||
9.5
|
||||
10.9
|
||||
11.2
|
||||
10.3
|
||||
10.6
|
||||
8.5
|
||||
9.7
|
||||
11.2
|
||||
10.7
|
||||
8.5
|
||||
9.5
|
||||
10.9
|
||||
11.2
|
||||
10.3
|
||||
10.6
|
||||
8.5
|
||||
9.7
|
||||
11.2
|
||||
10.7
|
||||
8.5
|
||||
9.5
|
||||
10.9
|
||||
11.2
|
||||
10.3
|
||||
10.6
|
||||
8.5
|
||||
9.7
|
||||
11.2
|
||||
10.7
|
||||
8.5
|
||||
9.5
|
||||
10.9
|
||||
11.2
|
||||
10.3
|
||||
|
|
|
|
@ -30,4 +30,8 @@
|
|||
65.250000000000000
|
||||
65.250000000000000
|
||||
65.250000000000000
|
||||
65.250000000000000
|
||||
65.250000000000000
|
||||
8333333.250000000000000
|
||||
8333333.250000000000000
|
||||
1.332500071133751
|
||||
1.332500071133751
|
||||
|
|
|
|
@ -140,4 +140,35 @@
|
|||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
0
|
||||
0
|
||||
0
|
||||
52
|
||||
52
|
||||
0
|
||||
0
|
||||
52
|
||||
52
|
||||
3
|
||||
52
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
|
|
|
|
@ -73,4 +73,28 @@
|
|||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
2
|
||||
2
|
||||
0
|
||||
2
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
4
|
||||
|
|
|
|
@ -73,4 +73,27 @@
|
|||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
1
|
||||
4
|
||||
29
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
28
|
||||
|
|
|
|
@ -0,0 +1,5 @@
|
|||
select ascii();
|
||||
select ascii(123);
|
||||
select ascii(1);
|
||||
select ascii(2);
|
||||
select ascii(1.5);
|
|
@ -14,4 +14,13 @@ select ASCII(concat(nch1,var1)) from ts_4893.meters order by ts limit 5;
|
|||
select ASCII(cast(nch1 as varchar)) from ts_4893.meters order by ts limit 5;
|
||||
select pow(ASCII(nch1), 2) from ts_4893.meters order by ts limit 5;
|
||||
select sqrt(ASCII(nch1)) from ts_4893.meters order by ts limit 5;
|
||||
select cast(ASCII(nch1) as int) from ts_4893.meters order by ts limit 5;
|
||||
select cast(ASCII(nch1) as int) from ts_4893.meters order by ts limit 5;
|
||||
select ascii('taos');
|
||||
select ascii('t');
|
||||
select ascii('\'');
|
||||
select ascii(name) from ts_4893.d0 order by ts limit 10;
|
||||
select ascii(name) from ts_4893.meters order by ts limit 10;
|
||||
select ascii(nch1) from ts_4893.d0 order by ts limit 10;
|
||||
select ascii(nch1) from ts_4893.meters order by ts limit 10;
|
||||
select ascii(var1) from ts_4893.d0 order by ts limit 10;
|
||||
select ascii(var1) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
select char();
|
|
@ -9,3 +9,7 @@ select cast(CHAR(49) as int);
|
|||
select CHAR(id + 77) from ts_4893.meters order by ts limit 5;;
|
||||
select CONCAT(CHAR(id + 77),CHAR(id + 77),CHAR(id + 77)) from ts_4893.meters limit 5;
|
||||
select CHAR(id+77, id+77, id+77, id+77, id+77) from ts_4893.meters limit 5;
|
||||
select char(77);
|
||||
select char(77 * 256 + 77);
|
||||
select char('123');
|
||||
select char(77, NULL, '123');
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
select char_length();
|
||||
select char_length('tao's');
|
||||
select char_length(123.45);
|
||||
select char_length(123.45.67);
|
||||
select char_length('a', 'b');
|
|
@ -14,4 +14,12 @@ select CHAR_LENGTH(concat(nch1,var1)) from ts_4893.meters order by ts limit 5;
|
|||
select CHAR_LENGTH(cast(nch1 as varchar)) from ts_4893.meters order by ts limit 5;
|
||||
select pow(CHAR_LENGTH(nch1), 2) from ts_4893.meters order by ts limit 5;
|
||||
select sqrt(CHAR_LENGTH(nch1)) from ts_4893.meters order by ts limit 5;
|
||||
select cast(CHAR_LENGTH(nch1) as int) from ts_4893.meters order by ts limit 5;
|
||||
select cast(CHAR_LENGTH(nch1) as int) from ts_4893.meters order by ts limit 5;
|
||||
select char_length('taos');
|
||||
select char_length('涛思');
|
||||
select char_length('涛思taos');
|
||||
select char_length('tao\'s');
|
||||
select char_length(nch1) from ts_4893.d0 limit 10;
|
||||
select char_length(nch1) from ts_4893.meters limit 10;
|
||||
select char_length(var1) from ts_4893.d0 limit 10;
|
||||
select char_length(var1) from ts_4893.meters limit 10;
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
select dayofweek();
|
||||
select dayofweek('2020-01-01',1);
|
|
@ -10,4 +10,9 @@ select DAYOFWEEK('2000-01-06 00:00:00');
|
|||
select DAYOFWEEK('2000-01-06 00:00:00') from ts_4893.meters order by ts limit 10;
|
||||
select DAYOFWEEK(1725095657);
|
||||
select DAYOFWEEK(1725095657) from ts_4893.meters order by ts limit 10;
|
||||
select DAYOFWEEK(ts) from ts_4893.meters order by ts limit 10;
|
||||
select DAYOFWEEK(ts) from ts_4893.meters order by ts limit 10;
|
||||
select dayofweek('2020-01-01');
|
||||
select dayofweek(1721020666);
|
||||
select dayofweek(1721020666229);
|
||||
select dayofweek(ts) from ts_4893.d0 order by ts limit 10;
|
||||
select dayofweek(ts) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
select degrees();
|
||||
select degrees('abc');
|
|
@ -26,4 +26,7 @@ select abs(DEGREES(10));
|
|||
select pow(DEGREES(10), 2);
|
||||
select sqrt(DEGREES(10));
|
||||
select cast(DEGREES(10) as int);
|
||||
select DEGREES(sqrt(id)) from ts_4893.meters order by ts limit 5;
|
||||
select DEGREES(sqrt(id)) from ts_4893.meters order by ts limit 5;
|
||||
select degrees(pi());
|
||||
select degrees(current) from ts_4893.d0 order by ts limit 10;
|
||||
select degrees(current) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
select exp();
|
||||
select exp('1');
|
|
@ -25,4 +25,8 @@ select pow(EXP(10), 2);
|
|||
select sqrt(EXP(10));
|
||||
select cast(EXP(10) as int);
|
||||
select EXP(sqrt(id)) from ts_4893.meters order by ts limit 5;
|
||||
select EXP(EXP(EXP(EXP(0))));
|
||||
select EXP(EXP(EXP(EXP(0))));
|
||||
select exp(2);
|
||||
select exp(0.5);
|
||||
select exp(current) from ts_4893.d0 order by ts limit 10;
|
||||
select exp(current) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
select ln();
|
||||
select ln('1');
|
|
@ -22,4 +22,8 @@ select sqrt(LN(10));
|
|||
select cast(LN(10) as int);
|
||||
select LN(sqrt(id) + 1) from ts_4893.meters order by ts limit 5;
|
||||
select LN(LN(LN(LN(10000))));
|
||||
select LN(EXP(2));
|
||||
select LN(EXP(2));
|
||||
select ln(10);
|
||||
select ln(pi());
|
||||
select ln(current) from ts_4893.d0 order by ts limit 10;
|
||||
select ln(current) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
select mod();
|
||||
select mod(, 2);
|
||||
select mod(10, );
|
||||
select mod(10, 'a');
|
||||
select mod('abc', 3);
|
||||
select mod(10, 3, 1);
|
|
@ -11,4 +11,8 @@ select MOD(MOD(MOD(MOD(MOD(MOD(MOD(123456789.123456789, -1), -2), -3), -4), -5),
|
|||
select MOD(87654321.123456789, id + 1) from ts_4893.meters order by ts limit 10;
|
||||
select MOD(current, id + 1) from ts_4893.meters order by ts limit 10;
|
||||
select MOD(current, 1) from ts_4893.meters order by ts limit 10;
|
||||
select MOD(sqrt(current), abs(id + 1)) from ts_4893.meters order by ts limit 10;
|
||||
select MOD(sqrt(current), abs(id + 1)) from ts_4893.meters order by ts limit 10;
|
||||
select mod(10, -3);
|
||||
select mod(10, 3);
|
||||
select mod(id, 3) from ts_4893.d0 order by ts limit 10;
|
||||
select mod(id, 3) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
select pi('111');
|
||||
select pi(123);
|
|
@ -16,4 +16,5 @@ select pi() + id from ts_4893.meters order by ts limit 5;
|
|||
select abs(pi());
|
||||
select pow(pi(), 2);
|
||||
select sqrt(pi());
|
||||
select cast(pi() as int);
|
||||
select cast(pi() as int);
|
||||
select pi();
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
select position('t' in);
|
||||
select position(in 'taos');
|
||||
select position(1 in 2213);
|
||||
select position(1 in '2213');
|
||||
select position('1' in 2213);
|
|
@ -25,4 +25,16 @@ select POSITION(var2 IN 'abcdefghijklmn') from ts_4893.meters where POSITION(var
|
|||
select POSITION(nch2 IN '一二三四五六七八九十') from ts_4893.meters where POSITION(nch2 IN '一二三四五六七八九十') != 0 order by ts limit 5;
|
||||
select POSITION(var2 IN '一二三四五六七八九十') from ts_4893.meters where POSITION(var2 IN '一二三四五六七八九十') != 0 order by ts limit 5;
|
||||
select ABS(POSITION('aaa' IN 'aaaaaaaaa'));
|
||||
select POW(POSITION('aaa' IN 'aaaaaaaaa'), 2);
|
||||
select POW(POSITION('aaa' IN 'aaaaaaaaa'), 2);
|
||||
select position('t' in 'taos');
|
||||
select position('ustc' in 'taos');
|
||||
select position('' in '');
|
||||
select position('' in 'taos');
|
||||
select position(nch2 in nch1) from ts_4893.d0 order by ts limit 10;
|
||||
select position(nch2 in nch1) from ts_4893.meters order by ts limit 10;
|
||||
select position(nch2 in var1) from ts_4893.d0 order by ts limit 10;
|
||||
select position(nch2 in var1) from ts_4893.meters order by ts limit 10;
|
||||
select position(var2 in nch1) from ts_4893.d0 order by ts limit 10;
|
||||
select position(var2 in nch1) from ts_4893.meters order by ts limit 10;
|
||||
select position(var2 in var1) from ts_4893.d0 order by ts limit 10;
|
||||
select position(var2 in var1) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
select radians();
|
||||
select radians('abc');
|
|
@ -26,4 +26,7 @@ select abs(RADIANS(10));
|
|||
select pow(RADIANS(10), 2);
|
||||
select sqrt(RADIANS(10));
|
||||
select cast(RADIANS(10) as int);
|
||||
select RADIANS(sqrt(id)) from ts_4893.meters order by ts limit 5;
|
||||
select RADIANS(sqrt(id)) from ts_4893.meters order by ts limit 5;
|
||||
select radians(180);
|
||||
select radians(current) from ts_4893.d0 order by ts limit 10;
|
||||
select radians(current) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
select repeat();
|
||||
select repeat('taos', );
|
||||
select repeat(, 3);
|
||||
select repeat('taos');
|
||||
select repeat(1);
|
||||
select repeat(taos, 1);
|
||||
select repeat(123, 2);
|
||||
select repeat('taos', 1.5);
|
||||
select repeat('taos', 1.4);
|
||||
select repeat('taos', 12, 3);
|
||||
select repeat(id, 3) from ts_4893.meters;
|
|
@ -16,4 +16,16 @@ select position(var1 in repeat(nch1,6)) from ts_4893.meters where nch1 = var1 or
|
|||
select repeat(nch1, id) from ts_4893.meters where id > 0 order by ts limit 5;
|
||||
select repeat(var1, id) from ts_4893.meters where id > 0 order by ts limit 5;
|
||||
select repeat('nch1', id) from ts_4893.meters where id > 0 order by ts limit 5;
|
||||
select repeat('var1', id) from ts_4893.meters where id > 0 order by ts limit 5;
|
||||
select repeat('var1', id) from ts_4893.meters where id > 0 order by ts limit 5;
|
||||
select repeat('taos', 1);
|
||||
select repeat('taos', 2);
|
||||
select repeat(name, 3) from ts_4893.d0 order by ts limit 10;
|
||||
select repeat(name, 3) from ts_4893.meters order by ts limit 10;
|
||||
select repeat(nch1, 3) from ts_4893.d0 order by ts limit 10;
|
||||
select repeat(nch1, 3) from ts_4893.meters order by ts limit 10;
|
||||
select repeat(var1, 3) from ts_4893.d0 order by ts limit 10;
|
||||
select repeat(var1, 3) from ts_4893.meters order by ts limit 10;
|
||||
select repeat(name, groupid) from ts_4893.d0 order by ts limit 10;
|
||||
select repeat(name, groupid) from ts_4893.meters order by ts limit 10;
|
||||
select repeat(nch1, groupid) from ts_4893.d0 order by ts limit 10;
|
||||
select repeat(nch1, groupid) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
select replace();
|
||||
select replace('aabbccdd', , 'ee');
|
||||
select replace('aabbccdd', 'aa', );
|
||||
select replace(, 'aa', 'ee');
|
||||
select replace(123345, 1, 'ee');
|
||||
select replace('aabbccdd', 1, 'ee');
|
||||
select replace('aabbccdd', 'a', 1);
|
|
@ -80,4 +80,19 @@ select replace('一二三四五六七abcdefghijk213124123', var2, 'var2') from t
|
|||
select replace('一二三四五六七abcdefghijk213124123', var2, 'var2') from ts_4893.meters where position(var2 IN '一二三四五六七abcdefghijk213124123') = 0 order by ts limit 5;
|
||||
select replace('一二三四五六七abcdefghijk213124123', var2, nch2) from ts_4893.meters order by ts limit 5;
|
||||
select replace('一二三四五六七abcdefghijk213124123', var2, nch2) from ts_4893.meters where position(var2 IN '一二三四五六七abcdefghijk213124123') != 0 order by ts limit 5;
|
||||
select replace('一二三四五六七abcdefghijk213124123', var2, nch2) from ts_4893.meters where position(var2 IN '一二三四五六七abcdefghijk213124123') = 0 order by ts limit 5;
|
||||
select replace('一二三四五六七abcdefghijk213124123', var2, nch2) from ts_4893.meters where position(var2 IN '一二三四五六七abcdefghijk213124123') = 0 order by ts limit 5;
|
||||
select replace('aabbccdd','aa', 'ee');
|
||||
select replace('aabbccdd','AA', 'ee');
|
||||
select replace('北京','北' , '南');
|
||||
select replace('北京','京' , '南');
|
||||
select replace('北京taos','北' , '南');
|
||||
select replace(nch1, nch2, 't') from ts_4893.d0 order by ts limit 10;
|
||||
select replace(nch1, nch2, 't') from ts_4893.meters order by ts limit 10;
|
||||
select replace(nch1, var2, 't') from ts_4893.d0 order by ts limit 10;
|
||||
select replace(nch1, var2, 't') from ts_4893.meters order by ts limit 10;
|
||||
select replace(var1, nch2, 't') from ts_4893.d0 order by ts limit 10;
|
||||
select replace(var1, nch2, 't') from ts_4893.meters order by ts limit 10;
|
||||
select replace(var1, var2, 't') from ts_4893.d0 order by ts limit 10;
|
||||
select replace(var1, var2, 't') from ts_4893.meters order by ts limit 10;
|
||||
select replace(nch1, nch2, var1) from ts_4893.d0 order by ts limit 10;
|
||||
select replace(nch1, nch2, var1) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
select round();
|
||||
select round(10, );
|
||||
select round(, 2);
|
||||
select round('abc', 2);
|
||||
select round(123.23, 'a');
|
|
@ -17,3 +17,14 @@ select ROUND(current) from ts_4893.meters order by ts limit 20;
|
|||
select ROUND(87654321.123456789, id) from ts_4893.meters order by ts limit 10;
|
||||
select ROUND(current, id) from ts_4893.meters order by ts limit 10;
|
||||
select ROUND(current, 1) from ts_4893.meters order by ts limit 10;
|
||||
select round(10.55, 3);
|
||||
select round(10.55, 2);
|
||||
select round(10.55, 1);
|
||||
select round(10.55, 0);
|
||||
select round(10.55);
|
||||
select round(10.55, -1);
|
||||
select round(10.55, -10);
|
||||
select round(-10.55, 1);
|
||||
select round(99, 1);
|
||||
select round(current) from ts_4893.d0 order by ts limit 10;
|
||||
select round(current) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
select sign();
|
||||
select sign('abc');
|
||||
select sign(10, 1);
|
|
@ -27,4 +27,10 @@ select pow(SIGN(10), 2);
|
|||
select sqrt(SIGN(10));
|
||||
select cast(SIGN(10) as int);
|
||||
select SIGN(sqrt(id)) from ts_4893.meters order by ts limit 5;
|
||||
select SIGN(SIGN(SIGN(SIGN(0))));
|
||||
select SIGN(SIGN(SIGN(SIGN(0))));
|
||||
select sign(1);
|
||||
select sign(10);
|
||||
select sign(-1);
|
||||
select sign(-10);
|
||||
select sign(current) from ts_4893.d0 order by ts limit 10;
|
||||
select sign(current) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
select stddev_pop() from ts_4893.d0;
|
||||
select stddev_pop(ts) from ts_4893.d0;
|
||||
select stddev_pop(name) from ts_4893.d0;
|
||||
select stddev_pop(id, current) from ts_4893.d0;
|
||||
select stddev_pop() from ts_4893.meters;
|
||||
select stddev_pop(ts) from ts_4893.meters;
|
||||
select stddev_pop(name) from ts_4893.meters;
|
||||
select stddev_pop(id, current) from ts_4893.meters;
|
|
@ -4,3 +4,7 @@ select STDDEV(id) from ts_4893.meters;
|
|||
select STDDEV(id) from ts_4893.meters interval(1d) limit 10;
|
||||
select STDDEV(id) from ts_4893.meters where id > 100;
|
||||
select STDDEV(id) from ts_4893.meters interval(1d) order by 1 limit 10;
|
||||
select stddev_pop(id) from ts_4893.d0;
|
||||
select stddev_pop(id) from ts_4893.meters;
|
||||
select stddev_pop(current) from ts_4893.d0;
|
||||
select stddev_pop(current) from ts_4893.meters;
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
select substring();
|
||||
select substring('abc');
|
||||
select substring(10, 1);
|
|
@ -125,4 +125,15 @@ select SUBSTR(var1 FROM sign(id) FOR 20) from ts_4893.meters where char_length(v
|
|||
select SUBSTR(nch1, 2, id) from ts_4893.meters where char_length(nch1) > 6 order by ts limit 5;
|
||||
select SUBSTR(nch1 FROM 2 FOR id) from ts_4893.meters where char_length(nch1) > 6 order by ts limit 5;
|
||||
select SUBSTR(var1, 2, id) from ts_4893.meters where char_length(var1) > 6 order by ts limit 5;
|
||||
select SUBSTR(var1 FROM 2 FOR id) from ts_4893.meters where char_length(var1) > 6 order by ts limit 5;
|
||||
select SUBSTR(var1 FROM 2 FOR id) from ts_4893.meters where char_length(var1) > 6 order by ts limit 5;
|
||||
select substring('tdengine', 2);
|
||||
select substring('tdengine', 8);
|
||||
select substring('tdengine', 1, 3);
|
||||
select substring('tdengine', 2, 99);
|
||||
select substring('tdengine', -1, 10);
|
||||
select substring('中国', 1, 3);
|
||||
select substring('中国tdengine', 1, 3);
|
||||
select substring(var1, 1, 5) from ts_4893.d0 order by ts limit 10;
|
||||
select substring(var1, 1, 5) from ts_4893.meters order by ts limit 10;
|
||||
select substring(nch1, 1, 5) from ts_4893.d0 order by ts limit 10;
|
||||
select substring(nch1, 1, 5) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
select substring_index();
|
||||
select substring_index(, '.', 2);
|
||||
select substring_index('www.taosdata.com', , 2);
|
||||
select substring_index('www.taosdata.com', '.', );
|
||||
select substring_index(123456789, '7', 1);
|
||||
select substring_index('www.taosdata.com', c, 0);
|
||||
select substring_index('www.taosdata.com', '.', '2');
|
||||
select substring_index('www.taosdata.com', '.', 2, 3);
|
|
@ -77,3 +77,17 @@ select substring_index(nch1, '123', id) from ts_4893.meters where position('123'
|
|||
select substring_index(var1, '123', 1) from ts_4893.meters where position('123' in var1) > 1 order by ts limit 5;
|
||||
select substring_index(var1, '123', -1) from ts_4893.meters where position('123' in var1) > 1 order by ts limit 5;
|
||||
select substring_index(var1, '123', id) from ts_4893.meters where position('123' in var1) > 1 order by ts limit 5;
|
||||
select substring_index('www.taosdata.com', '.', 2);
|
||||
select substring_index('www.taosdata.com', '.', -2);
|
||||
select substring_index('中国.科学.www.taosdata.com', '.', 2);
|
||||
select substring_index('北京。涛思。数据。科技', '。', 2);
|
||||
select substring_index(nch1, 'a', 2) from ts_4893.d0 order by ts limit 10;
|
||||
select substring_index(nch1, 'a', 2) from ts_4893.meters order by ts limit 10;
|
||||
select substring_index(nch1, nch2, 2) from ts_4893.d0 order by ts limit 10;
|
||||
select substring_index(nch1, nch2, 2) from ts_4893.meters order by ts limit 10;
|
||||
select substring_index(nch1, var2, 2) from ts_4893.d0 order by ts limit 10;
|
||||
select substring_index(nch1, var2, 2) from ts_4893.meters order by ts limit 10;
|
||||
select substring_index(var1, nch2, 2) from ts_4893.d0 order by ts limit 10;
|
||||
select substring_index(var1, nch2, 2) from ts_4893.meters order by ts limit 10;
|
||||
select substring_index(var1, var2, 2) from ts_4893.d0 order by ts limit 10;
|
||||
select substring_index(var1, var2, 2) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
select timediff();
|
||||
select timediff(, '2022-01-01 08:00:01',1s);
|
||||
select timediff('2022-01-01 08:00:00', ,1s);
|
||||
select timediff('2022-01-01 08:00:00', '2022-01-01 08:00:01',);
|
||||
select timediff(1720769589123, 1720769529123, 2s);
|
|
@ -70,4 +70,22 @@ select TIMEDIFF(1725095657, ts, 1h) from ts_4893.meters order by ts limit 10;
|
|||
select TIMEDIFF(ts, 1725095657, 1d) from ts_4893.meters order by ts limit 10;
|
||||
select TIMEDIFF(1725095657, ts, 1d) from ts_4893.meters order by ts limit 10;
|
||||
select TIMEDIFF(ts, 1725095657, 1w) from ts_4893.meters order by ts limit 10;
|
||||
select TIMEDIFF(1725095657, ts, 1w) from ts_4893.meters order by ts limit 10;
|
||||
select TIMEDIFF(1725095657, ts, 1w) from ts_4893.meters order by ts limit 10;
|
||||
select timediff('2022-01-01 08:00:00', '2022-01-01 08:00:10',1s);
|
||||
select timediff('2023-01-01 08:00:00', '2022-01-01 08:00:00',1s);
|
||||
select timediff('2022-01-01 08:00:03', '2022-01-01 08:00:00',1a);
|
||||
select timediff('2022-01-31 08:00:00', '2022-01-01 08:00:00',1m);
|
||||
select timediff('2022-01-31 08:00:00', '2022-01-01 08:00:00',1h);
|
||||
select timediff('2022-01-31 08:00:00', '2022-01-01 08:00:00',1d);
|
||||
select timediff('2022-01-31 08:00:00', '2022-01-01 08:00:00',1w);
|
||||
select timediff('2022-01-31 08:00:00', '2022-01-01 08:00:00');
|
||||
select timediff('2022-01-31 08:00:0', '2022-01-01 08:00:00',1s);
|
||||
select timediff('2022-01-31', '2022-01-01',1s);
|
||||
select timediff(1720769589, 1720769529, 1s);
|
||||
select timediff(1720769589123, 1720769529123, 1s);
|
||||
select timediff(1720769589, '2022-01-01 08:00:00', 1s);
|
||||
select timediff('2022-01-01 08:00:00', 1720769589, 1s);
|
||||
select timediff(1720769589231, '2022-01-01 08:00:00', 1s);
|
||||
select timediff('2022-01-01 08:00:00', 1720769589123, 1s);
|
||||
select timediff(ts, 1720769589123, 1a) from ts_4893.d0 order by ts limit 10;
|
||||
select timediff(ts, 1720769589123, 1a) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
select trim();
|
||||
select trim(123);
|
||||
select trim(both 1 from 123);
|
|
@ -98,3 +98,28 @@ select trim(var2 from '三abbcfp三a') from ts_4893.meters where position(var2 i
|
|||
select trim(both var2 from '三abbcfp三a') from ts_4893.meters where position(var2 in '三abbcfp三a') = 0 order by ts limit 5;
|
||||
select trim(leading var2 from '三abbcfp三a') from ts_4893.meters where position(var2 in '三abbcfp三a') = 0 order by ts limit 5;
|
||||
select trim(trailing var2 from '三abbcfp三a') from ts_4893.meters where position(var2 in '三abbcfp三a') = 0 order by ts limit 5;
|
||||
select trim(' A ');
|
||||
select trim(' 涛思 ');
|
||||
select trim('a' FROM 'aaab bbba');
|
||||
select trim(LEADING FROM ' aaa ');
|
||||
select trim(LEADING 'a' FROM ' aaa abab aaaa ');
|
||||
select trim(LEADING 'a' FROM 'aaa abab aaaa ');
|
||||
select trim(LEADING '北' FROM '北京涛思数据科技有限公司北');
|
||||
select trim(LEADING '北' FROM '北bei京涛思数据科技有限公司北');
|
||||
select trim(TRAILING FROM ' aaa abab aaaa ');
|
||||
select trim(TRAILING 'a' FROM 'aaa abab aaaa');
|
||||
select trim(TRAILING 'a' FROM ' aaa abab aaaa');
|
||||
select trim(TRAILING '北' FROM '北京涛思数据科技有限公司北') as sub;
|
||||
select trim(TRAILING '北' FROM '北京涛思数据科技有限公司bei北');
|
||||
select trim(BOTH FROM ' aaa abab aaaa ');
|
||||
select trim(BOTH 'a' FROM ' aaa abab aaaa ');
|
||||
select trim(BOTH 'a' FROM 'aaa abab aaaa');
|
||||
select trim(BOTH '北' FROM '北京涛思数据科技有限公司北');
|
||||
select trim(nch2 from nch1) from ts_4893.d0 order by ts limit 10;
|
||||
select trim(nch2 from nch1) from ts_4893.meters order by ts limit 10;
|
||||
select trim(nch2 from var1) from ts_4893.d0 order by ts limit 10;
|
||||
select trim(nch2 from var1) from ts_4893.meters order by ts limit 10;
|
||||
select trim(var2 from nch1) from ts_4893.d0 order by ts limit 10;
|
||||
select trim(var2 from nch1) from ts_4893.meters order by ts limit 10;
|
||||
select trim(var2 from var1) from ts_4893.d0 order by ts limit 10;
|
||||
select trim(var2 from var1) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
select truncate();
|
||||
select truncate(99.99,);
|
||||
select truncate(, 3);
|
||||
select truncate(99.99);
|
||||
select truncate('12', 2);
|
||||
select truncate(12, '1');
|
|
@ -26,3 +26,12 @@ select TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(123456789.123456789, -1), -2),
|
|||
select TRUNC(87654321.123456789, id) from ts_4893.meters order by ts limit 10;
|
||||
select TRUNC(current, id) from ts_4893.meters order by ts limit 10;
|
||||
select TRUNC(current, 1) from ts_4893.meters order by ts limit 10;
|
||||
select truncate(99.99, 3);
|
||||
select truncate(99.99, 2);
|
||||
select truncate(99.99, 1);
|
||||
select truncate(99.99, 0);
|
||||
select truncate(99.99, -1);
|
||||
select truncate(99.99, -10);
|
||||
select truncate(99, 1);
|
||||
select truncate(current, 1) from ts_4893.d0 order by ts limit 10;
|
||||
select truncate(current, 1) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
select var_pop() from ts_4893.d0;
|
||||
select var_pop(ts) from ts_4893.d0;
|
||||
select var_pop(name) from ts_4893.d0;
|
||||
select var_pop(id, current) from ts_4893.d0;
|
||||
select var_pop() from ts_4893.meters;
|
||||
select var_pop(ts) from ts_4893.meters;
|
||||
select var_pop(name) from ts_4893.meters;
|
||||
select var_pop(id, current) from ts_4893.meters;
|
|
@ -4,3 +4,7 @@ select VAR_POP(id) from ts_4893.meters;
|
|||
select VAR_POP(id) from ts_4893.meters interval(1d) limit 10;
|
||||
select VAR_POP(id) from ts_4893.meters where id > 100;
|
||||
select VAR_POP(id) from ts_4893.meters interval(1d) order by 1 limit 10;
|
||||
select var_pop(id) from ts_4893.d0;
|
||||
select var_pop(id) from ts_4893.meters;
|
||||
select var_pop(current) from ts_4893.d0;
|
||||
select var_pop(current) from ts_4893.meters;
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
select week();
|
||||
select week(, 0);
|
||||
select week('2000-01-01', );
|
||||
select week('2000-01-01', -1);
|
||||
select week('2000-01-01', 8);
|
||||
select week('2000-01-01', 1.0);
|
|
@ -60,3 +60,16 @@ select WEEK(ts, 4) from ts_4893.meters order by ts limit 10;
|
|||
select WEEK(ts, 5) from ts_4893.meters order by ts limit 10;
|
||||
select WEEK(ts, 6) from ts_4893.meters order by ts limit 10;
|
||||
select WEEK(ts, 7) from ts_4893.meters order by ts limit 10;
|
||||
select week(123);
|
||||
select week('2000-01-01',0);
|
||||
select week('2000-01-01',1);
|
||||
select week('2000-01-01',2);
|
||||
select week('2000-01-01',3);
|
||||
select week('2000-01-01',4);
|
||||
select week('2000-01-01',5);
|
||||
select week('2000-01-01',6);
|
||||
select week('2000-01-01',7);
|
||||
select week(1721020591,0);
|
||||
select week('2020-01-01 00:00:00', 2);
|
||||
select week(ts) from ts_4893.d0 order by ts limit 10;
|
||||
select week(ts) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
select weekday();
|
||||
select weekday('01/01/2020', 2);
|
|
@ -10,4 +10,10 @@ select WEEKDAY('2000-01-06 00:00:00');
|
|||
select WEEKDAY('2000-01-06 00:00:00') from ts_4893.meters order by ts limit 10;
|
||||
select WEEKDAY(1725095657);
|
||||
select WEEKDAY(1725095657) from ts_4893.meters order by ts limit 10;
|
||||
select WEEKDAY(ts) from ts_4893.meters order by ts limit 10;
|
||||
select WEEKDAY(ts) from ts_4893.meters order by ts limit 10;
|
||||
select weekday('2020-01-01');
|
||||
select weekday(1721020591);
|
||||
select weekday(1721020666229);
|
||||
select weekday('2020-01-01 00:00:00');
|
||||
select weekday(ts) from ts_4893.d0 order by ts limit 10;
|
||||
select weekday(ts) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
select weekofyear();
|
||||
select weekofyear('2020-01-01',1);
|
|
@ -10,4 +10,9 @@ select WEEKOFYEAR('2000-01-06 00:00:00');
|
|||
select WEEKOFYEAR('2000-01-06 00:00:00') from ts_4893.meters order by ts limit 10;
|
||||
select WEEKOFYEAR(1725095657);
|
||||
select WEEKOFYEAR(1725095657) from ts_4893.meters order by ts limit 10;
|
||||
select WEEKOFYEAR(ts) from ts_4893.meters order by ts limit 10;
|
||||
select WEEKOFYEAR(ts) from ts_4893.meters order by ts limit 10;
|
||||
select weekofyear('2020-01-01');
|
||||
select weekofyear(1721020666);
|
||||
select weekofyear(1721020666229);
|
||||
select weekofyear(ts) from ts_4893.d0 order by ts limit 10;
|
||||
select weekofyear(ts) from ts_4893.meters order by ts limit 10;
|
||||
|
|
|
@ -71,59 +71,443 @@ class TDTestCase(TBase):
|
|||
tdSql.checkDataCsvByLine(sql_statement, ansFile)
|
||||
# 清空 sql_statement 以便处理下一条语句
|
||||
sql_statement = ''
|
||||
err_file_path = etool.curFile(__file__, f"in/{testCase}.err")
|
||||
if not os.path.isfile(err_file_path):
|
||||
return None
|
||||
with open(err_file_path, 'r') as err_file:
|
||||
err_statement = ''
|
||||
for line in err_file:
|
||||
if not line.strip() or line.strip().startswith('--'):
|
||||
continue
|
||||
|
||||
err_statement += line.strip()
|
||||
|
||||
if err_statement.endswith(';'):
|
||||
tdSql.error(err_statement)
|
||||
err_statement = ''
|
||||
|
||||
def test_pi(self):
|
||||
self.test_normal_query("pi")
|
||||
|
||||
def test_round(self):
|
||||
self.test_normal_query("round")
|
||||
|
||||
tdSql.query("select round(10, null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select round(null, 2);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_exp(self):
|
||||
self.test_normal_query("exp")
|
||||
|
||||
tdSql.query("select exp(null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_trunc(self):
|
||||
self.test_normal_query("trunc")
|
||||
|
||||
tdSql.query("select truncate(99.99, null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select truncate(null, 3);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_ln(self):
|
||||
self.test_normal_query("ln")
|
||||
|
||||
tdSql.query("select ln(null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_mod(self):
|
||||
self.test_normal_query("mod")
|
||||
|
||||
tdSql.query("select mod(null, 2);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select mod(10, null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select mod(10, 0);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_sign(self):
|
||||
self.test_normal_query("sign")
|
||||
|
||||
tdSql.query("select sign(null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_degrees(self):
|
||||
self.test_normal_query("degrees")
|
||||
|
||||
tdSql.query("select degrees(null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_radians(self):
|
||||
self.test_normal_query("radians")
|
||||
|
||||
tdSql.query("select radians(null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_char_length(self):
|
||||
self.test_normal_query("char_length")
|
||||
|
||||
tdSql.query("select char_length(null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_char(self):
|
||||
self.test_normal_query("char")
|
||||
|
||||
tdSql.query("select char(null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, '')
|
||||
|
||||
tdSql.query("select char('ustc');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, chr(0))
|
||||
|
||||
result1 = [[chr(0)], [chr(1)], [chr(2)], [chr(3)], [chr(4)], [chr(5)], [chr(6)], [chr(7)], [chr(8)], [chr(9)]]
|
||||
tdSql.checkDataMem("select char(id) from ts_4893.d0 limit 10;", result1)
|
||||
tdSql.checkDataMem("select char(id) from ts_4893.meters limit 10;", result1)
|
||||
|
||||
result2 = [[chr(0)], [chr(0)], [chr(0)], [chr(0)], [chr(0)], [chr(0)], [chr(0)], [chr(0)], [chr(0)], [chr(0)]]
|
||||
tdSql.checkDataMem("select char(nch1) from ts_4893.d0 limit 10;", result2)
|
||||
tdSql.checkDataMem("select char(nch1) from ts_4893.meters limit 10;", result2)
|
||||
|
||||
tdSql.checkDataMem("select char(var1) from ts_4893.d0 limit 10;", result2)
|
||||
tdSql.checkDataMem("select char(var1) from ts_4893.meters limit 10;", result2)
|
||||
|
||||
def test_ascii(self):
|
||||
self.test_normal_query("ascii")
|
||||
|
||||
tdSql.query("select ascii(null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_position(self):
|
||||
self.test_normal_query("position")
|
||||
|
||||
tdSql.query("select position('t' in null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select position(null in 'taos');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_replace(self):
|
||||
self.test_normal_query("replace")
|
||||
|
||||
tdSql.query("select replace(null, 'aa', 'ee');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select replace('aabbccdd', null, 'ee');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_repeat(self):
|
||||
self.test_normal_query("repeat")
|
||||
|
||||
tdSql.query("select repeat('taos', null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select repeat(null, 3);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select repeat('taos', 0);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, '')
|
||||
|
||||
def test_substr(self):
|
||||
self.test_normal_query("substr")
|
||||
|
||||
tdSql.query("select substring('tdengine', null, 3);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select substring(null, 1, 3);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select substring('tdengine', 1, null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select substring('tdengine', 0);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, '')
|
||||
|
||||
tdSql.query("select substring('tdengine', 10);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, '')
|
||||
|
||||
tdSql.query("select substring('tdengine', 1, 0);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, '')
|
||||
|
||||
tdSql.query("select substring('tdengine', 1, -1);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, '')
|
||||
|
||||
def test_substr_idx(self):
|
||||
self.test_normal_query("substr_idx")
|
||||
|
||||
tdSql.query("select substring_index(null, '.', 2);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select substring_index('www.taosdata.com', null, 2);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select substring_index('www.taosdata.com', '.', null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select substring_index('www.taosdata.com', '.', 0);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, '')
|
||||
|
||||
def test_trim(self):
|
||||
self.test_normal_query("trim")
|
||||
|
||||
tdSql.query("select trim(null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_timediff(self):
|
||||
self.test_normal_query("timediff")
|
||||
|
||||
tdSql.query("select timediff(null, '2022-01-01 08:00:01',1s);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select timediff('2022-01-01 08:00:00', null,1s);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select timediff('2022/01/31', '2022/01/01',1s);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select timediff('20220131', '20220101',1s);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select timediff('22/01/31', '22/01/01',1s);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select timediff('01/31/22', '01/01/22',1s);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select timediff('31-JAN-22', '01-JAN-22',1s);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select timediff('22/01/31', '22/01/01');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select timediff('www', 'ttt');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_week(self):
|
||||
self.test_normal_query("week")
|
||||
|
||||
tdSql.query("select week(null, 0);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select week('abc');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select week('1721020591', 0);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select week('1721020666229', 0);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select week('01/01/2020', 2);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select week('20200101', 2);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select week('20/01/01', 2);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select week('11/01/31', 2);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select week('01-JAN-20', 2);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_weekday(self):
|
||||
self.test_normal_query("weekday")
|
||||
|
||||
tdSql.query("select weekday(null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekday('1721020591');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekday('1721020666229');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekday('abc');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekday('01/01/2020');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekday('20200101');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekday('20/01/01');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekday('11/01/32');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekday('01-JAN-20');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_weekofyear(self):
|
||||
self.test_normal_query("weekofyear")
|
||||
|
||||
tdSql.query("select weekofyear(null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekofyear('1721020591');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekofyear('1721020666229');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekofyear('abc');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekofyear('01/01/2020');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekofyear('20200101');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekofyear('20/01/01');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekofyear('11/01/31');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select weekofyear('01-JAN-20');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_dayofweek(self):
|
||||
self.test_normal_query("dayofweek")
|
||||
|
||||
tdSql.query("select dayofweek(null);")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select dayofweek('1721020591');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select dayofweek('1721020666229');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select dayofweek('abc');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select dayofweek('01/01/2020');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select dayofweek('20200101');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select dayofweek('20/01/01');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select dayofweek('11/01/31');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select dayofweek('01-JAN-20');")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_stddev(self):
|
||||
self.test_normal_query("stddev")
|
||||
|
||||
tdSql.query("select stddev_pop(null) from ts_4893.d0;")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select stddev_pop(null) from ts_4893.meters;")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
def test_varpop(self):
|
||||
self.test_normal_query("varpop")
|
||||
|
||||
tdSql.query("select var_pop(null) from ts_4893.d0;")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
tdSql.query("select var_pop(null) from ts_4893.meters;")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 0, None)
|
||||
|
||||
# run
|
||||
def run(self):
|
||||
tdLog.debug(f"start to excute {__file__}")
|
||||
|
|
|
@ -146,6 +146,7 @@ class TDTestCase:
|
|||
err_param = [1.5,'a','c2']
|
||||
for i in err_param:
|
||||
tdSql.error(f"select to_iso8601({i}) from db.ntb")
|
||||
tdSql.error(f"select to_iso8601(ts, timezone()) from db.stb")
|
||||
tdSql.query("select to_iso8601(now) from db.stb")
|
||||
tdSql.checkRows(3)
|
||||
tdSql.query("select to_iso8601(now()) from db.stb")
|
||||
|
|
Loading…
Reference in New Issue