Merge branch '3.0' of https://github.com/taosdata/TDengine into feat/stream_compression
This commit is contained in:
commit
cbf5e48117
|
@ -878,12 +878,18 @@ int hbMgrInit() {
|
||||||
clientHbMgr.appHbMgrs = taosArrayInit(0, sizeof(void *));
|
clientHbMgr.appHbMgrs = taosArrayInit(0, sizeof(void *));
|
||||||
|
|
||||||
TdThreadMutexAttr attr = {0};
|
TdThreadMutexAttr attr = {0};
|
||||||
taosThreadMutexAttrSetType(&attr, PTHREAD_MUTEX_RECURSIVE);
|
|
||||||
int ret = taosThreadMutexAttrInit(&attr);
|
int ret = taosThreadMutexAttrInit(&attr);
|
||||||
assert(ret == 0);
|
assert(ret == 0);
|
||||||
|
|
||||||
taosThreadMutexInit(&clientHbMgr.lock, &attr);
|
ret = taosThreadMutexAttrSetType(&attr, PTHREAD_MUTEX_RECURSIVE);
|
||||||
taosThreadMutexAttrDestroy(&attr);
|
assert(ret == 0);
|
||||||
|
|
||||||
|
ret = taosThreadMutexInit(&clientHbMgr.lock, &attr);
|
||||||
|
assert(ret == 0);
|
||||||
|
|
||||||
|
ret = taosThreadMutexAttrDestroy(&attr);
|
||||||
|
assert(ret == 0);
|
||||||
|
|
||||||
// init handle funcs
|
// init handle funcs
|
||||||
hbMgrInitHandle();
|
hbMgrInitHandle();
|
||||||
|
|
|
@ -1446,6 +1446,7 @@ size_t blockDataGetCapacityInRow(const SSDataBlock* pBlock, size_t pageSize) {
|
||||||
int32_t payloadSize = pageSize - blockDataGetSerialMetaSize(numOfCols);
|
int32_t payloadSize = pageSize - blockDataGetSerialMetaSize(numOfCols);
|
||||||
int32_t rowSize = pBlock->info.rowSize;
|
int32_t rowSize = pBlock->info.rowSize;
|
||||||
int32_t nRows = payloadSize / rowSize;
|
int32_t nRows = payloadSize / rowSize;
|
||||||
|
ASSERT(nRows >= 1);
|
||||||
|
|
||||||
// the true value must be less than the value of nRows
|
// the true value must be less than the value of nRows
|
||||||
int32_t additional = 0;
|
int32_t additional = 0;
|
||||||
|
|
|
@ -320,6 +320,7 @@ void tLDataIterNextBlock(SLDataIter *pIter) {
|
||||||
|
|
||||||
pIter->pSttBlk = NULL;
|
pIter->pSttBlk = NULL;
|
||||||
if (index != -1) {
|
if (index != -1) {
|
||||||
|
pIter->iSttBlk = index;
|
||||||
pIter->pSttBlk = (SSttBlk *)taosArrayGet(pIter->pBlockLoadInfo->aSttBlk, pIter->iSttBlk);
|
pIter->pSttBlk = (SSttBlk *)taosArrayGet(pIter->pBlockLoadInfo->aSttBlk, pIter->iSttBlk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -989,7 +989,8 @@ SArray* extractColMatchInfo(SNodeList* pNodeList, SDataBlockDescNode* pOutputNod
|
||||||
|
|
||||||
if (pNode->output) {
|
if (pNode->output) {
|
||||||
(*numOfOutputCols) += 1;
|
(*numOfOutputCols) += 1;
|
||||||
} else {
|
} else if (info != NULL) {
|
||||||
|
// select distinct tbname from stb where tbname='abc';
|
||||||
info->output = false;
|
info->output = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5297,12 +5297,12 @@ bool modeFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo* pResInfo) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void doModeAdd(SModeInfo* pInfo, char* data) {
|
static void doModeAdd(SModeInfo* pInfo, char* data) {
|
||||||
int32_t hashKeyBytes = IS_VAR_DATA_TYPE(pInfo->colType) ? varDataTLen(data) : pInfo->colBytes;
|
int32_t hashKeyBytes = IS_STR_DATA_TYPE(pInfo->colType) ? varDataTLen(data) : pInfo->colBytes;
|
||||||
SModeItem** pHashItem = taosHashGet(pInfo->pHash, data, hashKeyBytes);
|
SModeItem** pHashItem = taosHashGet(pInfo->pHash, data, hashKeyBytes);
|
||||||
if (pHashItem == NULL) {
|
if (pHashItem == NULL) {
|
||||||
int32_t size = sizeof(SModeItem) + pInfo->colBytes;
|
int32_t size = sizeof(SModeItem) + pInfo->colBytes;
|
||||||
SModeItem* pItem = (SModeItem*)(pInfo->pItems + pInfo->numOfPoints * size);
|
SModeItem* pItem = (SModeItem*)(pInfo->pItems + pInfo->numOfPoints * size);
|
||||||
memcpy(pItem->data, data, pInfo->colBytes);
|
memcpy(pItem->data, data, hashKeyBytes);
|
||||||
pItem->count += 1;
|
pItem->count += 1;
|
||||||
|
|
||||||
taosHashPut(pInfo->pHash, data, hashKeyBytes, &pItem, sizeof(SModeItem*));
|
taosHashPut(pInfo->pHash, data, hashKeyBytes, &pItem, sizeof(SModeItem*));
|
||||||
|
|
Loading…
Reference in New Issue