fix(query): histogram function add param check for distribution
This commit is contained in:
parent
684621159a
commit
a7e222ff92
|
@ -1032,6 +1032,8 @@ static int32_t translateHistogramImpl(SFunctionNode* pFunc, char* pErrBuf, int32
|
||||||
return invaildFuncParaTypeErrMsg(pErrBuf, len, pFunc->functionName);
|
return invaildFuncParaTypeErrMsg(pErrBuf, len, pFunc->functionName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int8_t binType;
|
||||||
|
char* binDesc;
|
||||||
for (int32_t i = 1; i < numOfParams; ++i) {
|
for (int32_t i = 1; i < numOfParams; ++i) {
|
||||||
SNode* pParamNode = nodesListGetNode(pFunc->pParameterList, i);
|
SNode* pParamNode = nodesListGetNode(pFunc->pParameterList, i);
|
||||||
if (QUERY_NODE_VALUE != nodeType(pParamNode)) {
|
if (QUERY_NODE_VALUE != nodeType(pParamNode)) {
|
||||||
|
@ -1042,6 +1044,23 @@ static int32_t translateHistogramImpl(SFunctionNode* pFunc, char* pErrBuf, int32
|
||||||
|
|
||||||
pValue->notReserved = true;
|
pValue->notReserved = true;
|
||||||
|
|
||||||
|
if (i == 1) {
|
||||||
|
binType = validateHistogramBinType(varDataVal(pValue->datum.p));
|
||||||
|
if (binType == UNKNOWN_BIN) {
|
||||||
|
return buildFuncErrMsg(pErrBuf, len, TSDB_CODE_FUNC_FUNTION_ERROR,
|
||||||
|
"HISTOGRAM function binType parameter should be "
|
||||||
|
"\"user_input\", \"log_bin\" or \"linear_bin\"");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i == 2) {
|
||||||
|
char errMsg[128] = {0};
|
||||||
|
binDesc = varDataVal(pValue->datum.p);
|
||||||
|
if (!validateHistogramBinDesc(binDesc, binType, errMsg, (int32_t)sizeof(errMsg))) {
|
||||||
|
return buildFuncErrMsg(pErrBuf, len, TSDB_CODE_FUNC_FUNTION_ERROR, errMsg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (i == 3 && pValue->datum.i != 1 && pValue->datum.i != 0) {
|
if (i == 3 && pValue->datum.i != 1 && pValue->datum.i != 0) {
|
||||||
return buildFuncErrMsg(pErrBuf, len, TSDB_CODE_FUNC_FUNTION_ERROR,
|
return buildFuncErrMsg(pErrBuf, len, TSDB_CODE_FUNC_FUNTION_ERROR,
|
||||||
"HISTOGRAM function normalized parameter should be 0/1");
|
"HISTOGRAM function normalized parameter should be 0/1");
|
||||||
|
|
Loading…
Reference in New Issue