fix(query): fix group_key is processed in selectivity twice
This commit is contained in:
parent
9b5e53c821
commit
7e30f8619c
|
@ -871,6 +871,12 @@ int32_t setSelectivityValue(SqlFunctionCtx* pCtx, SSDataBlock* pBlock, const STu
|
||||||
SqlFunctionCtx* pc = pCtx->subsidiaries.pCtx[j];
|
SqlFunctionCtx* pc = pCtx->subsidiaries.pCtx[j];
|
||||||
int32_t dstSlotId = pc->pExpr->base.resSchema.slotId;
|
int32_t dstSlotId = pc->pExpr->base.resSchema.slotId;
|
||||||
|
|
||||||
|
// group_key function has its own process function
|
||||||
|
// do not process there
|
||||||
|
if (fmIsGroupKeyFunc(pc->functionId)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
SColumnInfoData* pDstCol = taosArrayGet(pBlock->pDataBlock, dstSlotId);
|
SColumnInfoData* pDstCol = taosArrayGet(pBlock->pDataBlock, dstSlotId);
|
||||||
if (nullList[j]) {
|
if (nullList[j]) {
|
||||||
colDataSetNULL(pDstCol, rowIndex);
|
colDataSetNULL(pDstCol, rowIndex);
|
||||||
|
@ -3091,6 +3097,12 @@ void* serializeTupleData(const SSDataBlock* pSrcBlock, int32_t rowIndex, SSubsid
|
||||||
for (int32_t i = 0; i < pSubsidiaryies->num; ++i) {
|
for (int32_t i = 0; i < pSubsidiaryies->num; ++i) {
|
||||||
SqlFunctionCtx* pc = pSubsidiaryies->pCtx[i];
|
SqlFunctionCtx* pc = pSubsidiaryies->pCtx[i];
|
||||||
|
|
||||||
|
// group_key function has its own process function
|
||||||
|
// do not process there
|
||||||
|
if (fmIsGroupKeyFunc(pc->functionId)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
SFunctParam* pFuncParam = &pc->pExpr->base.pParam[0];
|
SFunctParam* pFuncParam = &pc->pExpr->base.pParam[0];
|
||||||
int32_t srcSlotId = pFuncParam->pCol->slotId;
|
int32_t srcSlotId = pFuncParam->pCol->slotId;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue