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
008
009public class TMssqlCommit extends TCustomSqlStatement {
010     public TMssqlCommit (EDbVendor dbvendor){
011        super(dbvendor);
012        sqlstatementtype = ESqlStatementType.sstmssqlcommit ;
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    /**
029     *
030     * @return Name of this transaction if specified.
031     */
032    public TObjectName getTransactionName() {
033        return transactionName;
034    }
035
036    private TObjectName transactionName = null;
037    private TSourceToken trans_or_work = null;
038
039    public TSourceToken getTrans_or_work() {
040        return trans_or_work;
041    }
042
043    public int doParseStatement(TCustomSqlStatement psql) {
044        if (rootNode == null) return -1;
045        TDummy dummySqlNode = (TDummy)rootNode;
046
047        super.doParseStatement(psql);
048        this.transactionName = (TObjectName)dummySqlNode.node1;
049        if (this.transactionName != null){
050        //this.transactionName.setObjectType(TObjectName.ttobjTransactionName);
051        this.transactionName.setDbObjectType(EDbObjectType.transaction);
052        }
053        this.trans_or_work = dummySqlNode.st1;
054        
055        return 0;
056    }
057
058    public void accept(TParseTreeVisitor v){
059        v.preVisit(this);
060        v.postVisit(this);
061    }
062
063    public void acceptChildren(TParseTreeVisitor v){
064        v.preVisit(this);
065        v.postVisit(this);
066    }
067
068    public void setTransactionName(TObjectName transactionName) {
069        this.transactionName = transactionName;
070    }
071}