001package gudusoft.gsqlparser.stmt.oceanbase; 002 003import gudusoft.gsqlparser.EDbVendor; 004import gudusoft.gsqlparser.ESqlStatementType; 005import gudusoft.gsqlparser.TCustomSqlStatement; 006import gudusoft.gsqlparser.nodes.TObjectName; 007import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 008import gudusoft.gsqlparser.nodes.oceanbase.TOceanbaseDropTablegroupSqlNode; 009 010/** 011 * OceanBase {@code DROP TABLEGROUP} statement (Phase 4 Batch 6). 012 * 013 * <p>Tagged {@link ESqlStatementType#sstoceanbase_drop_tablegroup}. 014 * 015 * @since 4.0.1.4 016 */ 017public class TDropTablegroupSqlStatement extends TCustomSqlStatement { 018 019 private TObjectName tablegroupName; 020 private boolean ifExists; 021 022 public TDropTablegroupSqlStatement(EDbVendor dbvendor) { 023 super(dbvendor); 024 this.sqlstatementtype = ESqlStatementType.sstoceanbase_drop_tablegroup; 025 } 026 027 public TObjectName getTablegroupName() { 028 return tablegroupName; 029 } 030 031 public boolean isIfExists() { 032 return ifExists; 033 } 034 035 @Override 036 public int doParseStatement(TCustomSqlStatement psql) { 037 if (rootNode == null) return -1; 038 super.doParseStatement(psql); 039 TOceanbaseDropTablegroupSqlNode node = 040 (TOceanbaseDropTablegroupSqlNode) rootNode; 041 this.tablegroupName = node.getTablegroupName(); 042 this.ifExists = node.isIfExists(); 043 return 0; 044 } 045 046 @Override 047 public void accept(TParseTreeVisitor v) { 048 v.preVisit(this); 049 v.postVisit(this); 050 } 051 052 @Override 053 public void acceptChildren(TParseTreeVisitor v) { 054 v.preVisit(this); 055 v.postVisit(this); 056 } 057}