001package gudusoft.gsqlparser.stmt.hive; 002/* 003 * Date: 13-7-30 004 */ 005 006import gudusoft.gsqlparser.EDbVendor; 007import gudusoft.gsqlparser.ESqlClause; 008import gudusoft.gsqlparser.ESqlStatementType; 009import gudusoft.gsqlparser.TCustomSqlStatement; 010import gudusoft.gsqlparser.nodes.TFromTable; 011import gudusoft.gsqlparser.nodes.TObjectName; 012import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 013import gudusoft.gsqlparser.nodes.TTable; 014import gudusoft.gsqlparser.nodes.hive.THiveExportSqlNode; 015 016public class THiveExportTable extends TCustomSqlStatement { 017 018 private TObjectName path; 019 020 public TObjectName getPath() { 021 return path; 022 } 023 024 public TTable getTable() { 025 return table; 026 } 027 028 private TTable table; 029 030 public THiveExportTable(EDbVendor dbvendor) { 031 super(dbvendor); 032 sqlstatementtype = ESqlStatementType.ssthiveExportTable; 033 } 034 035 public int doParseStatement(TCustomSqlStatement psql) { 036 if (rootNode == null) return -1; 037 super.doParseStatement(psql); 038 THiveExportSqlNode node = (THiveExportSqlNode)rootNode; 039 040 path = node.getPath(); 041 table = this.analyzeFromTable(node.getFromTable(),true) ; 042 043 return 0; 044 } 045 046 public void accept(TParseTreeVisitor v){ 047 v.preVisit(this); 048 v.postVisit(this); 049 } 050 051 public void acceptChildren(TParseTreeVisitor v){ 052 v.preVisit(this); 053 v.postVisit(this); 054 } 055 056 public void setPath(TObjectName path) { 057 this.path = path; 058 } 059 060 public void setTable(TTable table) { 061 this.table = table; 062 } 063}