fix: fix error in getting pageIdList from group page hash map
This commit is contained in:
parent
febb306ae5
commit
159088267b
|
@ -497,15 +497,15 @@ double getPercentileImpl(tMemBucket *pMemBucket, int32_t count, double fraction)
|
||||||
resetSlotInfo(pMemBucket);
|
resetSlotInfo(pMemBucket);
|
||||||
|
|
||||||
int32_t groupId = getGroupId(pMemBucket->numOfSlots, i, pMemBucket->times - 1);
|
int32_t groupId = getGroupId(pMemBucket->numOfSlots, i, pMemBucket->times - 1);
|
||||||
SArray* list = taosHashGet(pMemBucket->groupPagesMap, &groupId, sizeof(groupId));
|
SArray* list = *(SArray **)taosHashGet(pMemBucket->groupPagesMap, &groupId, sizeof(groupId));
|
||||||
ASSERT(list != NULL && list->size > 0);
|
ASSERT(list != NULL && list->size > 0);
|
||||||
|
|
||||||
for (int32_t f = 0; f < list->size; ++f) {
|
for (int32_t f = 0; f < list->size; ++f) {
|
||||||
SPageInfo *pgInfo = *(SPageInfo **)taosArrayGet(list, f);
|
int32_t *pageId = taosArrayGet(list, f);
|
||||||
SFilePage *pg = getBufPage(pMemBucket->pBuffer, getPageId(pgInfo));
|
SFilePage *pg = getBufPage(pMemBucket->pBuffer, *pageId);
|
||||||
|
|
||||||
tMemBucketPut(pMemBucket, pg->data, (int32_t)pg->num);
|
tMemBucketPut(pMemBucket, pg->data, (int32_t)pg->num);
|
||||||
releaseBufPageInfo(pMemBucket->pBuffer, pgInfo);
|
releaseBufPage(pMemBucket->pBuffer, pg);
|
||||||
}
|
}
|
||||||
|
|
||||||
return getPercentileImpl(pMemBucket, count - num, fraction);
|
return getPercentileImpl(pMemBucket, count - num, fraction);
|
||||||
|
|
Loading…
Reference in New Issue