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.TOceanbaseDropOutlineSqlNode; 009 010/** 011 * OceanBase {@code DROP OUTLINE} statement (Phase 4 Batch 8). 012 * 013 * <p>Tagged {@link ESqlStatementType#sstoracledropoutline} (reused per 014 * ADR-8). 015 * 016 * @since 4.0.1.4 017 */ 018public class TDropOutlineSqlStatement extends TCustomSqlStatement { 019 020 private TObjectName outlineName; 021 022 public TDropOutlineSqlStatement(EDbVendor dbvendor) { 023 super(dbvendor); 024 this.sqlstatementtype = ESqlStatementType.sstoracledropoutline; 025 } 026 027 public TObjectName getOutlineName() { 028 return outlineName; 029 } 030 031 @Override 032 public int doParseStatement(TCustomSqlStatement psql) { 033 if (rootNode == null) return -1; 034 super.doParseStatement(psql); 035 TOceanbaseDropOutlineSqlNode node = 036 (TOceanbaseDropOutlineSqlNode) rootNode; 037 this.outlineName = node.getOutlineName(); 038 return 0; 039 } 040 041 @Override 042 public void accept(TParseTreeVisitor v) { 043 v.preVisit(this); 044 v.postVisit(this); 045 } 046 047 @Override 048 public void acceptChildren(TParseTreeVisitor v) { 049 v.preVisit(this); 050 v.postVisit(this); 051 } 052}