fix: set hasPk and pkBytes for partial func and merge func
This commit is contained in:
parent
93ca55954f
commit
47410db46a
|
@ -2343,6 +2343,11 @@ EFuncDataRequired firstDynDataReq(void* pRes, SDataBlockInfo* pBlockInfo) {
|
|||
|
||||
SFirstLastRes* pResult = GET_ROWCELL_INTERBUF(pEntry);
|
||||
if (pResult->hasResult) {
|
||||
if (pResult->pkBytes > 0) {
|
||||
pResult->pkData = pResult->buf + pResult->bytes;
|
||||
} else {
|
||||
pResult->pkData = NULL;
|
||||
}
|
||||
if (pResult->ts < pBlockInfo->window.skey) {
|
||||
return FUNC_DATA_REQUIRED_NOT_LOAD;
|
||||
} else if (pResult->ts == pBlockInfo->window.skey && pResult->pkData) {
|
||||
|
@ -2366,6 +2371,11 @@ EFuncDataRequired lastDynDataReq(void* pRes, SDataBlockInfo* pBlockInfo) {
|
|||
|
||||
SFirstLastRes* pResult = GET_ROWCELL_INTERBUF(pEntry);
|
||||
if (pResult->hasResult) {
|
||||
if (pResult->pkBytes > 0) {
|
||||
pResult->pkData = pResult->buf + pResult->bytes;
|
||||
} else {
|
||||
pResult->pkData = NULL;
|
||||
}
|
||||
if (pResult->ts > pBlockInfo->window.ekey) {
|
||||
return FUNC_DATA_REQUIRED_NOT_LOAD;
|
||||
} else if (pResult->ts == pBlockInfo->window.ekey && pResult->pkData) {
|
||||
|
|
|
@ -415,6 +415,8 @@ static int32_t createPartialFunction(const SFunctionNode* pSrcFunc, SFunctionNod
|
|||
int32_t len = snprintf(name, sizeof(name) - 1, "%s.%p", (*pPartialFunc)->functionName, pSrcFunc);
|
||||
taosCreateMD5Hash(name, len);
|
||||
strncpy((*pPartialFunc)->node.aliasName, name, TSDB_COL_NAME_LEN - 1);
|
||||
(*pPartialFunc)->hasPk = pSrcFunc->hasPk;
|
||||
(*pPartialFunc)->pkBytes = pSrcFunc->pkBytes;
|
||||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -453,7 +455,8 @@ static int32_t createMidFunction(const SFunctionNode* pSrcFunc, const SFunctionN
|
|||
} else {
|
||||
nodesDestroyList(pParameterList);
|
||||
}
|
||||
|
||||
(*pMidFunc)->hasPk = pPartialFunc->hasPk;
|
||||
(*pMidFunc)->pkBytes = pPartialFunc->pkBytes;
|
||||
return code;
|
||||
}
|
||||
|
||||
|
@ -482,7 +485,8 @@ static int32_t createMergeFunction(const SFunctionNode* pSrcFunc, const SFunctio
|
|||
} else {
|
||||
nodesDestroyList(pParameterList);
|
||||
}
|
||||
|
||||
(*pMergeFunc)->hasPk = pPartialFunc->hasPk;
|
||||
(*pMergeFunc)->pkBytes = pPartialFunc->pkBytes;
|
||||
return code;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue