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.TOceanbaseAlterResourceUnitSqlNode; 009import gudusoft.gsqlparser.nodes.oceanbase.TOceanbaseResourceOption; 010 011import java.util.ArrayList; 012 013/** 014 * OceanBase {@code ALTER RESOURCE UNIT} statement (Phase 4 Batch 2). 015 * 016 * <p>Tagged {@link ESqlStatementType#sstoceanbase_alter_resource_unit}. 017 * 018 * @since 4.0.1.4 019 */ 020public class TAlterResourceUnitSqlStatement extends TCustomSqlStatement { 021 022 private TObjectName unitName; 023 private ArrayList<TOceanbaseResourceOption> resourceOptions 024 = new ArrayList<TOceanbaseResourceOption>(); 025 026 public TAlterResourceUnitSqlStatement(EDbVendor dbvendor) { 027 super(dbvendor); 028 this.sqlstatementtype = ESqlStatementType.sstoceanbase_alter_resource_unit; 029 } 030 031 public TObjectName getUnitName() { 032 return unitName; 033 } 034 035 public ArrayList<TOceanbaseResourceOption> getResourceOptions() { 036 return resourceOptions; 037 } 038 039 @Override 040 public int doParseStatement(TCustomSqlStatement psql) { 041 if (rootNode == null) return -1; 042 super.doParseStatement(psql); 043 TOceanbaseAlterResourceUnitSqlNode node = 044 (TOceanbaseAlterResourceUnitSqlNode) rootNode; 045 this.unitName = node.getUnitName(); 046 this.resourceOptions = node.getResourceOptions(); 047 return 0; 048 } 049 050 @Override 051 public void accept(TParseTreeVisitor v) { 052 v.preVisit(this); 053 v.postVisit(this); 054 } 055 056 @Override 057 public void acceptChildren(TParseTreeVisitor v) { 058 v.preVisit(this); 059 v.postVisit(this); 060 } 061}