001package gudusoft.gsqlparser.stmt.mysql;
002
003import gudusoft.gsqlparser.*;
004import gudusoft.gsqlparser.nodes.*;
005
006public class TShowEngineStmt extends TCustomMySQLStmt {
007
008    private TObjectName engineName;
009    private String engineOption;
010
011    public TShowEngineStmt(EDbVendor dbvendor) {
012        super(dbvendor);
013        sqlstatementtype = ESqlStatementType.sstmysqlshow;
014    }
015
016    public TObjectName getEngineName() {
017        return engineName;
018    }
019
020    public String getEngineOption() {
021        return engineOption;
022    }
023
024    @Override
025    public int doParseStatement(TCustomSqlStatement psql) {
026        if (rootNode == null) return -1;
027        super.doParseStatement(psql);
028        
029        TDummy node = (TDummy)rootNode;
030        engineName = (TObjectName)node.node1;
031        
032        if (node.st1 != null) {
033            engineOption = node.st1.toString();
034        }
035        
036        return 0;
037    }
038
039    @Override
040    public void accept(TParseTreeVisitor v) {
041        v.preVisit(this);
042        v.postVisit(this);
043    }
044
045    @Override
046    public void acceptChildren(TParseTreeVisitor v) {
047        v.preVisit(this);
048        if (engineName != null) {
049            engineName.accept(v);
050        }
051        v.postVisit(this);
052    }
053}