Merge branch '3.0' into feature/tq
This commit is contained in:
commit
87a85bf0d9
File diff suppressed because it is too large
Load Diff
|
@ -93,10 +93,13 @@ title: TDengine 参数限制与保留关键字
|
|||
`TBNAME` 可以视为超级表中一个特殊的标签,代表子表的表名。
|
||||
|
||||
获取一个超级表所有的子表名及相关的标签信息:
|
||||
|
||||
```mysql
|
||||
SELECT TBNAME, location FROM meters;
|
||||
```
|
||||
|
||||
统计超级表下辖子表数量:
|
||||
|
||||
```mysql
|
||||
SELECT COUNT(TBNAME) FROM meters;
|
||||
```
|
||||
|
|
|
@ -56,6 +56,7 @@ There are about 200 keywords reserved by TDengine, they can't be used as the nam
|
|||
Get the table name and tag values of all subtables in a STable.
|
||||
```mysql
|
||||
SELECT TBNAME, location FROM meters;
|
||||
```
|
||||
|
||||
Count the number of subtables in a STable.
|
||||
```mysql
|
||||
|
|
|
@ -183,8 +183,7 @@ int32_t* taosGetErrno();
|
|||
#define TSDB_CODE_MND_BNODE_NOT_EXIST TAOS_DEF_ERROR_CODE(0, 0x0357)
|
||||
#define TSDB_CODE_MND_TOO_FEW_MNODES TAOS_DEF_ERROR_CODE(0, 0x0358)
|
||||
#define TSDB_CODE_MND_TOO_MANY_MNODES TAOS_DEF_ERROR_CODE(0, 0x0359)
|
||||
#define TSDB_CODE_MND_MNODE_DEPLOYED TAOS_DEF_ERROR_CODE(0, 0x035A)
|
||||
#define TSDB_CODE_MND_CANT_DROP_MASTER TAOS_DEF_ERROR_CODE(0, 0x035B)
|
||||
#define TSDB_CODE_MND_CANT_DROP_MASTER TAOS_DEF_ERROR_CODE(0, 0x035A)
|
||||
|
||||
// mnode-acct
|
||||
#define TSDB_CODE_MND_ACCT_ALREADY_EXIST TAOS_DEF_ERROR_CODE(0, 0x0360)
|
||||
|
|
|
@ -256,7 +256,7 @@ int32_t mndGetDnodeSize(SMnode *pMnode) {
|
|||
|
||||
bool mndIsDnodeOnline(SMnode *pMnode, SDnodeObj *pDnode, int64_t curMs) {
|
||||
int64_t interval = TABS(pDnode->lastAccessTime - curMs);
|
||||
if (interval > 30000 * tsStatusInterval) {
|
||||
if (interval > 5000 * tsStatusInterval) {
|
||||
if (pDnode->rebootTime > 0) {
|
||||
pDnode->offlineReason = DND_REASON_STATUS_MSG_TIMEOUT;
|
||||
}
|
||||
|
@ -613,7 +613,7 @@ static int32_t mndProcessDropDnodeReq(SRpcMsg *pReq) {
|
|||
|
||||
pMObj = mndAcquireMnode(pMnode, dropReq.dnodeId);
|
||||
if (pMObj != NULL) {
|
||||
terrno = TSDB_CODE_MND_MNODE_DEPLOYED;
|
||||
terrno = TSDB_CODE_MND_MNODE_NOT_EXIST;
|
||||
goto DROP_DNODE_OVER;
|
||||
}
|
||||
|
||||
|
|
|
@ -633,6 +633,7 @@ static int32_t mndRetrieveMnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
|
|||
int32_t cols = 0;
|
||||
SMnodeObj *pObj = NULL;
|
||||
char *pWrite;
|
||||
int64_t curMs = taosGetTimestampMs();
|
||||
|
||||
while (numOfRows < rows) {
|
||||
pShow->pIter = sdbFetch(pSdb, SDB_MNODE, pShow->pIter, (void **)&pObj);
|
||||
|
@ -648,11 +649,16 @@ static int32_t mndRetrieveMnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
|
|||
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
|
||||
colDataAppend(pColInfo, numOfRows, b1, false);
|
||||
|
||||
bool online = mndIsDnodeOnline(pMnode, pObj->pDnode, curMs);
|
||||
const char *roles = NULL;
|
||||
if (pObj->id == pMnode->selfDnodeId) {
|
||||
roles = syncStr(TAOS_SYNC_STATE_LEADER);
|
||||
} else {
|
||||
roles = syncStr(pObj->state);
|
||||
if (!online) {
|
||||
roles = "OFFLINE";
|
||||
} else {
|
||||
roles = syncStr(pObj->state);
|
||||
}
|
||||
}
|
||||
char *b2 = taosMemoryCalloc(1, 12 + VARSTR_HEADER_SIZE);
|
||||
STR_WITH_MAXSIZE_TO_VARSTR(b2, roles, pShow->pMeta->pSchemas[cols].bytes);
|
||||
|
|
|
@ -1646,8 +1646,8 @@ bool leastSQRFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo* pResultInf
|
|||
|
||||
pInfo->startVal = IS_FLOAT_TYPE(pCtx->param[1].param.nType) ? pCtx->param[1].param.d :
|
||||
(double)pCtx->param[1].param.i;
|
||||
pInfo->stepVal = IS_FLOAT_TYPE(pCtx->param[1].param.nType) ? pCtx->param[2].param.d :
|
||||
(double)pCtx->param[1].param.i;
|
||||
pInfo->stepVal = IS_FLOAT_TYPE(pCtx->param[2].param.nType) ? pCtx->param[2].param.d :
|
||||
(double)pCtx->param[2].param.i;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,11 @@ target_include_directories(
|
|||
PUBLIC "${TD_SOURCE_DIR}/contrib/msvcregex"
|
||||
)
|
||||
# iconv
|
||||
find_path(IconvApiIncludes iconv.h PATHS)
|
||||
if(TD_WINDOWS)
|
||||
find_path(IconvApiIncludes iconv.h "${TD_SOURCE_DIR}/contrib/iconv")
|
||||
else()
|
||||
find_path(IconvApiIncludes iconv.h PATHS)
|
||||
endif(TD_WINDOWS)
|
||||
if(NOT IconvApiIncludes)
|
||||
add_definitions(-DDISALLOW_NCHAR_WITHOUT_ICONV)
|
||||
endif ()
|
||||
|
|
|
@ -186,10 +186,9 @@ TAOS_DEFINE_ERROR(TSDB_CODE_MND_SNODE_ALREADY_EXIST, "Snode already exists"
|
|||
TAOS_DEFINE_ERROR(TSDB_CODE_MND_SNODE_NOT_EXIST, "Snode not there")
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_MND_BNODE_ALREADY_EXIST, "Bnode already exists")
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_MND_BNODE_NOT_EXIST, "Bnode not there")
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_MND_TOO_FEW_MNODES, "Too few mnodes")
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_MND_TOO_MANY_MNODES, "Too many mnodes")
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_MND_MNODE_DEPLOYED, "Mnode deployed in this dnode")
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_MND_CANT_DROP_MASTER, "Can't drop mnode which is master")
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_MND_TOO_FEW_MNODES, "The replicas of mnode cannot less than 1")
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_MND_TOO_MANY_MNODES, "The replicas of mnode cannot exceed 3")
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_MND_CANT_DROP_MASTER, "Can't drop mnode which is LEADER")
|
||||
|
||||
// mnode-acct
|
||||
TAOS_DEFINE_ERROR(TSDB_CODE_MND_ACCT_ALREADY_EXIST, "Account already exists")
|
||||
|
|
|
@ -110,6 +110,10 @@ print $data(1)[0] $data(1)[1] $data(1)[2]
|
|||
print $data(2)[0] $data(2)[1] $data(2)[2]
|
||||
print $data(3)[0] $data(3)[1] $data(3)[2]
|
||||
|
||||
if $data(2)[2] != OFFLINE then
|
||||
goto step5
|
||||
endi
|
||||
|
||||
sql show users
|
||||
if $rows != 2 then
|
||||
return -1
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 4d83d8c62973506f760bcaa3a33f4665ed9046d0
|
||||
Subproject commit 717f5aaa5f0a1b4d92bb2ae68858fec554fb5eda
|
Loading…
Reference in New Issue