Merge pull request #20596 from taosdata/szhou/python-udf

fix: aggregate function can return null value
This commit is contained in:
dapan1121 2023-03-25 08:57:33 +08:00 committed by GitHub
commit 95dd3e078a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 7 deletions

View File

@ -1209,6 +1209,10 @@ int32_t udfAggFinalize(struct SqlFunctionCtx *pCtx, SSDataBlock *pBlock) {
if (udfCallCode != 0) {
fnError("udfAggFinalize error. doCallUdfAggFinalize step. udf code:%d", udfCallCode);
GET_RES_INFO(pCtx)->numOfRes = 0;
} else {
if (resultBuf.numOfResult == 0) {
udfRes->finalResNum = 0;
GET_RES_INFO(pCtx)->numOfRes = 0;
} else {
if (resultBuf.bufLen <= session->bytes) {
memcpy(udfRes->finalResBuf, resultBuf.buf, resultBuf.bufLen);
@ -1220,6 +1224,7 @@ int32_t udfAggFinalize(struct SqlFunctionCtx *pCtx, SSDataBlock *pBlock) {
udfCallCode = TSDB_CODE_UDF_INVALID_OUTPUT_TYPE;
}
}
}
freeUdfInterBuf(&resultBuf);