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}