public class org.hsqldb.TransactionManager2PL extends org.hsqldb.TransactionManagerCommon implements org.hsqldb.TransactionManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hsqldb.TransactionManager2PL
super_class: org.hsqldb.TransactionManagerCommon
{
public void <init>(org.hsqldb.Database);
descriptor: (Lorg/hsqldb/Database;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.hsqldb.TransactionManagerCommon.<init>:(Lorg/hsqldb/Database;)V
1: aload 0
aload 0
getfield org.hsqldb.TransactionManager2PL.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sessionManager:Lorg/hsqldb/SessionManager;
invokevirtual org.hsqldb.SessionManager.getSysLobSession:()Lorg/hsqldb/Session;
putfield org.hsqldb.TransactionManager2PL.lobSession:Lorg/hsqldb/Session;
2: aload 0
iconst_0
putfield org.hsqldb.TransactionManager2PL.txModel:I
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hsqldb/TransactionManager2PL;
0 4 1 db Lorg/hsqldb/Database;
MethodParameters:
Name Flags
db
public long getGlobalChangeTimestamp();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.TransactionManager2PL.globalChangeTimestamp:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/TransactionManager2PL;
public void setGlobalChangeTimestamp(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hsqldb.TransactionManager2PL.globalChangeTimestamp:Ljava/util/concurrent/atomic/AtomicLong;
lload 1
invokevirtual java.util.concurrent.atomic.AtomicLong.set:(J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hsqldb/TransactionManager2PL;
0 2 1 ts J
MethodParameters:
Name Flags
ts
public boolean isMVRows();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/TransactionManager2PL;
public boolean isMVCC();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/TransactionManager2PL;
public boolean is2PL();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/TransactionManager2PL;
public int getTransactionControl();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/TransactionManager2PL;
public void setTransactionControl(org.hsqldb.Session, int);
descriptor: (Lorg/hsqldb/Session;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokespecial org.hsqldb.TransactionManagerCommon.setTransactionControl:(Lorg/hsqldb/Session;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hsqldb/TransactionManager2PL;
0 2 1 session Lorg/hsqldb/Session;
0 2 2 mode I
MethodParameters:
Name Flags
session
mode
public void completeActions(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.hsqldb.TransactionManager2PL.endActionTPL:(Lorg/hsqldb/Session;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hsqldb/TransactionManager2PL;
0 2 1 session Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
public boolean prepareCommitActions(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.hsqldb.TransactionManager2PL.getNextGlobalChangeTimestamp:()J
putfield org.hsqldb.Session.actionTimestamp:J
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hsqldb/TransactionManager2PL;
0 2 1 session Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
public boolean commitTransaction(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.abortTransaction:Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManager2PL.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
3: aload 1
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
istore 2
start local 2 4: aload 1
aload 0
invokevirtual org.hsqldb.TransactionManager2PL.getNextGlobalChangeTimestamp:()J
putfield org.hsqldb.Session.actionTimestamp:J
5: aload 1
aload 1
getfield org.hsqldb.Session.actionTimestamp:J
putfield org.hsqldb.Session.transactionEndTimestamp:J
6: aload 0
aload 1
invokevirtual org.hsqldb.TransactionManager2PL.endTransaction:(Lorg/hsqldb/Session;)V
7: iconst_0
istore 3
start local 3 8: goto 12
9: StackMap locals: int int
StackMap stack:
aload 1
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
iload 3
invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.RowAction
astore 4
start local 4 10: aload 4
aload 1
invokevirtual org.hsqldb.RowAction.commit:(Lorg/hsqldb/Session;)I
pop
end local 4 11: iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
iload 2
if_icmplt 9
end local 3 13: aload 0
aload 1
invokevirtual org.hsqldb.TransactionManager2PL.adjustLobUsage:(Lorg/hsqldb/Session;)V
14: aload 0
aload 1
invokevirtual org.hsqldb.TransactionManager2PL.persistCommit:(Lorg/hsqldb/Session;)V
15: aload 1
iconst_0
putfield org.hsqldb.Session.isTransaction:Z
16: aload 0
aload 1
invokevirtual org.hsqldb.TransactionManager2PL.endTransactionTPL:(Lorg/hsqldb/Session;)V
end local 2 17: goto 21
StackMap locals: org.hsqldb.TransactionManager2PL org.hsqldb.Session
StackMap stack: java.lang.Throwable
18: astore 5
19: aload 0
getfield org.hsqldb.TransactionManager2PL.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
20: aload 5
athrow
21: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManager2PL.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
22: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
23: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/hsqldb/TransactionManager2PL;
0 24 1 session Lorg/hsqldb/Session;
4 17 2 limit I
8 13 3 i I
10 11 4 action Lorg/hsqldb/RowAction;
Exception table:
from to target type
3 18 18 any
MethodParameters:
Name Flags
session
public void rollback(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hsqldb.TransactionManager2PL.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
1: aload 1
iconst_0
putfield org.hsqldb.Session.abortTransaction:Z
2: aload 1
aload 0
invokevirtual org.hsqldb.TransactionManager2PL.getNextGlobalChangeTimestamp:()J
putfield org.hsqldb.Session.actionTimestamp:J
3: aload 1
aload 1
getfield org.hsqldb.Session.actionTimestamp:J
putfield org.hsqldb.Session.transactionEndTimestamp:J
4: aload 0
aload 1
iconst_0
aload 1
getfield org.hsqldb.Session.transactionTimestamp:J
invokevirtual org.hsqldb.TransactionManager2PL.rollbackPartial:(Lorg/hsqldb/Session;IJ)V
5: aload 0
aload 1
invokevirtual org.hsqldb.TransactionManager2PL.endTransaction:(Lorg/hsqldb/Session;)V
6: aload 1
invokevirtual org.hsqldb.Session.logSequences:()V
7: aload 1
iconst_0
putfield org.hsqldb.Session.isTransaction:Z
8: aload 0
aload 1
invokevirtual org.hsqldb.TransactionManager2PL.endTransactionTPL:(Lorg/hsqldb/Session;)V
9: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 2
11: aload 0
getfield org.hsqldb.TransactionManager2PL.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
12: aload 2
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManager2PL.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/hsqldb/TransactionManager2PL;
0 15 1 session Lorg/hsqldb/Session;
Exception table:
from to target type
1 10 10 any
MethodParameters:
Name Flags
session
public void rollbackSavepoint(org.hsqldb.Session, int);
descriptor: (Lorg/hsqldb/Session;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.savepointTimestamps:Lorg/hsqldb/lib/LongDeque;
iload 2
invokevirtual org.hsqldb.lib.LongDeque.get:(I)J
lstore 3
start local 3 1: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.savepoints:Lorg/hsqldb/lib/HashMappedList;
iload 2
invokevirtual org.hsqldb.lib.HashMappedList.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
astore 5
start local 5 2: aload 5
invokevirtual java.lang.Integer.intValue:()I
istore 6
start local 6 3: goto 8
4: StackMap locals: long java.lang.Integer int
StackMap stack:
aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.savepoints:Lorg/hsqldb/lib/HashMappedList;
5: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.savepoints:Lorg/hsqldb/lib/HashMappedList;
invokevirtual org.hsqldb.lib.HashMappedList.size:()I
iconst_1
isub
6: invokevirtual org.hsqldb.lib.HashMappedList.remove:(I)Ljava/lang/Object;
pop
7: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.savepointTimestamps:Lorg/hsqldb/lib/LongDeque;
invokevirtual org.hsqldb.lib.LongDeque.removeLast:()J
pop2
8: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.savepoints:Lorg/hsqldb/lib/HashMappedList;
invokevirtual org.hsqldb.lib.HashMappedList.size:()I
iload 2
iconst_1
iadd
if_icmpgt 4
9: aload 0
aload 1
iload 6
lload 3
invokevirtual org.hsqldb.TransactionManager2PL.rollbackPartial:(Lorg/hsqldb/Session;IJ)V
10: return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hsqldb/TransactionManager2PL;
0 11 1 session Lorg/hsqldb/Session;
0 11 2 index I
1 11 3 timestamp J
2 11 5 oi Ljava/lang/Integer;
3 11 6 start I
MethodParameters:
Name Flags
session
index
public void rollbackAction(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
getfield org.hsqldb.Session.actionIndex:I
1: aload 1
getfield org.hsqldb.Session.actionStartTimestamp:J
2: invokevirtual org.hsqldb.TransactionManager2PL.rollbackPartial:(Lorg/hsqldb/Session;IJ)V
3: aload 0
aload 1
invokevirtual org.hsqldb.TransactionManager2PL.endActionTPL:(Lorg/hsqldb/Session;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hsqldb/TransactionManager2PL;
0 5 1 session Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
public void rollbackPartial(org.hsqldb.Session, int, long);
descriptor: (Lorg/hsqldb/Session;IJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
istore 5
start local 5 1: iload 2
iload 5
if_icmpne 3
2: return
3: StackMap locals: int
StackMap stack:
iload 5
iconst_1
isub
istore 6
start local 6 4: goto 18
5: StackMap locals: int
StackMap stack:
aload 1
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
iload 6
invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.RowAction
astore 7
start local 7 6: aload 7
ifnull 17
aload 7
getfield org.hsqldb.RowAction.type:B
ifeq 17
7: aload 7
getfield org.hsqldb.RowAction.type:B
iconst_3
if_icmpne 9
8: goto 17
9: StackMap locals: org.hsqldb.RowAction
StackMap stack:
aload 7
getfield org.hsqldb.RowAction.memoryRow:Lorg/hsqldb/Row;
astore 8
start local 8 10: aload 8
ifnonnull 12
11: aload 7
getfield org.hsqldb.RowAction.store:Lorg/hsqldb/persist/PersistentStore;
aload 7
invokevirtual org.hsqldb.RowAction.getPos:()J
iconst_0
invokeinterface org.hsqldb.persist.PersistentStore.get:(JZ)Lorg/hsqldb/persist/CachedObject;
checkcast org.hsqldb.Row
astore 8
12: StackMap locals: org.hsqldb.Row
StackMap stack:
aload 8
ifnonnull 14
13: goto 17
14: StackMap locals:
StackMap stack:
aload 7
aload 1
lload 3
invokevirtual org.hsqldb.RowAction.rollback:(Lorg/hsqldb/Session;J)V
15: aload 7
aload 1
lload 3
aload 8
invokevirtual org.hsqldb.RowAction.mergeRollback:(Lorg/hsqldb/Session;JLorg/hsqldb/Row;)I
istore 9
start local 9 16: aload 7
getfield org.hsqldb.RowAction.store:Lorg/hsqldb/persist/PersistentStore;
aload 1
aload 8
iload 9
aload 0
getfield org.hsqldb.TransactionManager2PL.txModel:I
invokeinterface org.hsqldb.persist.PersistentStore.rollbackRow:(Lorg/hsqldb/Session;Lorg/hsqldb/Row;II)V
end local 9 end local 8 end local 7 17: StackMap locals:
StackMap stack:
iinc 6 -1
StackMap locals:
StackMap stack:
18: iload 6
iload 2
if_icmpge 5
end local 6 19: aload 1
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
iload 2
invokevirtual org.hsqldb.lib.HsqlArrayList.setSize:(I)V
20: return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/hsqldb/TransactionManager2PL;
0 21 1 session Lorg/hsqldb/Session;
0 21 2 start I
0 21 3 timestamp J
1 21 5 limit I
4 19 6 i I
6 17 7 action Lorg/hsqldb/RowAction;
10 17 8 row Lorg/hsqldb/Row;
16 17 9 type I
MethodParameters:
Name Flags
session
start
timestamp
public org.hsqldb.RowAction addDeleteAction(org.hsqldb.Session, org.hsqldb.Table, org.hsqldb.persist.PersistentStore, org.hsqldb.Row, int[]);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Table;Lorg/hsqldb/persist/PersistentStore;Lorg/hsqldb/Row;[I)Lorg/hsqldb/RowAction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
dup
astore 7
monitorenter
1: aload 1
aload 2
aload 4
aload 5
invokestatic org.hsqldb.RowAction.addDeleteAction:(Lorg/hsqldb/Session;Lorg/hsqldb/TableBase;Lorg/hsqldb/Row;[I)Lorg/hsqldb/RowAction;
astore 6
start local 6 2: aload 7
monitorexit
3: goto 6
end local 6 StackMap locals: org.hsqldb.TransactionManager2PL org.hsqldb.Session org.hsqldb.Table org.hsqldb.persist.PersistentStore org.hsqldb.Row int[] top org.hsqldb.Row
StackMap stack: java.lang.Throwable
4: aload 7
monitorexit
5: athrow
start local 6 6: StackMap locals: org.hsqldb.TransactionManager2PL org.hsqldb.Session org.hsqldb.Table org.hsqldb.persist.PersistentStore org.hsqldb.Row int[] org.hsqldb.RowAction
StackMap stack:
aload 1
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
aload 6
invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
pop
7: aload 3
aload 1
aload 4
invokeinterface org.hsqldb.persist.PersistentStore.delete:(Lorg/hsqldb/Session;Lorg/hsqldb/Row;)V
8: aload 4
aconst_null
putfield org.hsqldb.Row.rowAction:Lorg/hsqldb/RowAction;
9: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/hsqldb/TransactionManager2PL;
0 10 1 session Lorg/hsqldb/Session;
0 10 2 table Lorg/hsqldb/Table;
0 10 3 store Lorg/hsqldb/persist/PersistentStore;
0 10 4 row Lorg/hsqldb/Row;
0 10 5 colMap [I
2 4 6 action Lorg/hsqldb/RowAction;
6 10 6 action Lorg/hsqldb/RowAction;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
session
table
store
row
colMap
public void addInsertAction(org.hsqldb.Session, org.hsqldb.Table, org.hsqldb.persist.PersistentStore, org.hsqldb.Row, int[]);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Table;Lorg/hsqldb/persist/PersistentStore;Lorg/hsqldb/Row;[I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
getfield org.hsqldb.Row.rowAction:Lorg/hsqldb/RowAction;
astore 6
start local 6 1: aload 6
ifnonnull 5
2: sipush 458
3: ldc "null insert action "
4: invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
5: StackMap locals: org.hsqldb.RowAction
StackMap stack:
aload 3
aload 1
aload 4
invokeinterface org.hsqldb.persist.PersistentStore.indexRow:(Lorg/hsqldb/Session;Lorg/hsqldb/Row;)V
6: aload 2
getfield org.hsqldb.Table.persistenceScope:I
bipush 20
if_icmpne 9
7: aload 4
aconst_null
putfield org.hsqldb.Row.rowAction:Lorg/hsqldb/RowAction;
8: return
9: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
aload 6
invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
pop
10: aload 4
aconst_null
putfield org.hsqldb.Row.rowAction:Lorg/hsqldb/RowAction;
11: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/hsqldb/TransactionManager2PL;
0 12 1 session Lorg/hsqldb/Session;
0 12 2 table Lorg/hsqldb/Table;
0 12 3 store Lorg/hsqldb/persist/PersistentStore;
0 12 4 row Lorg/hsqldb/Row;
0 12 5 changedColumns [I
1 12 6 action Lorg/hsqldb/RowAction;
MethodParameters:
Name Flags
session
table
store
row
changedColumns
public void addInsertAction(org.hsqldb.Session, org.hsqldb.persist.PersistentStore, org.hsqldb.Row);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/persist/PersistentStore;Lorg/hsqldb/Row;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getfield org.hsqldb.Row.rowAction:Lorg/hsqldb/RowAction;
astore 4
start local 4 1: aload 4
ifnonnull 5
2: sipush 458
3: ldc "null insert action "
4: invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
5: StackMap locals: org.hsqldb.RowAction
StackMap stack:
aload 2
aload 1
aload 3
invokeinterface org.hsqldb.persist.PersistentStore.indexRow:(Lorg/hsqldb/Session;Lorg/hsqldb/Row;)V
6: aload 1
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
aload 4
invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
pop
7: aload 3
aconst_null
putfield org.hsqldb.Row.rowAction:Lorg/hsqldb/RowAction;
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/hsqldb/TransactionManager2PL;
0 9 1 session Lorg/hsqldb/Session;
0 9 2 store Lorg/hsqldb/persist/PersistentStore;
0 9 3 row Lorg/hsqldb/Row;
1 9 4 action Lorg/hsqldb/RowAction;
MethodParameters:
Name Flags
session
store
row
public void beginTransaction(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.isTransaction:Z
ifne 2
1: aload 0
aload 1
invokevirtual org.hsqldb.TransactionManager2PL.beginTransactionCommon:(Lorg/hsqldb/Session;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/TransactionManager2PL;
0 3 1 session Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
public void beginAction(org.hsqldb.Session, org.hsqldb.Statement);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.hsqldb.TransactionManager2PL.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
1: aload 0
getfield org.hsqldb.TransactionManager2PL.hasExpired:Z
ifeq 5
2: aload 1
iconst_1
putfield org.hsqldb.Session.redoAction:Z
3: aload 0
getfield org.hsqldb.TransactionManager2PL.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
4: return
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.hsqldb.TransactionManager2PL.updateCurrentStatement:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Lorg/hsqldb/Statement;
astore 2
6: aload 2
ifnonnull 9
7: aload 0
getfield org.hsqldb.TransactionManager2PL.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
8: return
9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.hsqldb.TransactionManager2PL.setWaitedSessionsTPL:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
istore 3
start local 3 10: iload 3
ifeq 17
11: aload 1
iconst_1
putfield org.hsqldb.Session.isPreTransaction:Z
12: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.isEmpty:()Z
ifeq 15
13: aload 0
aload 1
aload 2
invokevirtual org.hsqldb.TransactionManager2PL.lockTablesTPL:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)V
14: goto 22
15: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual org.hsqldb.TransactionManager2PL.setWaitingSessionTPL:(Lorg/hsqldb/Session;)V
16: goto 22
17: StackMap locals:
StackMap stack:
aload 1
iconst_1
putfield org.hsqldb.Session.abortTransaction:Z
end local 3 18: goto 22
StackMap locals: org.hsqldb.TransactionManager2PL org.hsqldb.Session org.hsqldb.Statement
StackMap stack: java.lang.Throwable
19: astore 4
20: aload 0
getfield org.hsqldb.TransactionManager2PL.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
21: aload 4
athrow
22: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManager2PL.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
23: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/hsqldb/TransactionManager2PL;
0 24 1 session Lorg/hsqldb/Session;
0 24 2 cs Lorg/hsqldb/Statement;
10 18 3 canProceed Z
Exception table:
from to target type
1 3 19 any
5 7 19 any
9 19 19 any
MethodParameters:
Name Flags
session
cs
public void beginActionResume(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.isTransaction:Z
ifeq 4
1: aload 1
aload 0
invokevirtual org.hsqldb.TransactionManager2PL.getNextGlobalChangeTimestamp:()J
putfield org.hsqldb.Session.actionTimestamp:J
2: aload 1
aload 1
getfield org.hsqldb.Session.actionTimestamp:J
putfield org.hsqldb.Session.actionStartTimestamp:J
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.hsqldb.TransactionManager2PL.beginTransactionCommon:(Lorg/hsqldb/Session;)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hsqldb/TransactionManager2PL;
0 6 1 session Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
public void removeTransactionInfo(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/TransactionManager2PL;
0 1 1 id J
MethodParameters:
Name Flags
id
public void resetSession(org.hsqldb.Session, org.hsqldb.Session, int);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Session;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
invokespecial org.hsqldb.TransactionManagerCommon.resetSession:(Lorg/hsqldb/Session;Lorg/hsqldb/Session;I)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hsqldb/TransactionManager2PL;
0 2 1 session Lorg/hsqldb/Session;
0 2 2 targetSession Lorg/hsqldb/Session;
0 2 3 mode I
MethodParameters:
Name Flags
session
targetSession
mode
private void endTransaction(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.isTransaction:Z
ifeq 2
1: aload 0
getfield org.hsqldb.TransactionManager2PL.transactionCount:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/TransactionManager2PL;
0 3 1 session Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
public long getNextGlobalChangeTimestamp();
descriptor: ()J
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
invokespecial org.hsqldb.TransactionManagerCommon.getNextGlobalChangeTimestamp:()J
lreturn
LocalVariableTable:
Start End Slot Name Signature
public void abortAction(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokespecial org.hsqldb.TransactionManagerCommon.abortAction:(Lorg/hsqldb/Session;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "TransactionManager2PL.java"
InnerClasses:
public WriteLock = java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock of java.util.concurrent.locks.ReentrantReadWriteLock