001package gudusoft.gsqlparser.stmt.mssql;
002
003import gudusoft.gsqlparser.*;
004import gudusoft.gsqlparser.nodes.TDummy;
005import gudusoft.gsqlparser.nodes.TObjectName;
006import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
007
008public class TMssqlRollback extends TCustomSqlStatement {
009     public TMssqlRollback (EDbVendor dbvendor){
010        super(dbvendor);
011        sqlstatementtype = ESqlStatementType.sstmssqlrollback ;
012        }
013
014    public TObjectName getTransactionName() {
015        return transactionName;
016    }
017
018    void buildsql() {
019    }
020
021    void clear() {
022    }
023
024    String getasprettytext() {
025        return "";
026    }
027
028    void iterate(TVisitorAbs pvisitor) {
029    }
030
031    private TObjectName transactionName = null;
032    private TSourceToken trans_or_work = null;
033
034    public TSourceToken getTrans_or_work() {
035        return trans_or_work;
036    }
037
038    public int doParseStatement(TCustomSqlStatement psql) {
039        if (rootNode == null) return -1;
040        TDummy dummySqlNode = (TDummy)rootNode;
041
042        super.doParseStatement(psql);
043        this.transactionName = (TObjectName)dummySqlNode.node1;
044        if (this.transactionName != null){
045        //this.transactionName.setObjectType(TObjectName.ttobjTransactionName);
046        this.transactionName.setDbObjectType(EDbObjectType.transaction);
047        }
048        this.trans_or_work = dummySqlNode.st1;
049
050        return 0;
051    }
052
053    public void accept(TParseTreeVisitor v){
054        v.preVisit(this);
055        v.postVisit(this);
056    }
057
058    public void acceptChildren(TParseTreeVisitor v){
059        v.preVisit(this);
060        v.postVisit(this);
061    }
062
063    public void setTransactionName(TObjectName transactionName) {
064        this.transactionName = transactionName;
065    }
066}