Merge pull request #18758 from taosdata/fix/TD-19481
fix(query): fix percentile crash when input has more than 10 million records
This commit is contained in:
commit
35fdfad623
|
@ -368,11 +368,13 @@ int32_t tMemBucketPut(tMemBucket *pBucket, const void *data, size_t size) {
|
||||||
pSlot->info.data = NULL;
|
pSlot->info.data = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
SArray *pPageIdList = (SArray *)taosHashGet(pBucket->groupPagesMap, &groupId, sizeof(groupId));
|
SArray *pPageIdList;
|
||||||
if (pPageIdList == NULL) {
|
void *p = taosHashGet(pBucket->groupPagesMap, &groupId, sizeof(groupId));
|
||||||
SArray *pList = taosArrayInit(4, sizeof(int32_t));
|
if (p == NULL) {
|
||||||
taosHashPut(pBucket->groupPagesMap, &groupId, sizeof(groupId), &pList, POINTER_BYTES);
|
pPageIdList = taosArrayInit(4, sizeof(int32_t));
|
||||||
pPageIdList = pList;
|
taosHashPut(pBucket->groupPagesMap, &groupId, sizeof(groupId), &pPageIdList, POINTER_BYTES);
|
||||||
|
} else {
|
||||||
|
pPageIdList = *(SArray **)p;
|
||||||
}
|
}
|
||||||
|
|
||||||
pSlot->info.data = getNewBufPage(pBucket->pBuffer, &pageId);
|
pSlot->info.data = getNewBufPage(pBucket->pBuffer, &pageId);
|
||||||
|
|
Loading…
Reference in New Issue