001package gudusoft.gsqlparser.stmt.mssql; 002 003import gudusoft.gsqlparser.*; 004import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 005import gudusoft.gsqlparser.nodes.TExpression; 006import gudusoft.gsqlparser.nodes.TExpressionList; 007import gudusoft.gsqlparser.nodes.mssql.TMssqlRaiserrorSqlNode; 008 009public class TMssqlRaiserror extends TCustomSqlStatement { 010 public TMssqlRaiserror (EDbVendor dbvendor){ 011 super(dbvendor); 012 sqlstatementtype = ESqlStatementType.sstraiserror ; 013 } 014 015 void buildsql() { 016 } 017 018 void clear() { 019 } 020 021 String getasprettytext() { 022 return ""; 023 } 024 025 void iterate(TVisitorAbs pvisitor) { 026 } 027 028 private TExpression messageText = null; 029 private TExpression severity = null; 030 private TExpression state = null; 031 032 public TExpressionList getArgs() { 033 if(args == null){ 034 this.args = new TExpressionList(); 035 } 036 return args; 037 } 038 039 public TExpression getMessageText() { 040 return messageText; 041 } 042 043 public TExpression getSeverity() { 044 return severity; 045 } 046 047 public TExpression getState() { 048 return state; 049 } 050 051 private TExpressionList args = null; 052 053 public int doParseStatement(TCustomSqlStatement psql) { 054 if (rootNode == null) return -1; 055 TMssqlRaiserrorSqlNode node = (TMssqlRaiserrorSqlNode)rootNode; 056 super.doParseStatement(psql); 057 058 if (node.getMsgs() != null){ 059 messageText = node.getMsgs().getExpression(0); 060 if (node.getMsgs().size() > 2){ 061 this.severity = node.getMsgs().getExpression(1); 062 this.state = node.getMsgs().getExpression(2); 063 } 064 065 if (node.getMsgs().size() > 3){ 066 for(int i=3; i < node.getMsgs().size(); i++){ 067 this.getArgs().addExpression(node.getMsgs().getExpression(i)); 068 } 069 } 070 071 } 072 073 return 0; 074 } 075 076 public void accept(TParseTreeVisitor v){ 077 v.preVisit(this); 078 v.postVisit(this); 079 } 080 081 public void acceptChildren(TParseTreeVisitor v){ 082 v.preVisit(this); 083 v.postVisit(this); 084 } 085 086 public void setMessageText(TExpression messageText) { 087 this.messageText = messageText; 088 } 089 090 public void setSeverity(TExpression severity) { 091 this.severity = severity; 092 } 093 094 public void setState(TExpression state) { 095 this.state = state; 096 } 097 098 public void setArgs(TExpressionList args) { 099 this.args = args; 100 } 101}