001package gudusoft.gsqlparser.stmt.db2; 002 003import gudusoft.gsqlparser.*; 004import gudusoft.gsqlparser.nodes.*; 005 006public class TDb2SetVariableStmt extends TCustomDb2Stmt { 007 public TDb2SetVariableStmt(EDbVendor dbvendor){ 008 super(dbvendor); 009 sqlstatementtype = ESqlStatementType.sstdb2set ; 010 } 011 012 void buildsql() { 013 } 014 015 void clear() { 016 } 017 018 String getasprettytext() { 019 return ""; 020 } 021 022 void iterate(TVisitorAbs pvisitor) { 023 } 024 025 public TPTNodeList<TSetAssignment> getAssignments() { 026 return assignments; 027 } 028 029 public int doParseStatement(TCustomSqlStatement psql) { 030 if (rootNode == null) return -1; 031 super.doParseStatement(psql); 032 033 TSetSqlNode setSqlNode = (TSetSqlNode)rootNode; 034 //exprList = setSqlNode.getExprList(); 035 036 assignments = setSqlNode.getAssignments(); 037 for (int i=0;i<assignments.size();i++){ 038 assignments.getElement(i).getParameterValue().doParse(this,ESqlClause.setVariable); 039// TExpression expr = assignments.getElement(i).getExpression(); 040// if (expr.getExpressionType() == EExpressionType.simple_comparison_t){ 041// expr.setExpressionType(EExpressionType.assignment_t); 042// expr.doParse(this,ESqlClause.setVariable); 043// } 044 } 045 046 return 0; 047 } 048 049 public TExpressionList getExprList() { 050 return exprList; 051 } 052 053 private TExpressionList exprList = null; 054 private TPTNodeList<TSetAssignment> assignments; 055 056 public void accept(TParseTreeVisitor v){ 057 v.preVisit(this); 058 v.postVisit(this); 059 } 060 061 public void acceptChildren(TParseTreeVisitor v){ 062 v.preVisit(this); 063 assignments.accept(v); 064 v.postVisit(this); 065 } 066 067 public void setExprList(TExpressionList exprList) { 068 this.exprList = exprList; 069 } 070 071 public void setAssignments(TPTNodeList<TSetAssignment> assignments) { 072 this.assignments = assignments; 073 } 074}