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}