Merge pull request #4256 from taosdata/hotfix/TD-2096
[TD-2096]<fix>: apercentile on super table crash
This commit is contained in:
commit
408246dc27
|
@ -2695,17 +2695,18 @@ static void apercentile_func_second_merge(SQLFunctionCtx *pCtx) {
|
||||||
}
|
}
|
||||||
|
|
||||||
SAPercentileInfo *pOutput = getAPerctInfo(pCtx);
|
SAPercentileInfo *pOutput = getAPerctInfo(pCtx);
|
||||||
SHistogramInfo * pHisto = pOutput->pHisto;
|
SHistogramInfo *pHisto = pOutput->pHisto;
|
||||||
|
|
||||||
if (pHisto->numOfElems <= 0) {
|
if (pHisto->numOfElems <= 0) {
|
||||||
memcpy(pHisto, pInput->pHisto, sizeof(SHistogramInfo) + sizeof(SHistBin) * (MAX_HISTOGRAM_BIN + 1));
|
memcpy(pHisto, pInput->pHisto, sizeof(SHistogramInfo) + sizeof(SHistBin) * (MAX_HISTOGRAM_BIN + 1));
|
||||||
pHisto->elems = (SHistBin*) ((char *)pHisto + sizeof(SHistogramInfo));
|
pHisto->elems = (SHistBin*) ((char *)pHisto + sizeof(SHistogramInfo));
|
||||||
} else {
|
} else {
|
||||||
|
//TODO(dengyihao): avoid memcpy
|
||||||
pHisto->elems = (SHistBin*) ((char *)pHisto + sizeof(SHistogramInfo));
|
pHisto->elems = (SHistBin*) ((char *)pHisto + sizeof(SHistogramInfo));
|
||||||
|
|
||||||
SHistogramInfo *pRes = tHistogramMerge(pHisto, pInput->pHisto, MAX_HISTOGRAM_BIN);
|
SHistogramInfo *pRes = tHistogramMerge(pHisto, pInput->pHisto, MAX_HISTOGRAM_BIN);
|
||||||
tHistogramDestroy(&pOutput->pHisto);
|
memcpy(pHisto, pRes, sizeof(SHistogramInfo) + sizeof(SHistBin) * MAX_HISTOGRAM_BIN);
|
||||||
pOutput->pHisto = pRes;
|
pHisto->elems = (SHistBin*) ((char *)pHisto + sizeof(SHistogramInfo));
|
||||||
|
tHistogramDestroy(&pRes);
|
||||||
}
|
}
|
||||||
|
|
||||||
SResultRowCellInfo *pResInfo = GET_RES_INFO(pCtx);
|
SResultRowCellInfo *pResInfo = GET_RES_INFO(pCtx);
|
||||||
|
|
|
@ -45,7 +45,6 @@ typedef struct SHistogramInfo {
|
||||||
int32_t maxEntries;
|
int32_t maxEntries;
|
||||||
double min;
|
double min;
|
||||||
double max;
|
double max;
|
||||||
|
|
||||||
#if defined(USE_ARRAYLIST)
|
#if defined(USE_ARRAYLIST)
|
||||||
SHistBin* elems;
|
SHistBin* elems;
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Reference in New Issue