diff --git a/source/dnode/vnode/src/meta/metaEntry.c b/source/dnode/vnode/src/meta/metaEntry.c index 177bd60450..d416a8eb41 100644 --- a/source/dnode/vnode/src/meta/metaEntry.c +++ b/source/dnode/vnode/src/meta/metaEntry.c @@ -149,13 +149,20 @@ int metaDecodeEntry(SDecoder *pCoder, SMetaEntry *pME) { metaError("meta/entry: invalide table type: %" PRId8 " decode failed.", pME->type); return -1; } - if (TABLE_IS_COL_COMPRESSED(pME->flags)) { - if (meteDecodeColCmprEntry(pCoder, pME) < 0) return -1; - } else { - int8_t type = pME->type; - if (type == TSDB_SUPER_TABLE || type == TSDB_NORMAL_TABLE) { - SSchemaWrapper *pWrapper = type == TSDB_SUPER_TABLE ? &pME->stbEntry.schemaRow : &pME->ntbEntry.schemaRow; - metatInitDefaultSColCmprWrapper(pCoder, &pME->colCmpr, pWrapper); + if (pME->type == TSDB_SUPER_TABLE) { + if (TABLE_IS_COL_COMPRESSED(pME->flags)) { + if (meteDecodeColCmprEntry(pCoder, pME) < 0) return -1; + } else { + metatInitDefaultSColCmprWrapper(pCoder, &pME->colCmpr, &pME->stbEntry.schemaRow); + TABLE_SET_COL_COMPRESSED(pME->flags); + } + } else if (pME->type == TSDB_NORMAL_TABLE) { + if (!tDecodeIsEnd(pCoder)) { + uDebug("set type: %d, tableName:%s", pME->type, pME->name); + if (meteDecodeColCmprEntry(pCoder, pME) < 0) return -1; + } else { + uDebug("set default type: %d, tableName:%s", pME->type, pME->name); + metatInitDefaultSColCmprWrapper(pCoder, &pME->colCmpr, &pME->ntbEntry.schemaRow); } }