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 run(Object object) throws com.daffodilwoods.database.resource.DException { 16 Object 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 ) 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 toString() { 38 StringBuffer sb = new StringBuffer (); 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 clone() throws CloneNotSupportedException { 49 return this; 50 } 51 52 public Object releaseSavePoint1(Object savePoint, _UserSession userSession) throws com.daffodilwoods.database.resource.DException { 53 ArrayList savePointVector = userSession.getSavePointVector(); 54 int index = savePointVector.indexOf( ( (String ) 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 |