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.TOceanbaseAlterSystemSqlNode; 009import gudusoft.gsqlparser.nodes.oceanbase.TOceanbaseAlterSystemSqlNode.EAction; 010 011/** 012 * OceanBase {@code ALTER SYSTEM} statement (Phase 4 Batch 3 + 10). 013 * 014 * <p>Tagged {@link ESqlStatementType#sstoceanbase_alter_system}. 015 * 016 * @since 4.0.1.4 017 */ 018public class TAlterSystemSqlStatement extends TCustomSqlStatement { 019 020 private EAction actionType; 021 private TObjectName settingName; 022 private TObjectName settingValue; 023 private TObjectName targetName; 024 private String subVerb; 025 026 public TAlterSystemSqlStatement(EDbVendor dbvendor) { 027 super(dbvendor); 028 this.sqlstatementtype = ESqlStatementType.sstoceanbase_alter_system; 029 } 030 031 public EAction getActionType() { 032 return actionType; 033 } 034 035 public TObjectName getSettingName() { 036 return settingName; 037 } 038 039 public TObjectName getSettingValue() { 040 return settingValue; 041 } 042 043 public TObjectName getTargetName() { 044 return targetName; 045 } 046 047 public String getSubVerb() { 048 return subVerb; 049 } 050 051 @Override 052 public int doParseStatement(TCustomSqlStatement psql) { 053 if (rootNode == null) return -1; 054 super.doParseStatement(psql); 055 TOceanbaseAlterSystemSqlNode node = 056 (TOceanbaseAlterSystemSqlNode) rootNode; 057 this.actionType = node.getActionType(); 058 this.settingName = node.getSettingName(); 059 this.settingValue = node.getSettingValue(); 060 this.targetName = node.getTargetName(); 061 this.subVerb = node.getSubVerb(); 062 return 0; 063 } 064 065 @Override 066 public void accept(TParseTreeVisitor v) { 067 v.preVisit(this); 068 v.postVisit(this); 069 } 070 071 @Override 072 public void acceptChildren(TParseTreeVisitor v) { 073 v.preVisit(this); 074 v.postVisit(this); 075 } 076}