001package gudusoft.gsqlparser.stmt; 002 003import gudusoft.gsqlparser.EDbVendor; 004import gudusoft.gsqlparser.ESqlStatementType; 005import gudusoft.gsqlparser.TCustomSqlStatement; 006import gudusoft.gsqlparser.nodes.*; 007 008/** 009 * DROP TASK statement for StarRocks. 010 * 011 * Syntax: 012 * DROP TASK [IF EXISTS] `task_name` [FORCE] 013 */ 014public class TStarrocksDropTaskStmt extends TCustomSqlStatement { 015 016 // Task identification 017 private TObjectName taskName; 018 019 // IF EXISTS clause 020 private boolean ifExists; 021 022 // FORCE clause 023 private boolean force; 024 025 public TStarrocksDropTaskStmt(EDbVendor dbvendor) { 026 super(dbvendor); 027 sqlstatementtype = ESqlStatementType.sststarrocksDropTask; 028 } 029 030 // Getters 031 public TObjectName getTaskName() { 032 return taskName; 033 } 034 035 public boolean isIfExists() { 036 return ifExists; 037 } 038 039 public boolean isForce() { 040 return force; 041 } 042 043 @Override 044 public int doParseStatement(TCustomSqlStatement psql) { 045 if (rootNode == null) return -1; 046 super.doParseStatement(psql); 047 048 TDropTaskSqlNode node = (TDropTaskSqlNode) rootNode; 049 050 this.taskName = node.getTaskName(); 051 this.ifExists = node.isIfExists(); 052 this.force = node.isForce(); 053 054 return 0; 055 } 056 057 @Override 058 public void accept(TParseTreeVisitor v) { 059 v.preVisit(this); 060 v.postVisit(this); 061 } 062 063 @Override 064 public void acceptChildren(TParseTreeVisitor v) { 065 v.preVisit(this); 066 v.postVisit(this); 067 } 068}