未验证 提交 35fdfad6 编写于 作者: D dapan1121 提交者: GitHub

Merge pull request #18758 from taosdata/fix/TD-19481

fix(query): fix percentile crash when input has more than 10 million records
...@@ -368,11 +368,13 @@ int32_t tMemBucketPut(tMemBucket *pBucket, const void *data, size_t size) { ...@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册