001package gudusoft.gsqlparser.stmt.hive; 002/* 003 * Date: 13-7-30 004 */ 005 006import gudusoft.gsqlparser.EDbVendor; 007import gudusoft.gsqlparser.ESqlStatementType; 008import gudusoft.gsqlparser.TCustomSqlStatement; 009import gudusoft.gsqlparser.nodes.TObjectName; 010import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 011import gudusoft.gsqlparser.nodes.TTable; 012import gudusoft.gsqlparser.nodes.hive.THiveLoadSqlNode; 013 014public class THiveLoad extends TCustomSqlStatement { 015 016 017 private boolean islocal = false; 018 private boolean isoverwrite = false; 019 private TObjectName path; 020 private TTable table; 021 022 public THiveLoad(EDbVendor dbvendor) { 023 super(dbvendor); 024 sqlstatementtype = ESqlStatementType.ssthiveLoad; 025 } 026 027 public boolean isIslocal() { 028 return islocal; 029 } 030 031 public boolean isIsoverwrite() { 032 return isoverwrite; 033 } 034 035 public TObjectName getPath() { 036 return path; 037 } 038 039 public TTable getTable() { 040 return table; 041 } 042 043 public int doParseStatement(TCustomSqlStatement psql) { 044 if (rootNode == null) return -1; 045 super.doParseStatement(psql); 046 THiveLoadSqlNode node = (THiveLoadSqlNode)rootNode; 047 islocal = node.isIslocal(); 048 isoverwrite = node.isIsoverwrite(); 049 path = node.getPath(); 050 table = this.analyzeFromTable(node.getFromTable(),true); 051 052 053 return 0; 054 } 055 056 public void accept(TParseTreeVisitor v){ 057 v.preVisit(this); 058 v.postVisit(this); 059 } 060 061 public void acceptChildren(TParseTreeVisitor v){ 062 v.preVisit(this); 063 v.postVisit(this); 064 } 065 066 public void setIslocal(boolean islocal) { 067 this.islocal = islocal; 068 } 069 070 public void setIsoverwrite(boolean isoverwrite) { 071 this.isoverwrite = isoverwrite; 072 } 073 074 public void setPath(TObjectName path) { 075 this.path = path; 076 } 077 078 public void setTable(TTable table) { 079 this.table = table; 080 } 081}