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 { typedef struct SCompactVgroupsStmt {
ENodeType type; ENodeType type;
SNode* pDbName;
SNodeList* vgidList; SNodeList* vgidList;
SNode* pStart; SNode* pStart;
SNode* pEnd; SNode* pEnd;

View File

@ -1245,6 +1245,7 @@ void nodesDestroyNode(SNode* pNode) {
} }
case QUERY_NODE_COMPACT_VGROUPS_STMT: { case QUERY_NODE_COMPACT_VGROUPS_STMT: {
SCompactVgroupsStmt* pStmt = (SCompactVgroupsStmt*)pNode; SCompactVgroupsStmt* pStmt = (SCompactVgroupsStmt*)pNode;
nodesDestroyNode(pStmt->pDbName);
nodesDestroyList(pStmt->vgidList); nodesDestroyList(pStmt->vgidList);
nodesDestroyNode(pStmt->pStart); nodesDestroyNode(pStmt->pStart);
nodesDestroyNode(pStmt->pEnd); 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* createTrimDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName, int32_t maxSpeed);
SNode* createS3MigrateDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName); SNode* createS3MigrateDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName);
SNode* createCompactStmt(SAstCreateContext* pCxt, SToken* pDbName, SNode* pStart, SNode* pEnd); 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* createDefaultTableOptions(SAstCreateContext* pCxt);
SNode* createAlterTableOptions(SAstCreateContext* pCxt); SNode* createAlterTableOptions(SAstCreateContext* pCxt);
SNode* setTableOption(SAstCreateContext* pCxt, SNode* pOptions, ETableOptionType type, void* pVal); 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 ::= 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 ::= 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 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 } %type not_exists_opt { bool }
%destructor not_exists_opt { } %destructor not_exists_opt { }

View File

@ -2115,12 +2115,18 @@ _err:
return NULL; 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_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; SCompactVgroupsStmt* pStmt = NULL;
pCxt->errCode = nodesMakeNode(QUERY_NODE_COMPACT_VGROUPS_STMT, (SNode**)&pStmt); pCxt->errCode = nodesMakeNode(QUERY_NODE_COMPACT_VGROUPS_STMT, (SNode**)&pStmt);
CHECK_MAKE_NODE(pStmt); CHECK_MAKE_NODE(pStmt);
pStmt->pDbName = pDbName;
pStmt->vgidList = vgidList; pStmt->vgidList = vgidList;
pStmt->pStart = pStart; pStmt->pStart = pStart;
pStmt->pEnd = pEnd; pStmt->pEnd = pEnd;

View File

@ -10489,7 +10489,8 @@ static int32_t translateCompactVgroups(STranslateContext* pCxt, SCompactVgroupsS
} }
if (TSDB_CODE_SUCCESS == code) { 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) { if (TSDB_CODE_SUCCESS == code) {