提交 1e315286 编写于 作者: A AlexDuan

fix min value be overwrite

上级 b762a699
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
#define M_PI 3.14159265358979323846264338327950288 /* pi */ #define M_PI 3.14159265358979323846264338327950288 /* pi */
#endif #endif
#define DOUBLE_MAX 1.79e+308
#define ADDITION_CENTROID_NUM 2 #define ADDITION_CENTROID_NUM 2
#define COMPRESSION 400 #define COMPRESSION 400
#define GET_CENTROID(compression) (ceil(compression * M_PI / 2) + 1 + ADDITION_CENTROID_NUM) #define GET_CENTROID(compression) (ceil(compression * M_PI / 2) + 1 + ADDITION_CENTROID_NUM)
......
...@@ -2442,8 +2442,6 @@ static SAPercentileInfo *getAPerctInfo(SQLFunctionCtx *pCtx) { ...@@ -2442,8 +2442,6 @@ static SAPercentileInfo *getAPerctInfo(SQLFunctionCtx *pCtx) {
} else { } else {
pInfo = GET_ROWCELL_INTERBUF(pResInfo); pInfo = GET_ROWCELL_INTERBUF(pResInfo);
} }
buildHistogramInfo(pInfo);
return pInfo; return pInfo;
} }
...@@ -2572,6 +2570,7 @@ static bool apercentile_function_setup(SQLFunctionCtx *pCtx, SResultRowCellInfo* ...@@ -2572,6 +2570,7 @@ static bool apercentile_function_setup(SQLFunctionCtx *pCtx, SResultRowCellInfo*
} }
SAPercentileInfo *pInfo = getAPerctInfo(pCtx); SAPercentileInfo *pInfo = getAPerctInfo(pCtx);
buildHistogramInfo(pInfo);
char *tmp = (char *)pInfo + sizeof(SAPercentileInfo); char *tmp = (char *)pInfo + sizeof(SAPercentileInfo);
pInfo->pHisto = tHistogramCreateFrom(tmp, MAX_HISTOGRAM_BIN); pInfo->pHisto = tHistogramCreateFrom(tmp, MAX_HISTOGRAM_BIN);
...@@ -2588,6 +2587,7 @@ static void apercentile_function(SQLFunctionCtx *pCtx) { ...@@ -2588,6 +2587,7 @@ static void apercentile_function(SQLFunctionCtx *pCtx) {
SResultRowCellInfo * pResInfo = GET_RES_INFO(pCtx); SResultRowCellInfo * pResInfo = GET_RES_INFO(pCtx);
SAPercentileInfo *pInfo = getAPerctInfo(pCtx); SAPercentileInfo *pInfo = getAPerctInfo(pCtx);
buildHistogramInfo(pInfo);
assert(pInfo->pHisto->elems != NULL); assert(pInfo->pHisto->elems != NULL);
...@@ -2631,6 +2631,7 @@ static void apercentile_func_merge(SQLFunctionCtx *pCtx) { ...@@ -2631,6 +2631,7 @@ static void apercentile_func_merge(SQLFunctionCtx *pCtx) {
} }
SAPercentileInfo *pOutput = getAPerctInfo(pCtx); SAPercentileInfo *pOutput = getAPerctInfo(pCtx);
buildHistogramInfo(pOutput);
SHistogramInfo *pHisto = pOutput->pHisto; SHistogramInfo *pHisto = pOutput->pHisto;
if (pHisto->numOfElems <= 0) { if (pHisto->numOfElems <= 0) {
......
...@@ -56,7 +56,9 @@ TDigest *tdigestNewFrom(void* pBuf, int32_t compression) { ...@@ -56,7 +56,9 @@ TDigest *tdigestNewFrom(void* pBuf, int32_t compression) {
t->compression = compression; t->compression = compression;
t->size = (int64_t)GET_CENTROID(compression); t->size = (int64_t)GET_CENTROID(compression);
t->threshold = (int32_t)GET_THRESHOLD(compression); t->threshold = (int32_t)GET_THRESHOLD(compression);
t->min = INFINITY; t->min = DOUBLE_MAX;
t->max = -DOUBLE_MAX;
return t; return t;
} }
...@@ -128,7 +130,8 @@ void tdigestCompress(TDigest *t) { ...@@ -128,7 +130,8 @@ void tdigestCompress(TDigest *t) {
memset(args.centroids, 0, (size_t)(sizeof(SCentroid) * t->size)); memset(args.centroids, 0, (size_t)(sizeof(SCentroid) * t->size));
args.t = t; args.t = t;
args.min = INFINITY; args.min = DOUBLE_MAX;
args.max = -DOUBLE_MAX;
i = 0; i = 0;
j = 0; j = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册