001package gudusoft.gsqlparser.stmt.hive; 002/* 003 * Date: 13-8-9 004 */ 005 006import gudusoft.gsqlparser.EDbVendor; 007import gudusoft.gsqlparser.ESqlClause; 008import gudusoft.gsqlparser.ESqlStatementType; 009import gudusoft.gsqlparser.TCustomSqlStatement; 010import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 011import gudusoft.gsqlparser.nodes.hive.THiveExplainSqlNode; 012 013public class THiveExplain extends TCustomSqlStatement { 014 015 TCustomSqlStatement stmt; 016 017 public TCustomSqlStatement getStmt() { 018 return stmt; 019 } 020 021 public THiveExplain(EDbVendor dbvendor) { 022 super(dbvendor); 023 sqlstatementtype = ESqlStatementType.ssthiveExplain; 024 } 025 026 public int doParseStatement(TCustomSqlStatement psql) { 027 if (rootNode == null) return -1; 028 super.doParseStatement(psql); 029 THiveExplainSqlNode explainSqlNode = (THiveExplainSqlNode)rootNode; 030 explainSqlNode.getStmtSqlNode().doParse(this, ESqlClause.unknown); 031 stmt = explainSqlNode.getStmtSqlNode().getStmt(); 032 033 return 0; 034 } 035 036 public void accept(TParseTreeVisitor v){ 037 v.preVisit(this); 038 v.postVisit(this); 039 } 040 041 public void acceptChildren(TParseTreeVisitor v){ 042 v.preVisit(this); 043 stmt.accept(v); 044 v.postVisit(this); 045 } 046 047 public void setStmt(TCustomSqlStatement stmt) { 048 this.stmt = stmt; 049 } 050}