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}