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}