001package gudusoft.gsqlparser.stmt.bigquery;
002
003import gudusoft.gsqlparser.EDbVendor;
004import gudusoft.gsqlparser.ESqlStatementType;
005import gudusoft.gsqlparser.TCustomSqlStatement;
006import gudusoft.gsqlparser.nodes.TObjectName;
007import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
008import gudusoft.gsqlparser.nodes.bigquery.TExportDataSqlNode;
009import gudusoft.gsqlparser.stmt.TSelectSqlStatement;
010
011
012public class TExportDataStmt extends TCustomSqlStatement {
013
014    public TExportDataStmt(EDbVendor dbvendor) {
015        super(dbvendor);
016        sqlstatementtype = ESqlStatementType.sstBigQueryExportData;
017    }
018
019    private TObjectName connectName;
020
021    public TObjectName getConnectName() {
022        return connectName;
023    }
024
025    private TSelectSqlStatement subQuery;
026
027    public TSelectSqlStatement getSubQuery() {
028        return subQuery;
029    }
030
031    public int doParseStatement(TCustomSqlStatement psql) {
032        if (rootNode == null) return -1;
033        super.doParseStatement(psql);
034        TExportDataSqlNode exportDataSqlNode = (TExportDataSqlNode)rootNode;
035        this.connectName = exportDataSqlNode.getConnectName();
036
037        subQuery = new TSelectSqlStatement(this.dbvendor);
038        subQuery.rootNode = exportDataSqlNode.getQuery_statement();
039        subQuery.doParseStatement(this);
040
041        return 0;
042    }
043
044    public void accept(TParseTreeVisitor v){
045        v.preVisit(this);
046        v.postVisit(this);
047    }
048
049    public void acceptChildren(TParseTreeVisitor v){
050        v.preVisit(this);
051        v.postVisit(this);
052    }
053
054
055}