From b94772e838e357374e6a3e6adbac053d6cb8e820 Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Wed, 15 Jun 2022 10:56:06 +0800 Subject: [PATCH] fix: stable column reset after create sma --- source/dnode/mnode/impl/src/mndStb.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source/dnode/mnode/impl/src/mndStb.c b/source/dnode/mnode/impl/src/mndStb.c index 3e91bfa926..fcd86a10be 100644 --- a/source/dnode/mnode/impl/src/mndStb.c +++ b/source/dnode/mnode/impl/src/mndStb.c @@ -323,10 +323,14 @@ static int32_t mndStbActionUpdate(SSdb *pSdb, SStbObj *pOld, SStbObj *pNew) { pOld->smaVer = pNew->smaVer; pOld->nextColId = pNew->nextColId; pOld->ttl = pNew->ttl; - pOld->numOfColumns = pNew->numOfColumns; - pOld->numOfTags = pNew->numOfTags; - memcpy(pOld->pColumns, pNew->pColumns, pOld->numOfColumns * sizeof(SSchema)); - memcpy(pOld->pTags, pNew->pTags, pOld->numOfTags * sizeof(SSchema)); + if (pNew->numOfColumns > 0) { + pOld->numOfColumns = pNew->numOfColumns; + memcpy(pOld->pColumns, pNew->pColumns, pOld->numOfColumns * sizeof(SSchema)); + } + if (pNew->numOfTags > 0) { + pOld->numOfTags = pNew->numOfTags; + memcpy(pOld->pTags, pNew->pTags, pOld->numOfTags * sizeof(SSchema)); + } if (pNew->commentLen != 0) { memcpy(pOld->comment, pNew->comment, pNew->commentLen); } -- GitLab