From 6ae7357a339ab98e3d04bcdc3c6ea3164a08c3ce Mon Sep 17 00:00:00 2001 From: slguan Date: Fri, 21 Feb 2020 10:13:44 +0800 Subject: [PATCH] fix some compile errors --- src/mnode/inc/mgmtDb.h | 1 + src/mnode/inc/mgmtSuperTable.h | 1 + src/mnode/inc/mgmtUtil.h | 39 ----- src/mnode/src/mgmtChildTable.c | 1 - src/mnode/src/mgmtDb.c | 82 ++++++++++- src/mnode/src/mgmtNormalTable.c | 1 - src/mnode/src/mgmtShell.c | 1 - src/mnode/src/mgmtStreamTable.c | 1 - src/mnode/src/mgmtSuperTable.c | 14 +- src/mnode/src/mgmtTable.c | 1 - src/mnode/src/mgmtUtil.c | 149 -------------------- src/vnode/detail/src/vnodeSupertableQuery.c | 1 - 12 files changed, 95 insertions(+), 197 deletions(-) delete mode 100644 src/mnode/inc/mgmtUtil.h delete mode 100644 src/mnode/src/mgmtUtil.c diff --git a/src/mnode/inc/mgmtDb.h b/src/mnode/inc/mgmtDb.h index 820079961a..20575e2182 100644 --- a/src/mnode/inc/mgmtDb.h +++ b/src/mnode/inc/mgmtDb.h @@ -41,6 +41,7 @@ SDbObj *mgmtGetDbByTableId(char *db); int32_t mgmtCreateDb(SAcctObj *pAcct, SCreateDbMsg *pCreate); int32_t mgmtDropDbByName(SAcctObj *pAcct, char *name, short ignoreNotExists); int32_t mgmtDropDb(SDbObj *pDb); +bool mgmtCheckIsMonitorDB(char *db, char *monitordb); #ifdef __cplusplus } diff --git a/src/mnode/inc/mgmtSuperTable.h b/src/mnode/inc/mgmtSuperTable.h index c631d1df61..6b87ee38ac 100644 --- a/src/mnode/inc/mgmtSuperTable.h +++ b/src/mnode/inc/mgmtSuperTable.h @@ -37,6 +37,7 @@ int32_t mgmtDropSuperTableTag(SSuperTableObj *pTable, char *tagName); int32_t mgmtModifySuperTableTagNameByName(SSuperTableObj *pTable, char *oldTagName, char *newTagName); int32_t mgmtAddSuperTableColumn(SSuperTableObj *pTable, SSchema schema[], int32_t ncols); int32_t mgmtDropSuperTableColumnByName(SSuperTableObj *pTable, char *colName); +int32_t mgmtGetTagsLength(SSuperTableObj* pSuperTable, int32_t col); #ifdef __cplusplus } diff --git a/src/mnode/inc/mgmtUtil.h b/src/mnode/inc/mgmtUtil.h deleted file mode 100644 index 9bce2e95a2..0000000000 --- a/src/mnode/inc/mgmtUtil.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2019 TAOS Data, Inc. - * - * This program is free software: you can use, redistribute, and/or modify - * it under the terms of the GNU Affero General Public License, version 3 - * or later ("AGPL"), as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -#ifndef TBASE_MNODE_UTIL_H -#define TBASE_MNODE_UTIL_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include -#include "mnode.h" - -bool mgmtTableCreateFromSuperTable(STabObj *pTableObj); -bool mgmtIsSuperTable(STabObj *pTableObj); -bool mgmtIsNormalTable(STabObj *pTableObj); -int32_t mgmtGetTagsLength(SSuperTableObj* pSuperTable, int32_t col); -bool mgmtCheckIsMonitorDB(char *db, char *monitordb); -int32_t mgmtCheckDBParams(SCreateDbMsg *pCreate); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/mnode/src/mgmtChildTable.c b/src/mnode/src/mgmtChildTable.c index 41596f3ddd..c99e4746ab 100644 --- a/src/mnode/src/mgmtChildTable.c +++ b/src/mnode/src/mgmtChildTable.c @@ -33,7 +33,6 @@ #include "mgmtGrant.h" #include "mgmtSuperTable.h" #include "mgmtTable.h" -#include "mgmtUtil.h" #include "mgmtVgroup.h" void *tsChildTableSdb; diff --git a/src/mnode/src/mgmtDb.c b/src/mnode/src/mgmtDb.c index f976e48eb6..379f678ac1 100644 --- a/src/mnode/src/mgmtDb.c +++ b/src/mnode/src/mgmtDb.c @@ -26,7 +26,6 @@ #include "mgmtDnodeInt.h" #include "mgmtGrant.h" #include "mgmtTable.h" -#include "mgmtUtil.h" #include "mgmtVgroup.h" extern void *tsVgroupSdb; @@ -116,6 +115,79 @@ SDbObj *mgmtGetDbByTableId(char *meterId) { return (SDbObj *)sdbGetRow(tsDbSdb, db); } +int32_t mgmtCheckDBParams(SCreateDbMsg *pCreate) { + if (pCreate->commitLog < 0 || pCreate->commitLog > 1) { + mError("invalid db option commitLog: %d, only 0 or 1 allowed", pCreate->commitLog); + return TSDB_CODE_INVALID_OPTION; + } + + if (pCreate->replications < TSDB_REPLICA_MIN_NUM || pCreate->replications > TSDB_REPLICA_MAX_NUM) { + mError("invalid db option replications: %d valid range: [%d, %d]", pCreate->replications, TSDB_REPLICA_MIN_NUM, + TSDB_REPLICA_MAX_NUM); + return TSDB_CODE_INVALID_OPTION; + } + + if (pCreate->daysPerFile < TSDB_FILE_MIN_PARTITION_RANGE || pCreate->daysPerFile > TSDB_FILE_MAX_PARTITION_RANGE) { + mError("invalid db option daysPerFile: %d valid range: [%d, %d]", pCreate->daysPerFile, TSDB_FILE_MIN_PARTITION_RANGE, + TSDB_FILE_MAX_PARTITION_RANGE); + return TSDB_CODE_INVALID_OPTION; + } + + if (pCreate->daysToKeep1 > pCreate->daysToKeep2 || pCreate->daysToKeep2 > pCreate->daysToKeep) { + mError("invalid db option daystokeep1: %d, daystokeep2: %d, daystokeep: %d", pCreate->daysToKeep1, + pCreate->daysToKeep2, pCreate->daysToKeep); + return TSDB_CODE_INVALID_OPTION; + } + + if (pCreate->daysToKeep1 < TSDB_FILE_MIN_PARTITION_RANGE || pCreate->daysToKeep1 < pCreate->daysPerFile) { + mError("invalid db option daystokeep: %d", pCreate->daysToKeep); + return TSDB_CODE_INVALID_OPTION; + } + + if (pCreate->rowsInFileBlock < TSDB_MIN_ROWS_IN_FILEBLOCK || pCreate->rowsInFileBlock > TSDB_MAX_ROWS_IN_FILEBLOCK) { + mError("invalid db option rowsInFileBlock: %d valid range: [%d, %d]", pCreate->rowsInFileBlock, + TSDB_MIN_ROWS_IN_FILEBLOCK, TSDB_MAX_ROWS_IN_FILEBLOCK); + return TSDB_CODE_INVALID_OPTION; + } + + if (pCreate->cacheBlockSize < TSDB_MIN_CACHE_BLOCK_SIZE || pCreate->cacheBlockSize > TSDB_MAX_CACHE_BLOCK_SIZE) { + mError("invalid db option cacheBlockSize: %d valid range: [%d, %d]", pCreate->cacheBlockSize, + TSDB_MIN_CACHE_BLOCK_SIZE, TSDB_MAX_CACHE_BLOCK_SIZE); + return TSDB_CODE_INVALID_OPTION; + } + + if (pCreate->maxSessions < TSDB_MIN_TABLES_PER_VNODE || pCreate->maxSessions > TSDB_MAX_TABLES_PER_VNODE) { + mError("invalid db option maxSessions: %d valid range: [%d, %d]", pCreate->maxSessions, TSDB_MIN_TABLES_PER_VNODE, + TSDB_MAX_TABLES_PER_VNODE); + return TSDB_CODE_INVALID_OPTION; + } + + if (pCreate->precision != TSDB_TIME_PRECISION_MILLI && pCreate->precision != TSDB_TIME_PRECISION_MICRO) { + mError("invalid db option timePrecision: %d valid value: [%d, %d]", pCreate->precision, TSDB_TIME_PRECISION_MILLI, + TSDB_TIME_PRECISION_MICRO); + return TSDB_CODE_INVALID_OPTION; + } + + if (pCreate->cacheNumOfBlocks.fraction < TSDB_MIN_AVG_BLOCKS || pCreate->cacheNumOfBlocks.fraction > TSDB_MAX_AVG_BLOCKS) { + mError("invalid db option ablocks: %f valid value: [%d, %d]", pCreate->cacheNumOfBlocks.fraction, 0, TSDB_MAX_AVG_BLOCKS); + return TSDB_CODE_INVALID_OPTION; + } + + if (pCreate->commitTime < TSDB_MIN_COMMIT_TIME_INTERVAL || pCreate->commitTime > TSDB_MAX_COMMIT_TIME_INTERVAL) { + mError("invalid db option commitTime: %d valid range: [%d, %d]", pCreate->commitTime, TSDB_MIN_COMMIT_TIME_INTERVAL, + TSDB_MAX_COMMIT_TIME_INTERVAL); + return TSDB_CODE_INVALID_OPTION; + } + + if (pCreate->compression < TSDB_MIN_COMPRESSION_LEVEL || pCreate->compression > TSDB_MAX_COMPRESSION_LEVEL) { + mError("invalid db option compression: %d valid range: [%d, %d]", pCreate->compression, TSDB_MIN_COMPRESSION_LEVEL, + TSDB_MAX_COMPRESSION_LEVEL); + return TSDB_CODE_INVALID_OPTION; + } + + return TSDB_CODE_SUCCESS; +} + int32_t mgmtCheckDbParams(SCreateDbMsg *pCreate) { // assign default parameters if (pCreate->maxSessions < 0) pCreate->maxSessions = tsSessionsPerVnode; // @@ -314,6 +386,14 @@ int32_t mgmtDropDbByName(SAcctObj *pAcct, char *name, short ignoreNotExists) { return mgmtDropDb(pDb); } +bool mgmtCheckIsMonitorDB(char *db, char *monitordb) { + char dbName[TSDB_DB_NAME_LEN + 1] = {0}; + extractDBName(db, dbName); + + size_t len = strlen(dbName); + return (strncasecmp(dbName, monitordb, len) == 0 && len == strlen(monitordb)); +} + void mgmtMonitorDbDrop(void *unused, void *unusedt) { void * pNode = NULL; SDbObj *pDb = NULL; diff --git a/src/mnode/src/mgmtNormalTable.c b/src/mnode/src/mgmtNormalTable.c index 396262b527..ea482838a6 100644 --- a/src/mnode/src/mgmtNormalTable.c +++ b/src/mnode/src/mgmtNormalTable.c @@ -33,7 +33,6 @@ #include "mgmtNormalTable.h" #include "mgmtSuperTable.h" #include "mgmtTable.h" -#include "mgmtUtil.h" #include "mgmtVgroup.h" void *tsNormalTableSdb; diff --git a/src/mnode/src/mgmtShell.c b/src/mnode/src/mgmtShell.c index 5f69bfc4aa..1ddf6500ee 100644 --- a/src/mnode/src/mgmtShell.c +++ b/src/mnode/src/mgmtShell.c @@ -29,7 +29,6 @@ #include "mgmtShell.h" #include "mgmtTable.h" #include "mgmtUser.h" -#include "mgmtUtil.h" #include "mgmtVgroup.h" #include "taosmsg.h" #include "tlog.h" diff --git a/src/mnode/src/mgmtStreamTable.c b/src/mnode/src/mgmtStreamTable.c index 8786d53e7e..031954bb15 100644 --- a/src/mnode/src/mgmtStreamTable.c +++ b/src/mnode/src/mgmtStreamTable.c @@ -33,7 +33,6 @@ #include "mgmtStreamTable.h" #include "mgmtSuperTable.h" #include "mgmtTable.h" -#include "mgmtUtil.h" #include "mgmtVgroup.h" void *tsStreamTableSdb; diff --git a/src/mnode/src/mgmtSuperTable.c b/src/mnode/src/mgmtSuperTable.c index 379336e20a..efdda6f223 100644 --- a/src/mnode/src/mgmtSuperTable.c +++ b/src/mnode/src/mgmtSuperTable.c @@ -33,7 +33,6 @@ #include "mgmtGrant.h" #include "mgmtSuperTable.h" #include "mgmtTable.h" -#include "mgmtUtil.h" #include "mgmtVgroup.h" void *tsSuperTableSdb; @@ -591,4 +590,15 @@ void mgmtAddTableIntoSuperTable(SSuperTableObj *pStable) { void mgmtRemoveTableFromSuperTable(SSuperTableObj *pStable) { pStable->numOfTables--; -} \ No newline at end of file +} + +int32_t mgmtGetTagsLength(SSuperTableObj* pSuperTable, int32_t col) { // length before column col + int32_t len = 0; + int32_t tagColumnIndexOffset = pSuperTable->numOfColumns; + + for (int32_t i = 0; i < pSuperTable->numOfTags && i < col; ++i) { + len += ((SSchema*)pSuperTable->schema)[tagColumnIndexOffset + i].bytes; + } + + return len; +} diff --git a/src/mnode/src/mgmtTable.c b/src/mnode/src/mgmtTable.c index 57cc51fa7d..f2a2e0cb92 100644 --- a/src/mnode/src/mgmtTable.c +++ b/src/mnode/src/mgmtTable.c @@ -36,7 +36,6 @@ #include "mgmtStreamTable.h" #include "mgmtSuperTable.h" #include "mgmtTable.h" -#include "mgmtUtil.h" #include "mgmtVgroup.h" int32_t mgmtInitTables() { diff --git a/src/mnode/src/mgmtUtil.c b/src/mnode/src/mgmtUtil.c deleted file mode 100644 index c2da5c398e..0000000000 --- a/src/mnode/src/mgmtUtil.c +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (c) 2019 TAOS Data, Inc. - * - * This program is free software: you can use, redistribute, and/or modify - * it under the terms of the GNU Affero General Public License, version 3 - * or later ("AGPL"), as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -#define _DEFAULT_SOURCE -#include "os.h" -#include "mnode.h" -#include "mgmtUtil.h" -#include "mgmtTable.h" -#include "tschemautil.h" - -bool mgmtTableCreateFromSuperTable(STabObj* pTableObj) { - return pTableObj->tableType == TSDB_TABLE_TYPE_CHILD_TABLE; -} - -bool mgmtIsSuperTable(STabObj* pTableObj) { - return pTableObj->tableType == TSDB_TABLE_TYPE_SUPER_TABLE; -} - -bool mgmtIsNormalTable(STabObj* pTableObj) { - return !mgmtIsSuperTable(pTableObj); -} -// -///** -// * TODO: the tag offset value should be kept in memory to avoid dynamically calculating the value -// * -// * @param pTable -// * @param col -// * @param pTagColSchema -// * @return -// */ -//char* mgmtTableGetTag(STabObj* pTable, int32_t col, SSchema* pTagColSchema) { -// if (!mgmtTableCreateFromSuperTable(pTable)) { -// return NULL; -// } -// -// STabObj* pSuperTable = mgmtGetTable(pTable->pTagData); -// int32_t offset = mgmtGetTagsLength(pSuperTable, col) + TSDB_TABLE_ID_LEN; -// assert(offset > 0); -// -// if (pTagColSchema != NULL) { -// *pTagColSchema = ((SSchema*)pSuperTable->schema)[pSuperTable->numOfColumns + col]; -// } -// -// return (pTable->pTagData + offset); -//} - -int32_t mgmtGetTagsLength(SSuperTableObj* pSuperTable, int32_t col) { // length before column col - int32_t len = 0; - int32_t tagColumnIndexOffset = pSuperTable->numOfColumns; - - for (int32_t i = 0; i < pSuperTable->numOfTags && i < col; ++i) { - len += ((SSchema*)pSuperTable->schema)[tagColumnIndexOffset + i].bytes; - } - - return len; -} - -bool mgmtCheckIsMonitorDB(char *db, char *monitordb) { - char dbName[TSDB_DB_NAME_LEN + 1] = {0}; - extractDBName(db, dbName); - - size_t len = strlen(dbName); - return (strncasecmp(dbName, monitordb, len) == 0 && len == strlen(monitordb)); -} - -int32_t mgmtCheckDBParams(SCreateDbMsg *pCreate) { - if (pCreate->commitLog < 0 || pCreate->commitLog > 1) { - mError("invalid db option commitLog: %d, only 0 or 1 allowed", pCreate->commitLog); - return TSDB_CODE_INVALID_OPTION; - } - - if (pCreate->replications < TSDB_REPLICA_MIN_NUM || pCreate->replications > TSDB_REPLICA_MAX_NUM) { - mError("invalid db option replications: %d valid range: [%d, %d]", pCreate->replications, TSDB_REPLICA_MIN_NUM, - TSDB_REPLICA_MAX_NUM); - return TSDB_CODE_INVALID_OPTION; - } - - if (pCreate->daysPerFile < TSDB_FILE_MIN_PARTITION_RANGE || pCreate->daysPerFile > TSDB_FILE_MAX_PARTITION_RANGE) { - mError("invalid db option daysPerFile: %d valid range: [%d, %d]", pCreate->daysPerFile, TSDB_FILE_MIN_PARTITION_RANGE, - TSDB_FILE_MAX_PARTITION_RANGE); - return TSDB_CODE_INVALID_OPTION; - } - - if (pCreate->daysToKeep1 > pCreate->daysToKeep2 || pCreate->daysToKeep2 > pCreate->daysToKeep) { - mError("invalid db option daystokeep1: %d, daystokeep2: %d, daystokeep: %d", pCreate->daysToKeep1, - pCreate->daysToKeep2, pCreate->daysToKeep); - return TSDB_CODE_INVALID_OPTION; - } - - if (pCreate->daysToKeep1 < TSDB_FILE_MIN_PARTITION_RANGE || pCreate->daysToKeep1 < pCreate->daysPerFile) { - mError("invalid db option daystokeep: %d", pCreate->daysToKeep); - return TSDB_CODE_INVALID_OPTION; - } - - if (pCreate->rowsInFileBlock < TSDB_MIN_ROWS_IN_FILEBLOCK || pCreate->rowsInFileBlock > TSDB_MAX_ROWS_IN_FILEBLOCK) { - mError("invalid db option rowsInFileBlock: %d valid range: [%d, %d]", pCreate->rowsInFileBlock, - TSDB_MIN_ROWS_IN_FILEBLOCK, TSDB_MAX_ROWS_IN_FILEBLOCK); - return TSDB_CODE_INVALID_OPTION; - } - - if (pCreate->cacheBlockSize < TSDB_MIN_CACHE_BLOCK_SIZE || pCreate->cacheBlockSize > TSDB_MAX_CACHE_BLOCK_SIZE) { - mError("invalid db option cacheBlockSize: %d valid range: [%d, %d]", pCreate->cacheBlockSize, - TSDB_MIN_CACHE_BLOCK_SIZE, TSDB_MAX_CACHE_BLOCK_SIZE); - return TSDB_CODE_INVALID_OPTION; - } - - if (pCreate->maxSessions < TSDB_MIN_TABLES_PER_VNODE || pCreate->maxSessions > TSDB_MAX_TABLES_PER_VNODE) { - mError("invalid db option maxSessions: %d valid range: [%d, %d]", pCreate->maxSessions, TSDB_MIN_TABLES_PER_VNODE, - TSDB_MAX_TABLES_PER_VNODE); - return TSDB_CODE_INVALID_OPTION; - } - - if (pCreate->precision != TSDB_TIME_PRECISION_MILLI && pCreate->precision != TSDB_TIME_PRECISION_MICRO) { - mError("invalid db option timePrecision: %d valid value: [%d, %d]", pCreate->precision, TSDB_TIME_PRECISION_MILLI, - TSDB_TIME_PRECISION_MICRO); - return TSDB_CODE_INVALID_OPTION; - } - - if (pCreate->cacheNumOfBlocks.fraction < TSDB_MIN_AVG_BLOCKS || pCreate->cacheNumOfBlocks.fraction > TSDB_MAX_AVG_BLOCKS) { - mError("invalid db option ablocks: %f valid value: [%d, %d]", pCreate->cacheNumOfBlocks.fraction, 0, TSDB_MAX_AVG_BLOCKS); - return TSDB_CODE_INVALID_OPTION; - } - - if (pCreate->commitTime < TSDB_MIN_COMMIT_TIME_INTERVAL || pCreate->commitTime > TSDB_MAX_COMMIT_TIME_INTERVAL) { - mError("invalid db option commitTime: %d valid range: [%d, %d]", pCreate->commitTime, TSDB_MIN_COMMIT_TIME_INTERVAL, - TSDB_MAX_COMMIT_TIME_INTERVAL); - return TSDB_CODE_INVALID_OPTION; - } - - if (pCreate->compression < TSDB_MIN_COMPRESSION_LEVEL || pCreate->compression > TSDB_MAX_COMPRESSION_LEVEL) { - mError("invalid db option compression: %d valid range: [%d, %d]", pCreate->compression, TSDB_MIN_COMPRESSION_LEVEL, - TSDB_MAX_COMPRESSION_LEVEL); - return TSDB_CODE_INVALID_OPTION; - } - - return TSDB_CODE_SUCCESS; -} diff --git a/src/vnode/detail/src/vnodeSupertableQuery.c b/src/vnode/detail/src/vnodeSupertableQuery.c index b8b0d13645..74f96aa1a8 100644 --- a/src/vnode/detail/src/vnodeSupertableQuery.c +++ b/src/vnode/detail/src/vnodeSupertableQuery.c @@ -16,7 +16,6 @@ #define _DEFAULT_SOURCE #include "os.h" #include "mnode.h" -#include "mgmtUtil.h" #include "textbuffer.h" #include "tschemautil.h" #include "tsqlfunction.h" -- GitLab