001package gudusoft.gsqlparser.stmt.mssql; 002/* 003 * Date: 14-10-17 004 */ 005 006import gudusoft.gsqlparser.EDbVendor; 007import gudusoft.gsqlparser.ESqlStatementType; 008import gudusoft.gsqlparser.TCustomSqlStatement; 009import gudusoft.gsqlparser.nodes.TExpression; 010import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 011import gudusoft.gsqlparser.nodes.mssql.TMssqlThrowSqlNode; 012 013public class TMssqlThrow extends TCustomSqlStatement { 014 015 private TExpression errorCode; 016 private TExpression errorMessage; 017 private TExpression errorState; 018 019 public TExpression getErrorCode() { 020 return errorCode; 021 } 022 023 public TExpression getErrorMessage() { 024 return errorMessage; 025 } 026 027 public TExpression getErrorState() { 028 return errorState; 029 } 030 031 public TMssqlThrow(EDbVendor dbvendor) { 032 super(dbvendor); 033 sqlstatementtype = ESqlStatementType.sstmssqlthrow; 034 } 035 036 037 public int doParseStatement(TCustomSqlStatement psql) { 038 if (rootNode == null) return -1; 039 TMssqlThrowSqlNode node = (TMssqlThrowSqlNode)rootNode; 040 super.doParseStatement(psql); 041 errorCode = node.getErrorCode(); 042 errorMessage = node.getErrorMessage(); 043 errorState = node.getErrorState(); 044 return 0; 045 } 046 047 public void accept(TParseTreeVisitor v){ 048 v.preVisit(this); 049 v.postVisit(this); 050 } 051 052 public void acceptChildren(TParseTreeVisitor v){ 053 v.preVisit(this); 054 v.postVisit(this); 055 } 056 057 public void setErrorCode(TExpression errorCode) { 058 this.errorCode = errorCode; 059 } 060 061 public void setErrorMessage(TExpression errorMessage) { 062 this.errorMessage = errorMessage; 063 } 064 065 public void setErrorState(TExpression errorState) { 066 this.errorState = errorState; 067 } 068}