From 16e9d8fa6549dabe86bf1468574dc688b04b6da5 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Wed, 20 May 2020 11:21:52 +0800 Subject: [PATCH] optimize remove chile table --- src/tsdb/src/tsdbMeta.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/tsdb/src/tsdbMeta.c b/src/tsdb/src/tsdbMeta.c index 178d2db391..48833fa032 100644 --- a/src/tsdb/src/tsdbMeta.c +++ b/src/tsdb/src/tsdbMeta.c @@ -16,7 +16,7 @@ static int tsdbAddTableToMeta(STsdbMeta *pMeta, STable *pTable, bool addIdx) static int tsdbAddTableIntoIndex(STsdbMeta *pMeta, STable *pTable); static int tsdbRemoveTableFromIndex(STsdbMeta *pMeta, STable *pTable); static int tsdbEstimateTableEncodeSize(STable *pTable); -static int tsdbRemoveTableFromMeta(STsdbMeta *pMeta, STable *pTable); +static int tsdbRemoveTableFromMeta(STsdbMeta *pMeta, STable *pTable, bool rmFromIdx); /** * Encode a TSDB table object as a binary content @@ -411,7 +411,7 @@ int tsdbDropTable(TsdbRepoT *repo, STableId tableId) { tsdbTrace("vgId:%d, table %s is dropped! tid:%d, uid:%" PRId64, pRepo->config.tsdbId, varDataVal(pTable->name), tableId.tid, tableId.uid); - if (tsdbRemoveTableFromMeta(pMeta, pTable) < 0) return -1; + if (tsdbRemoveTableFromMeta(pMeta, pTable, true) < 0) return -1; return 0; @@ -500,7 +500,7 @@ static int tsdbAddTableToMeta(STsdbMeta *pMeta, STable *pTable, bool addIdx) { return 0; } -static int tsdbRemoveTableFromMeta(STsdbMeta *pMeta, STable *pTable) { +static int tsdbRemoveTableFromMeta(STsdbMeta *pMeta, STable *pTable, bool rmFromIdx) { if (pTable->type == TSDB_SUPER_TABLE) { SSkipListIterator *pIter = tSkipListCreateIter(pTable->pIndex); while (tSkipListIterNext(pIter)) { @@ -509,7 +509,7 @@ static int tsdbRemoveTableFromMeta(STsdbMeta *pMeta, STable *pTable) { ASSERT(tTable != NULL && tTable->type == TSDB_CHILD_TABLE); - tsdbRemoveTableFromMeta(pMeta, tTable); + tsdbRemoveTableFromMeta(pMeta, tTable, false); } tSkipListDestroyIter(pIter); @@ -525,7 +525,7 @@ static int tsdbRemoveTableFromMeta(STsdbMeta *pMeta, STable *pTable) { } } else { pMeta->tables[pTable->tableId.tid] = NULL; - if (pTable->type == TSDB_CHILD_TABLE) { + if (pTable->type == TSDB_CHILD_TABLE && rmFromIdx) { tsdbRemoveTableFromIndex(pMeta, pTable); } -- GitLab