diff --git a/source/libs/executor/src/tfill.c b/source/libs/executor/src/tfill.c index d30c1fbfa1..78ecb02b93 100644 --- a/source/libs/executor/src/tfill.c +++ b/source/libs/executor/src/tfill.c @@ -293,7 +293,9 @@ static int32_t fillResultImpl(SFillInfo* pFillInfo, SSDataBlock* pBlock, int32_t int64_t ts = ((int64_t*)pTsCol->pData)[pFillInfo->index]; // set the next value for interpolation - if ((pFillInfo->currentKey < ts && ascFill) || (pFillInfo->currentKey > ts && !ascFill)) { + if (pFillInfo->currentKey < ts && ascFill) { + copyCurrentRowIntoBuf(pFillInfo, pFillInfo->index, &pFillInfo->prev); + } else if (pFillInfo->currentKey > ts && !ascFill) { copyCurrentRowIntoBuf(pFillInfo, pFillInfo->index, &pFillInfo->next); }