Merge pull request #6437 from taosdata/hotfix/TD-4642
[TD-4642]taosd crash for subscribe
This commit is contained in:
commit
bb2ee6b46f
|
@ -264,7 +264,7 @@ static int tscUpdateSubscription(STscObj* pObj, SSub* pSub) {
|
|||
|
||||
SSqlCmd* pCmd = &pSql->cmd;
|
||||
|
||||
pSub->lastSyncTime = taosGetTimestampMs();
|
||||
TSDB_QUERY_CLEAR_TYPE(tscGetQueryInfoDetail(pCmd, 0)->type, TSDB_QUERY_TYPE_MULTITABLE_QUERY);
|
||||
|
||||
STableMetaInfo *pTableMetaInfo = tscGetTableMetaInfoFromCmd(pCmd, pCmd->clauseIndex, 0);
|
||||
if (UTIL_TABLE_IS_NORMAL_TABLE(pTableMetaInfo)) {
|
||||
|
@ -275,6 +275,8 @@ static int tscUpdateSubscription(STscObj* pObj, SSub* pSub) {
|
|||
taosArrayClear(pSub->progress);
|
||||
taosArrayPush(pSub->progress, &target);
|
||||
}
|
||||
|
||||
pSub->lastSyncTime = taosGetTimestampMs();
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -304,7 +306,11 @@ static int tscUpdateSubscription(STscObj* pObj, SSub* pSub) {
|
|||
}
|
||||
taosArrayDestroy(tables);
|
||||
|
||||
TSDB_QUERY_SET_TYPE(tscGetQueryInfoDetail(pCmd, 0)->type, TSDB_QUERY_TYPE_MULTITABLE_QUERY);
|
||||
if (pTableMetaInfo->pVgroupTables && taosArrayGetSize(pTableMetaInfo->pVgroupTables) > 0) {
|
||||
TSDB_QUERY_SET_TYPE(tscGetQueryInfoDetail(pCmd, 0)->type, TSDB_QUERY_TYPE_MULTITABLE_QUERY);
|
||||
}
|
||||
|
||||
pSub->lastSyncTime = taosGetTimestampMs();
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -3319,6 +3319,9 @@ int32_t tsdbGetTableGroupFromIdList(STsdbRepo* tsdb, SArray* pTableIdList, STabl
|
|||
if (pTable->type == TSDB_SUPER_TABLE) {
|
||||
tsdbError("direct query on super tale is not allowed, table uid:%"PRIu64", tid:%d", id->uid, id->tid);
|
||||
terrno = TSDB_CODE_QRY_INVALID_MSG;
|
||||
tsdbUnlockRepoMeta(tsdb);
|
||||
taosArrayDestroy(group);
|
||||
return terrno;
|
||||
}
|
||||
|
||||
tsdbRefTable(pTable);
|
||||
|
|
|
@ -275,6 +275,10 @@ static int32_t tKeywordCode(const char* z, int n) {
|
|||
}
|
||||
}
|
||||
|
||||
if (keywordHashTable == NULL) {
|
||||
return TK_ILLEGAL;
|
||||
}
|
||||
|
||||
SKeyword** pKey = (SKeyword**)taosHashGet(keywordHashTable, key, n);
|
||||
return (pKey != NULL)? (*pKey)->type:TK_ID;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue