001package gudusoft.gsqlparser.stmt.teradata; 002 003import gudusoft.gsqlparser.ESqlClause; 004import gudusoft.gsqlparser.TCustomSqlStatement; 005import gudusoft.gsqlparser.EDbVendor; 006import gudusoft.gsqlparser.ESqlStatementType; 007import gudusoft.gsqlparser.nodes.TCollectStatisticsSqlNode; 008import gudusoft.gsqlparser.nodes.TColumnDefinitionList; 009import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 010import gudusoft.gsqlparser.nodes.teradata.TTeradataUsingSqlNode; 011 012public class TTeradataUsing extends TCustomSqlStatement { 013 014 015 private TColumnDefinitionList columnDefinitionList; 016 private TCustomSqlStatement sqlRequest; 017 018 public TTeradataUsing(EDbVendor dbvendor) { 019 super(dbvendor); 020 sqlstatementtype = ESqlStatementType.sstteradatausing; 021 } 022 023 public TColumnDefinitionList getColumnDefinitionList() { 024 return columnDefinitionList; 025 } 026 027 public TCustomSqlStatement getSqlRequest() { 028 return sqlRequest; 029 } 030 031 public int doParseStatement(TCustomSqlStatement psql) { 032 if (rootNode == null) return -1; 033 super.doParseStatement(psql); 034 TTeradataUsingSqlNode usingSqlNode = (TTeradataUsingSqlNode)rootNode; 035 columnDefinitionList = usingSqlNode.getColumnDefinitionList(); 036 usingSqlNode.getStmtSqlNode().doParse(this,ESqlClause.unknown); 037 sqlRequest = usingSqlNode.getStmtSqlNode().getStmt(); 038 sqlRequest.setParentStmtToNull(); 039 sqlRequest.setUsingVariableList(columnDefinitionList); 040 //this.setEndToken(sqlRequest.getEndToken()); 041 return 0; 042 } 043 044 public void accept(TParseTreeVisitor v){ 045 v.preVisit(this); 046 v.postVisit(this); 047 } 048 public void acceptChildren(TParseTreeVisitor v){ 049 v.preVisit(this); 050 sqlRequest.accept(v); 051 v.postVisit(this); 052 } 053 054 public void setColumnDefinitionList(TColumnDefinitionList columnDefinitionList) { 055 this.columnDefinitionList = columnDefinitionList; 056 } 057 058 public void setSqlRequest(TCustomSqlStatement sqlRequest) { 059 this.sqlRequest = sqlRequest; 060 } 061}