more code

This commit is contained in:
Hongze Cheng 2024-11-07 15:43:54 +08:00
parent 987478ff68
commit 318ac32ca2
6 changed files with 15 additions and 5 deletions

View File

@ -160,6 +160,7 @@ typedef struct SCompactDatabaseStmt {
typedef struct SCompactVgroupsStmt {
ENodeType type;
SNode* pDbName;
SNodeList* vgidList;
SNode* pStart;
SNode* pEnd;

View File

@ -1245,6 +1245,7 @@ void nodesDestroyNode(SNode* pNode) {
}
case QUERY_NODE_COMPACT_VGROUPS_STMT: {
SCompactVgroupsStmt* pStmt = (SCompactVgroupsStmt*)pNode;
nodesDestroyNode(pStmt->pDbName);
nodesDestroyList(pStmt->vgidList);
nodesDestroyNode(pStmt->pStart);
nodesDestroyNode(pStmt->pEnd);

View File

@ -198,7 +198,8 @@ SNode* createFlushDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName);
SNode* createTrimDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName, int32_t maxSpeed);
SNode* createS3MigrateDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName);
SNode* createCompactStmt(SAstCreateContext* pCxt, SToken* pDbName, SNode* pStart, SNode* pEnd);
SNode* createCompactVgroupsStmt(SAstCreateContext* pCxt, SNodeList* vgidList, SNode* pStart, SNode* pEnd);
SNode* createCompactVgroupsStmt(SAstCreateContext* pCxt, SNode* pDbName, SNodeList* vgidList, SNode* pStart,
SNode* pEnd);
SNode* createDefaultTableOptions(SAstCreateContext* pCxt);
SNode* createAlterTableOptions(SAstCreateContext* pCxt);
SNode* setTableOption(SAstCreateContext* pCxt, SNode* pOptions, ETableOptionType type, void* pVal);

View File

@ -229,7 +229,7 @@ cmd ::= FLUSH DATABASE db_name(A).
cmd ::= TRIM DATABASE db_name(A) speed_opt(B). { pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &A, B); }
cmd ::= S3MIGRATE DATABASE db_name(A). { pCxt->pRootNode = createS3MigrateDatabaseStmt(pCxt, &A); }
cmd ::= COMPACT DATABASE db_name(A) start_opt(B) end_opt(C). { pCxt->pRootNode = createCompactStmt(pCxt, &A, B, C); }
cmd ::= COMPACT VGROUPS IN NK_LP integer_list(A) NK_RP start_opt(B) end_opt(C). { pCxt->pRootNode = createCompactVgroupsStmt(pCxt, A, B, C); }
cmd ::= COMPACT db_name_cond_opt(A) VGROUPS IN NK_LP integer_list(B) NK_RP start_opt(C) end_opt(D). { pCxt->pRootNode = createCompactVgroupsStmt(pCxt, A, B, C, D); }
%type not_exists_opt { bool }
%destructor not_exists_opt { }

View File

@ -2115,12 +2115,18 @@ _err:
return NULL;
}
SNode* createCompactVgroupsStmt(SAstCreateContext* pCxt, SNodeList* vgidList, SNode* pStart, SNode* pEnd) {
SNode* createCompactVgroupsStmt(SAstCreateContext* pCxt, SNode* pDbName, SNodeList* vgidList, SNode* pStart,
SNode* pEnd) {
CHECK_PARSER_STATUS(pCxt);
CHECK_NAME(checkDbName(pCxt, NULL, true));
if (NULL == pDbName) {
snprintf(pCxt->pQueryCxt->pMsg, pCxt->pQueryCxt->msgLen, "database not specified");
pCxt->errCode = TSDB_CODE_PAR_DB_NOT_SPECIFIED;
CHECK_PARSER_STATUS(pCxt);
}
SCompactVgroupsStmt* pStmt = NULL;
pCxt->errCode = nodesMakeNode(QUERY_NODE_COMPACT_VGROUPS_STMT, (SNode**)&pStmt);
CHECK_MAKE_NODE(pStmt);
pStmt->pDbName = pDbName;
pStmt->vgidList = vgidList;
pStmt->pStart = pStart;
pStmt->pEnd = pEnd;

View File

@ -10489,7 +10489,8 @@ static int32_t translateCompactVgroups(STranslateContext* pCxt, SCompactVgroupsS
}
if (TSDB_CODE_SUCCESS == code) {
code = translateCompactRange(pCxt, NULL /* TODO */, pStmt->pStart, pStmt->pEnd, &req.timeRange);
code =
translateCompactRange(pCxt, ((SValueNode*)pStmt->pDbName)->literal, pStmt->pStart, pStmt->pEnd, &req.timeRange);
}
if (TSDB_CODE_SUCCESS == code) {