diff --git a/source/dnode/vnode/meta/src/metaBDBImpl.c b/source/dnode/vnode/meta/src/metaBDBImpl.c index 31e8f84be630c5ea143c4da792c4de05d80a03d5..ae13d9fddc07ed033d771c7e2ace0d3f9b73046b 100644 --- a/source/dnode/vnode/meta/src/metaBDBImpl.c +++ b/source/dnode/vnode/meta/src/metaBDBImpl.c @@ -596,8 +596,17 @@ STSchema *metaGetTbTSchema(SMeta *pMeta, tb_uid_t uid, int32_t sver) { STSchema * pTSchema = NULL; SSchema * pSchema; SSchemaWrapper *pSW; + STbCfg * pTbCfg; + tb_uid_t quid; - pSW = metaGetTableSchema(pMeta, uid, sver, true); + pTbCfg = metaGetTbInfoByUid(pMeta, uid); + if (pTbCfg->type == META_CHILD_TABLE) { + quid = pTbCfg->ctbCfg.suid; + } else { + quid = uid; + } + + pSW = metaGetTableSchema(pMeta, quid, sver, true); if (pSW == NULL) { return NULL; }