001package gudusoft.gsqlparser.stmt.vertica; 002 003 004import gudusoft.gsqlparser.EDbVendor; 005import gudusoft.gsqlparser.ESqlStatementType; 006import gudusoft.gsqlparser.TCustomSqlStatement; 007import gudusoft.gsqlparser.nodes.TObjectName; 008import gudusoft.gsqlparser.nodes.TObjectNameList; 009import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 010import gudusoft.gsqlparser.nodes.vertica.TExportToVerticaSqlNode; 011import gudusoft.gsqlparser.stmt.*; 012 013public class TExportToVertica extends TCustomSqlStatement { 014 015 private TObjectName destTableName; 016 private TObjectName sourceTableName; 017 private TObjectNameList destColumnList; 018 private TObjectNameList sourceColumnList; 019 private TSelectSqlStatement selectSqlStatement; 020 021 022 public TExportToVertica(EDbVendor dbvendor) { 023 super(dbvendor); 024 sqlstatementtype = ESqlStatementType.sstExportToVertica; 025 } 026 027 028 public TObjectName getDestTableName() { 029 return destTableName; 030 } 031 032 public TObjectName getSourceTableName() { 033 return sourceTableName; 034 } 035 036 public TObjectNameList getDestColumnList() { 037 return destColumnList; 038 } 039 040 public TObjectNameList getSourceColumnList() { 041 return sourceColumnList; 042 } 043 044 public TSelectSqlStatement getSelectSqlStatement() { 045 return selectSqlStatement; 046 } 047 048 public int doParseStatement(TCustomSqlStatement psql) { 049 if (rootNode == null) return -1; 050 super.doParseStatement(psql); 051 TExportToVerticaSqlNode node = (TExportToVerticaSqlNode) (rootNode); 052 destTableName = node.getDestTableName(); 053 sourceTableName = node.getSourceTableName(); 054 destColumnList = node.getDestColumnList(); 055 sourceColumnList = node.getSourceColumnList(); 056 if (node.getSelectSqlNode() != null){ 057 selectSqlStatement = new TSelectSqlStatement(this.dbvendor); 058 selectSqlStatement.rootNode = node.getSelectSqlNode(); 059 selectSqlStatement.doParseStatement(this); 060 } 061 062 return 0; 063 } 064 065 public void accept(TParseTreeVisitor v) { 066 v.preVisit(this); 067 v.postVisit(this); 068 } 069 070 public void acceptChildren(TParseTreeVisitor v) { 071 v.preVisit(this); 072 v.postVisit(this); 073 } 074}