diff --git a/src/tsdb/inc/tsdbMain.h b/src/tsdb/inc/tsdbMain.h index 5f6d72128d7002a82f17a5dcb3ac7c70eac1e395..6187146dd0fbf9b4d316495a0a912043ec82d256 100644 --- a/src/tsdb/inc/tsdbMain.h +++ b/src/tsdb/inc/tsdbMain.h @@ -285,6 +285,16 @@ typedef struct { STsdbMeta* tsdbNewMeta(STsdbCfg* pCfg); void tsdbFreeMeta(STsdbMeta* pMeta); +int tsdbOpenMeta(STsdbRepo* pRepo); +int tsdbCloseMeta(STsdbRepo* pRepo); +STSchema* tsdbGetTableSchema(STable* pTable); +STable* tsdbGetTableByUid(STsdbMeta* pMeta, uint64_t uid); +STSchema* tsdbGetTableSchemaByVersion(STable* pTable, int16_t version); +STSchema* tsdbGetTableTagSchema(STable* pTable); +int tsdbUpdateTable(STsdbMeta* pMeta, STable* pTable, STableCfg* pCfg); +int tsdbWLockRepoMeta(STsdbRepo* pRepo); +int tsdbRLockRepoMeta(STsdbRepo* pRepo); +int tsdbUnlockRepoMeta(STsdbRepo* pRepo); // ------------------ tsdbBuffer.c STsdbBufPool* tsdbNewBufPool(); diff --git a/src/tsdb/src/tsdbMain.c b/src/tsdb/src/tsdbMain.c index ef1a4af064930a91faa11f49ab6d2952d9819fc8..022923e4b2316d7f5fb9838a0a8d55e3c965bdee 100644 --- a/src/tsdb/src/tsdbMain.c +++ b/src/tsdb/src/tsdbMain.c @@ -1038,6 +1038,11 @@ _err: return -1; } +static char *getTSTupleKey(const void *data) { + SDataRow row = (SDataRow)data; + return POINTER_SHIFT(row, TD_DATA_ROW_HEAD_SIZE); +} + #if 0 ** * Set the default TSDB configuration diff --git a/src/tsdb/src/tsdbMeta.c b/src/tsdb/src/tsdbMeta.c index 3d11383e5b3a425cb21d536483fe414afad786ab..d9b054ecbbb0e2b4c850bb0f70a6cec1504faaf4 100644 --- a/src/tsdb/src/tsdbMeta.c +++ b/src/tsdb/src/tsdbMeta.c @@ -23,6 +23,30 @@ #define TSDB_SUPER_TABLE_SL_LEVEL 5 #define DEFAULT_TAG_INDEX_COLUMN 0 +static int tsdbCompareSchemaVersion(const void *key1, const void *key2); +static int tsdbRestoreTable(void *pHandle, void *cont, int contLen); +static void tsdbOrgMeta(void *pHandle); +static char * getTagIndexKey(const void *pData); +static STable *tsdbNewTable(STableCfg *pCfg, bool isSuper); +static void tsdbFreeTable(STable *pTable); +static int tsdbUpdateTableTagSchema(STable *pTable, STSchema *newSchema); +static int tsdbAddTableToMeta(STsdbRepo *pRepo, STable *pTable, bool addIdx); +static void tsdbRemoveTableFromMeta(STsdbRepo *pRepo, STable *pTable, bool rmFromIdx); +static int tsdbAddTableIntoIndex(STsdbMeta *pMeta, STable *pTable); +static int tsdbRemoveTableFromIndex(STsdbMeta *pMeta, STable *pTable); +static int tsdbInitTableCfg(STableCfg *config, ETableType type, uint64_t uid, int32_t tid); +static int tsdbTableSetSchema(STableCfg *config, STSchema *pSchema, bool dup); +static int tsdbTableSetName(STableCfg *config, char *name, bool dup); +static int tsdbTableSetTagSchema(STableCfg *config, STSchema *pSchema, bool dup); +static int tsdbTableSetSName(STableCfg *config, char *sname, bool dup); +static int tsdbTableSetSuperUid(STableCfg *config, uint64_t uid); +static int tsdbTableSetTagValue(STableCfg *config, SKVRow row, bool dup); +static int tsdbTableSetStreamSql(STableCfg *config, char *sql, bool dup); +static void * tsdbEncodeTableName(void *buf, tstr *name); +static void * tsdbDecodeTableName(void *buf, tstr **name); +static void * tsdbEncodeTable(void *buf, STable *pTable); +static void * tsdbDecodeTable(void *buf, STable **pRTable); + // ------------------ OUTER FUNCTIONS ------------------ int tsdbCreateTable(TSDB_REPO_T *repo, STableCfg *pCfg) { STsdbRepo *pRepo = (STsdbRepo *)repo; @@ -397,11 +421,6 @@ int tsdbUpdateTable(STsdbMeta *pMeta, STable *pTable, STableCfg *pCfg) { return TSDB_CODE_SUCCESS; } -char *getTSTupleKey(const void *data) { - SDataRow row = (SDataRow)data; - return POINTER_SHIFT(row, TD_DATA_ROW_HEAD_SIZE); -} - int tsdbWLockRepoMeta(STsdbRepo *pRepo) { int code = pthread_rwlock_wrlock(&(pRepo->tsdbMeta->rwLock)); if (code != 0) {