Merge pull request #25589 from taosdata/fix/TS-4730
fix: create stream udf issue
This commit is contained in:
commit
b023e6f9df
|
@ -405,6 +405,13 @@ static int32_t collectMetaKeyFromDescribe(SCollectMetaKeyCxt* pCxt, SDescribeStm
|
||||||
static int32_t collectMetaKeyFromCreateStream(SCollectMetaKeyCxt* pCxt, SCreateStreamStmt* pStmt) {
|
static int32_t collectMetaKeyFromCreateStream(SCollectMetaKeyCxt* pCxt, SCreateStreamStmt* pStmt) {
|
||||||
int32_t code =
|
int32_t code =
|
||||||
reserveTableMetaInCache(pCxt->pParseCxt->acctId, pStmt->targetDbName, pStmt->targetTabName, pCxt->pMetaCache);
|
reserveTableMetaInCache(pCxt->pParseCxt->acctId, pStmt->targetDbName, pStmt->targetTabName, pCxt->pMetaCache);
|
||||||
|
if (TSDB_CODE_SUCCESS == code && NULL != pStmt->pSubtable && NULL != pStmt->pQuery) {
|
||||||
|
SSelectStmt* pSelect = (SSelectStmt*)pStmt->pQuery;
|
||||||
|
pSelect->pSubtable = nodesCloneNode(pStmt->pSubtable);
|
||||||
|
if (NULL == pSelect->pSubtable) {
|
||||||
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (TSDB_CODE_SUCCESS == code) {
|
if (TSDB_CODE_SUCCESS == code) {
|
||||||
code = collectMetaKeyFromQuery(pCxt, pStmt->pQuery);
|
code = collectMetaKeyFromQuery(pCxt, pStmt->pQuery);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1054,9 +1054,9 @@ static bool isPrimaryKey(STempTableNode* pTable, SNode* pExpr) {
|
||||||
static bool hasPkInTable(const STableMeta* pTableMeta) {
|
static bool hasPkInTable(const STableMeta* pTableMeta) {
|
||||||
bool hasPK = pTableMeta->tableInfo.numOfColumns >= 2 && pTableMeta->schema[1].flags & COL_IS_KEY;
|
bool hasPK = pTableMeta->tableInfo.numOfColumns >= 2 && pTableMeta->schema[1].flags & COL_IS_KEY;
|
||||||
if (hasPK) {
|
if (hasPK) {
|
||||||
uInfo("has primary key, %s", pTableMeta->schema[1].name);
|
uDebug("has primary key, %s", pTableMeta->schema[1].name);
|
||||||
} else {
|
} else {
|
||||||
uInfo("no primary key, %s", pTableMeta->schema[1].name);
|
uDebug("no primary key, %s", pTableMeta->schema[1].name);
|
||||||
}
|
}
|
||||||
return hasPK;
|
return hasPK;
|
||||||
}
|
}
|
||||||
|
@ -9327,10 +9327,13 @@ static int32_t addSubtableNameToCreateStreamQuery(STranslateContext* pCxt, SCrea
|
||||||
if (NULL == pStmt->pSubtable) {
|
if (NULL == pStmt->pSubtable) {
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
pSelect->pSubtable = nodesCloneNode(pStmt->pSubtable);
|
|
||||||
if (NULL == pSelect->pSubtable) {
|
if (NULL == pSelect->pSubtable) {
|
||||||
return TSDB_CODE_OUT_OF_MEMORY;
|
pSelect->pSubtable = nodesCloneNode(pStmt->pSubtable);
|
||||||
|
if (NULL == pSelect->pSubtable) {
|
||||||
|
return TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SRewriteSubtableCxt cxt = {.pCxt = pCxt, .pPartitionList = pSelect->pPartitionByList};
|
SRewriteSubtableCxt cxt = {.pCxt = pCxt, .pPartitionList = pSelect->pPartitionByList};
|
||||||
nodesRewriteExpr(&pSelect->pSubtable, rewriteSubtable, &cxt);
|
nodesRewriteExpr(&pSelect->pSubtable, rewriteSubtable, &cxt);
|
||||||
return pCxt->errCode;
|
return pCxt->errCode;
|
||||||
|
|
Loading…
Reference in New Issue