This commit is contained in:
Hongze Cheng 2021-12-07 18:21:16 +08:00
parent c448c15673
commit f66db4b048
1 changed files with 37 additions and 9 deletions

View File

@ -74,9 +74,9 @@ static int metaSaveTbInfo(DB *pDB, tb_uid_t uid, STbCfg *pTbCfg);
#define META_CLOSE_DB(pDB) #define META_CLOSE_DB(pDB)
#define META_ASSOCIATE_IDX(pDB, pNameIdx, cbf) \ #define META_ASSOCIATE_IDX(pDB, pIdx, cbf) \
do { \ do { \
int ret = (pDB)->associate((pDB), NULL, (pNameIdx), (cbf), 0); \ int ret = (pDB)->associate((pDB), NULL, (pIdx), (cbf), 0); \
if (ret != 0) { \ if (ret != 0) { \
P_ERROR("Failed to associate META DB", ret); \ P_ERROR("Failed to associate META DB", ret); \
metaCloseDB(pMeta); \ metaCloseDB(pMeta); \
@ -111,13 +111,13 @@ int metaOpenDB(SMeta *pMeta) {
META_OPEN_DB(pDB->pNameIdx, pDB->pEvn, "index.db"); META_OPEN_DB(pDB->pNameIdx, pDB->pEvn, "index.db");
META_OPEN_DB(pDB->pUidIdx, pDB->pEvn, "index.db"); // META_OPEN_DB(pDB->pUidIdx, pDB->pEvn, "index.db");
// Associate name index // Associate name index
META_ASSOCIATE_IDX(pDB->pStbDB, pDB->pNameIdx, metaNameIdxCb); META_ASSOCIATE_IDX(pDB->pStbDB, pDB->pNameIdx, metaNameIdxCb);
META_ASSOCIATE_IDX(pDB->pStbDB, pDB->pUidIdx, metaUidIdxCb); // META_ASSOCIATE_IDX(pDB->pStbDB, pDB->pUidIdx, metaUidIdxCb);
META_ASSOCIATE_IDX(pDB->pNtbDB, pDB->pNameIdx, metaNameIdxCb); // META_ASSOCIATE_IDX(pDB->pNtbDB, pDB->pNameIdx, metaNameIdxCb);
META_ASSOCIATE_IDX(pDB->pNtbDB, pDB->pUidIdx, metaUidIdxCb); // META_ASSOCIATE_IDX(pDB->pNtbDB, pDB->pUidIdx, metaUidIdxCb);
for (;;) { for (;;) {
// Loop to associate each super table db // Loop to associate each super table db
@ -308,13 +308,41 @@ static void metaPutSchema(SMeta *pMeta, tb_uid_t uid, STSchema *pSchema) {
} }
static int metaEncodeTbInfo(void **buf, STbCfg *pTbCfg) { static int metaEncodeTbInfo(void **buf, STbCfg *pTbCfg) {
// TODO int tsize = 0;
return 0;
tsize += taosEncodeString(buf, pTbCfg->name);
tsize += taosEncodeFixedU32(buf, pTbCfg->ttl);
tsize += taosEncodeFixedU32(buf, pTbCfg->keep);
if (pTbCfg->type == META_SUPER_TABLE) {
tsize += tdEncodeSchema(buf, pTbCfg->stbCfg.pTagSchema);
} else if (pTbCfg->type == META_CHILD_TABLE) {
tsize += taosEncodeFixedU64(buf, pTbCfg->ctbCfg.suid);
tsize += tdEncodeKVRow(buf, pTbCfg->ctbCfg.pTag);
} else if (pTbCfg->type == META_NORMAL_TABLE) {
} else {
ASSERT(0);
}
return tsize;
} }
static void *metaDecodeTbInfo(void *buf, STbCfg *pTbCfg) { static void *metaDecodeTbInfo(void *buf, STbCfg *pTbCfg) {
// TODO // TODO
return NULL; buf = taosDecodeString(buf, &(pTbCfg->name));
buf = taosDecodeFixedU32(buf, &(pTbCfg->ttl));
buf = taosDecodeFixedU32(buf, &(pTbCfg->keep));
if (pTbCfg->type == META_SUPER_TABLE) {
buf = tdDecodeSchema(buf, &(pTbCfg->stbCfg.pTagSchema));
} else if (pTbCfg->type == META_CHILD_TABLE) {
buf = taosDecodeFixedU64(buf, &(pTbCfg->ctbCfg.suid));
buf = tdDecodeKVRow(buf, &(pTbCfg->ctbCfg.pTag));
} else if (pTbCfg->type == META_NORMAL_TABLE) {
} else {
ASSERT(0);
}
return buf;
} }
static int metaSaveTbInfo(DB *pDB, tb_uid_t uid, STbCfg *pTbCfg) { static int metaSaveTbInfo(DB *pDB, tb_uid_t uid, STbCfg *pTbCfg) {