KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > dcl > sqltransactionstatement > releasesavepointstatement


1 package com.daffodilwoods.daffodildb.server.sql99.dcl.sqltransactionstatement;
2
3 import java.util.*;
4
5 import com.daffodilwoods.daffodildb.server.serversystem.*;
6 import com.daffodilwoods.daffodildb.server.sessionsystem.*;
7 import com.daffodilwoods.daffodildb.server.sql99.token.*;
8 import com.daffodilwoods.database.resource.*;
9
10 public class releasesavepointstatement implements com.daffodilwoods.daffodildb.utils.parser.StatementExecuter, SQLtransactionstatement {
11    public savepointspecifier _savepointspecifier0;
12    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439221;
13    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439222;
14
15    public Object JavaDoc run(Object JavaDoc object) throws com.daffodilwoods.database.resource.DException {
16       Object JavaDoc savePoint = _savepointspecifier0.run(object);
17       _ServerSession serverSession = (_ServerSession) object;
18       _UserSession userSession = (serverSession).getUserSession();
19       ArrayList savePointVector = userSession.getSavePointVector();
20       int index = savePointVector.indexOf( ( (String JavaDoc) savePoint).toUpperCase());
21       if (index == -1) {
22          throw new DException("DSE890", null);
23       }
24       userSession = commitUptoLevel(userSession, serverSession.getStatementExecutionContext(), savePointVector.size() - index);
25       serverSession.setUserSession(userSession);
26       return null;
27    }
28
29    private _UserSession commitUptoLevel(_UserSession userSession, _StatementExecutionContext sec, int level) throws com.daffodilwoods.database.resource.DException {
30       for (int i = 0; i < level; i++) {
31          userSession.commitSavePoint(sec);
32          userSession.releaseLastSavePoint();
33       }
34       return userSession;
35    }
36
37    public String JavaDoc toString() {
38       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
39       sb.append(" ");
40       sb.append(_SRESERVEDWORD12065439222);
41       sb.append(" ");
42       sb.append(_SRESERVEDWORD12065439221);
43       sb.append(" ");
44       sb.append(_savepointspecifier0);
45       return sb.toString();
46    }
47
48    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
49       return this;
50    }
51
52    public Object JavaDoc releaseSavePoint1(Object JavaDoc savePoint, _UserSession userSession) throws com.daffodilwoods.database.resource.DException {
53       ArrayList savePointVector = userSession.getSavePointVector();
54       int index = savePointVector.indexOf( ( (String JavaDoc) savePoint).toUpperCase());
55       if (index == -1) {
56          throw new DException("DSE890", null);
57       }
58       commitUptoLevel(userSession, null, savePointVector.size() - index);
59       return null;
60
61    }
62
63 }
64
Popular Tags