001package gudusoft.gsqlparser.stmt.mysql; 002 003import gudusoft.gsqlparser.*; 004import gudusoft.gsqlparser.nodes.TDeclareSqlNode; 005import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 006import gudusoft.gsqlparser.nodes.TObjectName; 007import gudusoft.gsqlparser.nodes.TDeclareVariableList; 008 009public class TMySQLDeclare extends TCustomMySQLStmt { 010 public TMySQLDeclare (EDbVendor dbvendor){ 011 super(dbvendor); 012 sqlstatementtype = ESqlStatementType.sstmysqldeclare ; 013 } 014 015 void buildsql() { 016 } 017 018 void clear() { 019 } 020 021 String getasprettytext() { 022 return ""; 023 } 024 025 private TObjectName cursorName = null; 026 private EDeclareType declareType = EDeclareType.variable; 027 028 public TObjectName getCursorName() { 029 return cursorName; 030 } 031 032 /** 033 * 034 * @return EDeclareType.variable or EDeclareType.cursor 035 */ 036 public EDeclareType getDeclareType() { 037 return declareType; 038 } 039 040 public TDeclareVariableList getVariables() { 041 return variables; 042 } 043 044 private TDeclareVariableList variables = null; 045 046 public int doParseStatement(TCustomSqlStatement psql) { 047 if (rootNode == null) return -1; 048 TDeclareSqlNode declareSqlNode = (TDeclareSqlNode)rootNode; 049 050 super.doParseStatement(psql); 051 this.declareType = declareSqlNode.getDeclareType(); 052 if (this.declareType == EDeclareType.variable){ 053 this.variables = declareSqlNode.getVariables(); 054 } 055 056 return 0; 057 } 058 059 public void accept(TParseTreeVisitor v){ 060 v.preVisit(this); 061 062 v.postVisit(this); 063 } 064 065 public void acceptChildren(TParseTreeVisitor v){ 066 v.preVisit(this); 067 if (variables != null) variables.acceptChildren(v); 068 v.postVisit(this); 069 } 070 071 public void setCursorName(TObjectName cursorName) { 072 this.cursorName = cursorName; 073 } 074 075 public void setDeclareType(EDeclareType declareType) { 076 this.declareType = declareType; 077 } 078 079 public void setVariables(TDeclareVariableList variables) { 080 this.variables = variables; 081 } 082}