From 347ff765cf220270dc4c76b132169730ad00db09 Mon Sep 17 00:00:00 2001 From: Liu Jicong Date: Mon, 9 Aug 2021 03:24:43 +0800 Subject: [PATCH] fix merge --- src/common/src/tdataformat.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/common/src/tdataformat.c b/src/common/src/tdataformat.c index 0234a44758..b62c97bc2a 100644 --- a/src/common/src/tdataformat.c +++ b/src/common/src/tdataformat.c @@ -587,7 +587,10 @@ static void tdMergeTwoDataCols(SDataCols *target, SDataCols *src1, int *iter1, i if ((key1 > key2) || (key1 == key2 && !TKEY_IS_DELETED(tkey2))) { for (int i = 0; i < src2->numOfCols; i++) { ASSERT(target->cols[i].type == src2->cols[i].type); - if (src2->cols[i].len > 0 && (forceSetNull || (!isNull(src2->cols[i].pData, src2->cols[i].type)))) { + if(!forceSetNull && (isAllRowsNull(&src2->cols[i]) || isNull(src2->cols[i].pData, src2->cols[i].type)) && key1 == key2) { + dataColAppendVal(&(target->cols[i]), tdGetColDataOfRow(src1->cols + i, *iter1), target->numOfRows, + target->maxPoints); + } else if (src2->cols[i].len > 0) { dataColAppendVal(&(target->cols[i]), tdGetColDataOfRow(src2->cols + i, *iter2), target->numOfRows, target->maxPoints); }