class org.hsqldb.TransactionManagerCommon
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.hsqldb.TransactionManagerCommon
super_class: java.lang.Object
{
org.hsqldb.Database database;
descriptor: Lorg/hsqldb/Database;
flags: (0x0000)
org.hsqldb.Session lobSession;
descriptor: Lorg/hsqldb/Session;
flags: (0x0000)
int txModel;
descriptor: I
flags: (0x0000)
org.hsqldb.HsqlNameManager$HsqlName[] catalogNameList;
descriptor: [Lorg/hsqldb/HsqlNameManager$HsqlName;
flags: (0x0000)
java.util.concurrent.locks.ReentrantReadWriteLock lock;
descriptor: Ljava/util/concurrent/locks/ReentrantReadWriteLock;
flags: (0x0000)
java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock;
descriptor: Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
flags: (0x0000)
org.hsqldb.lib.LongDeque liveTransactionTimestamps;
descriptor: Lorg/hsqldb/lib/LongDeque;
flags: (0x0000)
java.util.concurrent.atomic.AtomicLong globalChangeTimestamp;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0000)
java.util.concurrent.atomic.AtomicInteger transactionCount;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0000)
org.hsqldb.lib.HashMap tableWriteLocks;
descriptor: Lorg/hsqldb/lib/HashMap;
flags: (0x0000)
org.hsqldb.lib.MultiValueHashMap tableReadLocks;
descriptor: Lorg/hsqldb/lib/MultiValueHashMap;
flags: (0x0000)
volatile boolean hasExpired;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
public org.hsqldb.lib.LongKeyHashMap rowActionMap;
descriptor: Lorg/hsqldb/lib/LongKeyHashMap;
flags: (0x0001) ACC_PUBLIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/hsqldb/TransactionManagerCommon;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.hsqldb.TransactionManagerCommon.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.hsqldb.Database);
descriptor: (Lorg/hsqldb/Database;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.locks.ReentrantReadWriteLock
dup
invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
putfield org.hsqldb.TransactionManagerCommon.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
2: aload 0
aload 0
getfield org.hsqldb.TransactionManagerCommon.lock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
putfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
3: aload 0
new org.hsqldb.lib.LongDeque
dup
invokespecial org.hsqldb.lib.LongDeque.<init>:()V
putfield org.hsqldb.TransactionManagerCommon.liveTransactionTimestamps:Lorg/hsqldb/lib/LongDeque;
4: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
lconst_1
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield org.hsqldb.TransactionManagerCommon.globalChangeTimestamp:Ljava/util/concurrent/atomic/AtomicLong;
5: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putfield org.hsqldb.TransactionManagerCommon.transactionCount:Ljava/util/concurrent/atomic/AtomicInteger;
6: aload 0
new org.hsqldb.lib.HashMap
dup
invokespecial org.hsqldb.lib.HashMap.<init>:()V
putfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
7: aload 0
new org.hsqldb.lib.MultiValueHashMap
dup
invokespecial org.hsqldb.lib.MultiValueHashMap.<init>:()V
putfield org.hsqldb.TransactionManagerCommon.tableReadLocks:Lorg/hsqldb/lib/MultiValueHashMap;
8: aload 0
aload 1
putfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
9: aload 0
iconst_1
anewarray org.hsqldb.HsqlNameManager$HsqlName
dup
iconst_0
aload 1
invokevirtual org.hsqldb.Database.getCatalogName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
aastore
putfield org.hsqldb.TransactionManagerCommon.catalogNameList:[Lorg/hsqldb/HsqlNameManager$HsqlName;
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hsqldb/TransactionManagerCommon;
0 11 1 database Lorg/hsqldb/Database;
MethodParameters:
Name Flags
database
void setTransactionControl(org.hsqldb.Session, int);
descriptor: (Lorg/hsqldb/Session;I)V
flags: (0x0000)
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: iload 2
aload 0
getfield org.hsqldb.TransactionManagerCommon.txModel:I
if_icmpne 3
2: return
3: StackMap locals: org.hsqldb.TransactionManagerCommon
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
4: aload 0
getfield org.hsqldb.TransactionManagerCommon.txModel:I
tableswitch { // 1 - 2
1: 5
2: 5
default: 7
}
5: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.liveTransactionTimestamps:Lorg/hsqldb/lib/LongDeque;
invokevirtual org.hsqldb.lib.LongDeque.size:()I
iconst_1
if_icmpeq 7
6: sipush 3701
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
7: StackMap locals:
StackMap stack:
iload 2
tableswitch { // 0 - 2
0: 36
1: 24
2: 8
default: 45
}
8: StackMap locals:
StackMap stack:
new org.hsqldb.TransactionManagerMVCC
dup
aload 0
getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
invokespecial org.hsqldb.TransactionManagerMVCC.<init>:(Lorg/hsqldb/Database;)V
9: astore 4
start local 4 10: aload 4
getfield org.hsqldb.TransactionManagerMVCC.liveTransactionTimestamps:Lorg/hsqldb/lib/LongDeque;
11: aload 1
getfield org.hsqldb.Session.transactionTimestamp:J
12: invokevirtual org.hsqldb.lib.LongDeque.addLast:(J)Z
pop
13: aload 4
aload 1
putfield org.hsqldb.TransactionManagerMVCC.catalogWriteSession:Lorg/hsqldb/Session;
14: aload 4
iconst_1
putfield org.hsqldb.TransactionManagerMVCC.isLockedMode:Z
15: aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
astore 5
start local 5 16: iconst_0
istore 6
start local 6 17: goto 21
18: StackMap locals: org.hsqldb.TransactionManagerMVCC org.hsqldb.lib.OrderedHashSet int
StackMap stack:
aload 5
iload 6
invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 7
start local 7 19: aload 7
getfield org.hsqldb.Session.waitedSessions:Lorg/hsqldb/lib/OrderedHashSet;
aload 1
invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
pop
end local 7 20: iinc 6 1
StackMap locals:
StackMap stack:
21: iload 6
aload 5
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
if_icmplt 18
end local 6 22: aload 4
astore 3
23: goto 48
end local 5 end local 4 24: StackMap locals:
StackMap stack:
new org.hsqldb.TransactionManagerMV2PL
dup
aload 0
getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
invokespecial org.hsqldb.TransactionManagerMV2PL.<init>:(Lorg/hsqldb/Database;)V
astore 3
25: aload 3
getfield org.hsqldb.TransactionManagerCommon.liveTransactionTimestamps:Lorg/hsqldb/lib/LongDeque;
26: aload 1
getfield org.hsqldb.Session.transactionTimestamp:J
27: invokevirtual org.hsqldb.lib.LongDeque.addLast:(J)Z
pop
28: aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
astore 4
start local 4 29: iconst_0
istore 5
start local 5 30: goto 34
31: StackMap locals: org.hsqldb.lib.OrderedHashSet int
StackMap stack:
aload 4
iload 5
invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 6
start local 6 32: aload 6
getfield org.hsqldb.Session.waitedSessions:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
end local 6 33: iinc 5 1
StackMap locals:
StackMap stack:
34: iload 5
aload 4
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
if_icmplt 31
end local 5 35: goto 48
end local 4 36: StackMap locals:
StackMap stack:
new org.hsqldb.TransactionManager2PL
dup
aload 0
getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
invokespecial org.hsqldb.TransactionManager2PL.<init>:(Lorg/hsqldb/Database;)V
astore 3
37: aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
astore 4
start local 4 38: iconst_0
istore 5
start local 5 39: goto 43
40: StackMap locals: org.hsqldb.lib.OrderedHashSet int
StackMap stack:
aload 4
iload 5
invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 6
start local 6 41: aload 6
getfield org.hsqldb.Session.waitedSessions:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
end local 6 42: iinc 5 1
StackMap locals:
StackMap stack:
43: iload 5
aload 4
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
if_icmplt 40
end local 5 44: goto 48
end local 4 45: StackMap locals:
StackMap stack:
sipush 201
46: ldc "TransactionManagerCommon"
47: invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
athrow
48: StackMap locals:
StackMap stack:
aload 3
getfield org.hsqldb.TransactionManagerCommon.globalChangeTimestamp:Ljava/util/concurrent/atomic/AtomicLong;
aload 0
getfield org.hsqldb.TransactionManagerCommon.globalChangeTimestamp:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
invokevirtual java.util.concurrent.atomic.AtomicLong.set:(J)V
49: aload 3
aload 0
getfield org.hsqldb.TransactionManagerCommon.transactionCount:Ljava/util/concurrent/atomic/AtomicInteger;
putfield org.hsqldb.TransactionManagerCommon.transactionCount:Ljava/util/concurrent/atomic/AtomicInteger;
50: aload 0
iconst_1
putfield org.hsqldb.TransactionManagerCommon.hasExpired:Z
51: aload 0
getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
aload 3
checkcast org.hsqldb.TransactionManager
putfield org.hsqldb.Database.txManager:Lorg/hsqldb/TransactionManager;
52: goto 56
StackMap locals:
StackMap stack: java.lang.Throwable
53: astore 8
54: aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
55: aload 8
athrow
56: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
57: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lorg/hsqldb/TransactionManagerCommon;
0 58 1 session Lorg/hsqldb/Session;
0 58 2 mode I
1 58 3 manager Lorg/hsqldb/TransactionManagerCommon;
10 24 4 txMan Lorg/hsqldb/TransactionManagerMVCC;
16 24 5 set Lorg/hsqldb/lib/OrderedHashSet;
17 22 6 i I
19 20 7 current Lorg/hsqldb/Session;
29 36 4 set Lorg/hsqldb/lib/OrderedHashSet;
30 35 5 i I
32 33 6 current Lorg/hsqldb/Session;
38 45 4 set Lorg/hsqldb/lib/OrderedHashSet;
39 44 5 i I
41 42 6 current Lorg/hsqldb/Session;
Exception table:
from to target type
4 53 53 any
MethodParameters:
Name Flags
session
mode
void beginTransactionCommon(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.hsqldb.TransactionManagerCommon.getNextGlobalChangeTimestamp:()J
putfield org.hsqldb.Session.actionTimestamp:J
1: aload 1
aload 1
getfield org.hsqldb.Session.actionTimestamp:J
putfield org.hsqldb.Session.actionStartTimestamp:J
2: aload 1
aload 1
getfield org.hsqldb.Session.actionTimestamp:J
putfield org.hsqldb.Session.transactionTimestamp:J
3: aload 1
iconst_0
putfield org.hsqldb.Session.isPreTransaction:Z
4: aload 1
iconst_1
putfield org.hsqldb.Session.isTransaction:Z
5: aload 0
getfield org.hsqldb.TransactionManagerCommon.transactionCount:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/hsqldb/TransactionManagerCommon;
0 7 1 session Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
void adjustLobUsage(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
istore 2
start local 2 1: aload 1
getfield org.hsqldb.Session.actionTimestamp:J
lstore 3
start local 3 2: iconst_0
istore 5
start local 5 3: goto 21
4: StackMap locals: int long int
StackMap stack:
aload 1
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
iload 5
invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.RowAction
astore 6
start local 6 5: aload 6
getfield org.hsqldb.RowAction.type:B
ifne 7
6: goto 20
7: StackMap locals: org.hsqldb.RowAction
StackMap stack:
aload 6
getfield org.hsqldb.RowAction.table:Lorg/hsqldb/TableBase;
getfield org.hsqldb.TableBase.hasLobColumn:Z
ifeq 20
8: aload 6
lload 3
invokevirtual org.hsqldb.RowAction.getCommitTypeOn:(J)I
istore 7
start local 7 9: aload 6
getfield org.hsqldb.RowAction.memoryRow:Lorg/hsqldb/Row;
astore 8
start local 8 10: aload 8
ifnonnull 12
11: aload 6
getfield org.hsqldb.RowAction.store:Lorg/hsqldb/persist/PersistentStore;
aload 6
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: int org.hsqldb.Row
StackMap stack:
iload 7
tableswitch { // 1 - 4
1: 13
2: 17
3: 20
4: 20
default: 20
}
13: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.Session.sessionData:Lorg/hsqldb/SessionData;
aload 6
getfield org.hsqldb.RowAction.table:Lorg/hsqldb/TableBase;
14: aload 8
invokevirtual org.hsqldb.Row.getData:()[Ljava/lang/Object;
iconst_1
15: invokevirtual org.hsqldb.SessionData.adjustLobUsageCount:(Lorg/hsqldb/TableBase;[Ljava/lang/Object;I)V
16: goto 20
17: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.Session.sessionData:Lorg/hsqldb/SessionData;
aload 6
getfield org.hsqldb.RowAction.table:Lorg/hsqldb/TableBase;
18: aload 8
invokevirtual org.hsqldb.Row.getData:()[Ljava/lang/Object;
iconst_m1
19: invokevirtual org.hsqldb.SessionData.adjustLobUsageCount:(Lorg/hsqldb/TableBase;[Ljava/lang/Object;I)V
end local 8 end local 7 end local 6 20: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
21: iload 5
iload 2
if_icmplt 4
end local 5 22: aload 1
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
istore 5
start local 5 23: iload 5
iload 2
if_icmple 30
24: iload 2
istore 6
start local 6 25: goto 29
26: 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 27: aload 7
aload 1
invokevirtual org.hsqldb.RowAction.commit:(Lorg/hsqldb/Session;)I
pop
end local 7 28: iinc 6 1
StackMap locals:
StackMap stack:
29: iload 6
iload 5
if_icmplt 26
end local 6 30: StackMap locals:
StackMap stack:
return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/hsqldb/TransactionManagerCommon;
0 31 1 session Lorg/hsqldb/Session;
1 31 2 limit I
2 31 3 lastActionTimestamp J
3 22 5 i I
5 20 6 action Lorg/hsqldb/RowAction;
9 20 7 type I
10 20 8 row Lorg/hsqldb/Row;
23 31 5 newLimit I
25 30 6 i I
27 28 7 lobAction Lorg/hsqldb/RowAction;
MethodParameters:
Name Flags
session
org.hsqldb.Statement updateCurrentStatement(org.hsqldb.Session, org.hsqldb.Statement);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Lorg/hsqldb/Statement;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.hsqldb.Statement.getCompileTimestamp:()J
1: aload 0
getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.schemaManager:Lorg/hsqldb/SchemaManager;
invokevirtual org.hsqldb.SchemaManager.getSchemaChangeTimestamp:()J
lcmp
ifge 4
2: aload 1
getfield org.hsqldb.Session.statementManager:Lorg/hsqldb/StatementManager;
aload 1
aload 2
invokevirtual org.hsqldb.StatementManager.getStatement:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Lorg/hsqldb/Statement;
astore 2
3: aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
aload 2
putfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
4: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hsqldb/TransactionManagerCommon;
0 5 1 session Lorg/hsqldb/Session;
0 5 2 cs Lorg/hsqldb/Statement;
MethodParameters:
Name Flags
session
cs
void persistCommit(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 22
4: StackMap locals: int int int
StackMap stack:
aload 1
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
iload 4
invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.RowAction
astore 5
start local 5 5: aload 5
getfield org.hsqldb.RowAction.type:B
ifne 7
6: goto 21
7: StackMap locals: org.hsqldb.RowAction
StackMap stack:
aload 5
aload 1
getfield org.hsqldb.Session.actionTimestamp:J
invokevirtual org.hsqldb.RowAction.getCommitTypeOn:(J)I
istore 6
start local 6 8: aload 5
getfield org.hsqldb.RowAction.memoryRow:Lorg/hsqldb/Row;
astore 7
start local 7 9: aload 7
ifnonnull 11
10: aload 5
getfield org.hsqldb.RowAction.store:Lorg/hsqldb/persist/PersistentStore;
aload 5
invokevirtual org.hsqldb.RowAction.getPos:()J
iconst_0
invokeinterface org.hsqldb.persist.PersistentStore.get:(JZ)Lorg/hsqldb/persist/CachedObject;
checkcast org.hsqldb.Row
astore 7
11: StackMap locals: int org.hsqldb.Row
StackMap stack:
aload 5
getfield org.hsqldb.RowAction.table:Lorg/hsqldb/TableBase;
getfield org.hsqldb.TableBase.tableType:I
iconst_3
if_icmpeq 13
12: iconst_1
istore 3
13: StackMap locals:
StackMap stack:
aload 5
getfield org.hsqldb.RowAction.store:Lorg/hsqldb/persist/PersistentStore;
aload 1
aload 7
iload 6
aload 0
getfield org.hsqldb.TransactionManagerCommon.txModel:I
invokeinterface org.hsqldb.persist.PersistentStore.commitRow:(Lorg/hsqldb/Session;Lorg/hsqldb/Row;II)V
14: aload 0
getfield org.hsqldb.TransactionManagerCommon.txModel:I
ifeq 16
15: aload 5
getfield org.hsqldb.RowAction.table:Lorg/hsqldb/TableBase;
getfield org.hsqldb.TableBase.tableType:I
iconst_3
if_icmpne 21
16: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.hsqldb.RowAction.setAsNoOp:()V
17: aload 7
aconst_null
putfield org.hsqldb.Row.rowAction:Lorg/hsqldb/RowAction;
18: goto 21
StackMap locals:
StackMap stack: org.hsqldb.HsqlException
19: astore 8
start local 8 20: aload 0
getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
ldc "data commit failed"
aload 8
invokevirtual org.hsqldb.persist.Logger.logWarningEvent:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 8 end local 7 end local 6 end local 5 21: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
22: iload 4
iload 2
if_icmplt 4
end local 4 23: aload 1
invokevirtual org.hsqldb.Session.logSequences:()V
24: iload 2
ifle 29
iload 3
ifeq 29
25: aload 0
getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
aload 1
invokevirtual org.hsqldb.persist.Logger.writeCommitStatement:(Lorg/hsqldb/Session;)V
26: goto 29
StackMap locals: org.hsqldb.TransactionManagerCommon org.hsqldb.Session int int
StackMap stack: org.hsqldb.HsqlException
27: astore 4
start local 4 28: aload 0
getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
ldc "data commit logging failed"
aload 4
invokevirtual org.hsqldb.persist.Logger.logWarningEvent:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 29: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/hsqldb/TransactionManagerCommon;
0 30 1 session Lorg/hsqldb/Session;
1 30 2 limit I
2 30 3 writeCommit Z
3 23 4 i I
5 21 5 action Lorg/hsqldb/RowAction;
8 21 6 type I
9 21 7 row Lorg/hsqldb/Row;
20 21 8 e Lorg/hsqldb/HsqlException;
28 29 4 e Lorg/hsqldb/HsqlException;
Exception table:
from to target type
13 18 19 Class org.hsqldb.HsqlException
23 26 27 Class org.hsqldb.HsqlException
MethodParameters:
Name Flags
session
void finaliseRows(org.hsqldb.Session, java.lang.Object[], int, int);
descriptor: (Lorg/hsqldb/Session;[Ljava/lang/Object;II)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
istore 5
start local 5 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 2
iload 5
aaload
checkcast org.hsqldb.RowAction
astore 6
start local 6 3: aload 6
getfield org.hsqldb.RowAction.store:Lorg/hsqldb/persist/PersistentStore;
aload 1
aload 6
invokeinterface org.hsqldb.persist.PersistentStore.postCommitAction:(Lorg/hsqldb/Session;Lorg/hsqldb/RowAction;)V
end local 6 4: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
iload 4
if_icmplt 2
end local 5 6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/hsqldb/TransactionManagerCommon;
0 7 1 session Lorg/hsqldb/Session;
0 7 2 list [Ljava/lang/Object;
0 7 3 start I
0 7 4 limit I
1 6 5 i I
3 4 6 action Lorg/hsqldb/RowAction;
MethodParameters:
Name Flags
session
list
start
limit
void mergeTransaction(java.lang.Object[], int, int, long);
descriptor: ([Ljava/lang/Object;IIJ)V
flags: (0x0000)
Code:
stack=3, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
istore 6
start local 6 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 1
iload 6
aaload
checkcast org.hsqldb.RowAction
astore 7
start local 7 3: aload 7
lload 4
invokevirtual org.hsqldb.RowAction.mergeToTimestamp:(J)V
end local 7 4: iinc 6 1
StackMap locals:
StackMap stack:
5: iload 6
iload 3
if_icmplt 2
end local 6 6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/hsqldb/TransactionManagerCommon;
0 7 1 list [Ljava/lang/Object;
0 7 2 start I
0 7 3 limit I
0 7 4 timestamp J
1 6 6 i I
3 4 7 rowact Lorg/hsqldb/RowAction;
MethodParameters:
Name Flags
list
start
limit
timestamp
public long getNextGlobalChangeTimestamp();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.TransactionManagerCommon.globalChangeTimestamp:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/TransactionManagerCommon;
boolean checkDeadlock(org.hsqldb.Session, org.hsqldb.lib.OrderedHashSet);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/lib/OrderedHashSet;)Z
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 9
3: StackMap locals: int int
StackMap stack:
aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
iload 4
invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 5
start local 5 4: aload 2
aload 5
invokevirtual org.hsqldb.lib.OrderedHashSet.contains:(Ljava/lang/Object;)Z
ifeq 6
5: iconst_0
ireturn
6: StackMap locals: org.hsqldb.Session
StackMap stack:
aload 0
aload 5
aload 2
invokevirtual org.hsqldb.TransactionManagerCommon.checkDeadlock:(Lorg/hsqldb/Session;Lorg/hsqldb/lib/OrderedHashSet;)Z
ifne 8
7: iconst_0
ireturn
end local 5 8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 3
if_icmplt 3
end local 4 10: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hsqldb/TransactionManagerCommon;
0 11 1 session Lorg/hsqldb/Session;
0 11 2 newWaits Lorg/hsqldb/lib/OrderedHashSet;
1 11 3 size I
2 10 4 i I
4 8 5 current Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
newWaits
boolean checkDeadlock(org.hsqldb.Session, org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Session;)Z
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 9
3: StackMap locals: int int
StackMap stack:
aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
iload 4
invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 5
start local 5 4: aload 5
aload 2
if_acmpne 6
5: iconst_0
ireturn
6: StackMap locals: org.hsqldb.Session
StackMap stack:
aload 0
aload 5
aload 2
invokevirtual org.hsqldb.TransactionManagerCommon.checkDeadlock:(Lorg/hsqldb/Session;Lorg/hsqldb/Session;)Z
ifne 8
7: iconst_0
ireturn
end local 5 8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 3
if_icmplt 3
end local 4 10: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hsqldb/TransactionManagerCommon;
0 11 1 session Lorg/hsqldb/Session;
0 11 2 other Lorg/hsqldb/Session;
1 11 3 size I
2 10 4 i I
4 8 5 current Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
other
void getTransactionSessions(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
astore 2
start local 2 1: aload 0
getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sessionManager:Lorg/hsqldb/SessionManager;
invokevirtual org.hsqldb.SessionManager.getAllSessions:()[Lorg/hsqldb/Session;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 8
4: StackMap locals: org.hsqldb.lib.OrderedHashSet org.hsqldb.Session[] int
StackMap stack:
aload 3
iload 4
aaload
getfield org.hsqldb.Session.transactionTimestamp:J
pop2
5: aload 1
aload 3
iload 4
aaload
if_acmpeq 7
aload 3
iload 4
aaload
getfield org.hsqldb.Session.isTransaction:Z
ifeq 7
6: aload 2
aload 3
iload 4
aaload
invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
aload 3
arraylength
if_icmplt 4
end local 4 9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/hsqldb/TransactionManagerCommon;
0 10 1 session Lorg/hsqldb/Session;
1 10 2 set Lorg/hsqldb/lib/OrderedHashSet;
2 10 3 sessions [Lorg/hsqldb/Session;
3 9 4 i I
MethodParameters:
Name Flags
session
void getTransactionAndPreSessions(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
astore 2
start local 2 1: aload 0
getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sessionManager:Lorg/hsqldb/SessionManager;
invokevirtual org.hsqldb.SessionManager.getAllSessions:()[Lorg/hsqldb/Session;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 13
4: StackMap locals: org.hsqldb.lib.OrderedHashSet org.hsqldb.Session[] int
StackMap stack:
aload 3
iload 4
aaload
getfield org.hsqldb.Session.transactionTimestamp:J
pop2
5: aload 1
aload 3
iload 4
aaload
if_acmpne 7
6: goto 12
7: StackMap locals:
StackMap stack:
aload 3
iload 4
aaload
getfield org.hsqldb.Session.isPreTransaction:Z
ifeq 10
8: aload 2
aload 3
iload 4
aaload
invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
pop
9: goto 12
StackMap locals:
StackMap stack:
10: aload 3
iload 4
aaload
getfield org.hsqldb.Session.isTransaction:Z
ifeq 12
11: aload 2
aload 3
iload 4
aaload
invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
pop
12: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
aload 3
arraylength
if_icmplt 4
end local 4 14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/hsqldb/TransactionManagerCommon;
0 15 1 session Lorg/hsqldb/Session;
1 15 2 set Lorg/hsqldb/lib/OrderedHashSet;
2 15 3 sessions [Lorg/hsqldb/Session;
3 14 4 i I
MethodParameters:
Name Flags
session
void endActionTPL(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.isolationLevel:I
iconst_4
if_icmpeq 4
1: aload 1
getfield org.hsqldb.Session.isolationLevel:I
2: bipush 8
3: if_icmpne 5
4: StackMap locals:
StackMap stack:
return
5: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
ifnonnull 7
6: return
7: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.depth:I
ifle 9
8: return
9: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
invokevirtual org.hsqldb.Statement.getTableNamesForRead:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
10: astore 2
start local 2 11: aload 2
arraylength
ifne 13
12: return
13: StackMap locals: org.hsqldb.HsqlNameManager$HsqlName[]
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
14: aload 0
aload 1
aload 2
invokevirtual org.hsqldb.TransactionManagerCommon.unlockReadTablesTPL:(Lorg/hsqldb/Session;[Lorg/hsqldb/HsqlNameManager$HsqlName;)V
15: aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
istore 3
start local 3 16: iload 3
ifne 19
17: aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
18: return
19: StackMap locals: int
StackMap stack:
iconst_0
istore 4
start local 4 20: iconst_0
istore 5
start local 5 21: goto 26
22: StackMap locals: int int
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
aload 2
iload 5
aaload
invokevirtual org.hsqldb.lib.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 1
if_acmpeq 25
23: iconst_1
istore 4
24: goto 27
25: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
26: iload 5
aload 2
arraylength
if_icmplt 22
end local 5 27: StackMap locals:
StackMap stack:
iload 4
ifne 30
28: aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
29: return
30: StackMap locals:
StackMap stack:
iconst_0
istore 4
31: iconst_0
istore 5
start local 5 32: goto 48
33: StackMap locals: int
StackMap stack:
aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
iload 5
invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 6
start local 6 34: aload 6
getfield org.hsqldb.Session.abortTransaction:Z
ifeq 37
35: iconst_1
istore 4
36: goto 49
37: StackMap locals: org.hsqldb.Session
StackMap stack:
aload 6
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
38: astore 7
start local 7 39: aload 7
ifnonnull 42
40: iconst_1
istore 4
41: goto 49
42: StackMap locals: org.hsqldb.Statement
StackMap stack:
aload 2
aload 7
invokevirtual org.hsqldb.Statement.getTableNamesForWrite:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
43: invokestatic org.hsqldb.lib.ArrayUtil.containsAny:([Ljava/lang/Object;[Ljava/lang/Object;)Z
44: ifeq 47
45: iconst_1
istore 4
46: goto 49
end local 7 end local 6 47: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
48: iload 5
iload 3
if_icmplt 33
end local 5 49: StackMap locals:
StackMap stack:
iload 4
ifne 52
50: aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
51: return
52: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.hsqldb.TransactionManagerCommon.resetLocks:(Lorg/hsqldb/Session;)V
53: aload 0
aload 1
invokevirtual org.hsqldb.TransactionManagerCommon.resetLatchesMidTransaction:(Lorg/hsqldb/Session;)V
end local 4 end local 3 54: goto 58
StackMap locals: org.hsqldb.TransactionManagerCommon org.hsqldb.Session org.hsqldb.HsqlNameManager$HsqlName[]
StackMap stack: java.lang.Throwable
55: astore 8
56: aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
57: aload 8
athrow
58: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
59: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lorg/hsqldb/TransactionManagerCommon;
0 60 1 session Lorg/hsqldb/Session;
11 60 2 readLocks [Lorg/hsqldb/HsqlNameManager$HsqlName;
16 54 3 waitingCount I
20 54 4 canUnlock Z
21 27 5 i I
32 49 5 i I
34 47 6 current Lorg/hsqldb/Session;
39 47 7 currentStatement Lorg/hsqldb/Statement;
Exception table:
from to target type
14 17 55 any
19 28 55 any
30 50 55 any
52 55 55 any
MethodParameters:
Name Flags
session
void endTransactionTPL(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.hsqldb.TransactionManagerCommon.unlockTablesTPL:(Lorg/hsqldb/Session;)V
1: aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
istore 2
start local 2 2: iload 2
ifne 4
3: return
4: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokevirtual org.hsqldb.TransactionManagerCommon.resetLocks:(Lorg/hsqldb/Session;)V
5: aload 0
aload 1
invokevirtual org.hsqldb.TransactionManagerCommon.resetLatches:(Lorg/hsqldb/Session;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/hsqldb/TransactionManagerCommon;
0 7 1 session Lorg/hsqldb/Session;
2 7 2 waitingCount I
MethodParameters:
Name Flags
session
void resetLocks(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 17
3: StackMap locals: int int
StackMap stack:
aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
iload 3
invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 4
start local 4 4: aload 4
iconst_0
putfield org.hsqldb.Session.tempUnlocked:Z
5: aload 4
getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
invokevirtual org.hsqldb.lib.CountUpDownLatch.getCount:()I
i2l
lstore 5
start local 5 6: lload 5
lconst_1
lcmp
ifne 16
7: aload 0
aload 4
8: aload 4
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
9: invokevirtual org.hsqldb.TransactionManagerCommon.setWaitedSessionsTPL:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
istore 7
start local 7 10: iload 7
ifeq 16
11: aload 4
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.isEmpty:()Z
ifeq 16
12: aload 0
aload 4
13: aload 4
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
14: invokevirtual org.hsqldb.TransactionManagerCommon.lockTablesTPL:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)V
15: aload 4
iconst_1
putfield org.hsqldb.Session.tempUnlocked:Z
end local 7 end local 5 end local 4 16: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
iload 2
if_icmplt 3
end local 3 18: iconst_0
istore 3
start local 3 19: goto 27
20: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
iload 3
invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 4
start local 4 21: aload 4
getfield org.hsqldb.Session.tempUnlocked:Z
ifne 26
22: aload 4
getfield org.hsqldb.Session.abortTransaction:Z
ifne 26
23: aload 0
aload 4
24: aload 4
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
25: invokevirtual org.hsqldb.TransactionManagerCommon.setWaitedSessionsTPL:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
pop
end local 4 26: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
27: iload 3
iload 2
if_icmplt 20
end local 3 28: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/hsqldb/TransactionManagerCommon;
0 29 1 session Lorg/hsqldb/Session;
1 29 2 waitingCount I
2 18 3 i I
4 16 4 current Lorg/hsqldb/Session;
6 16 5 count J
10 16 7 canProceed Z
19 28 3 i I
21 26 4 current Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
void resetLatches(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 19
3: StackMap locals: int int
StackMap stack:
aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
iload 3
invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: iload 5
ifeq 17
6: aload 4
getfield org.hsqldb.Session.abortTransaction:Z
ifne 17
aload 4
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.isEmpty:()Z
ifeq 17
7: aload 0
aload 4
8: aload 4
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
9: invokevirtual org.hsqldb.TransactionManagerCommon.hasLocks:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
10: istore 6
start local 6 11: iload 6
ifne 17
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "tx graph"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: aload 0
aload 4
14: aload 4
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
15: invokevirtual org.hsqldb.TransactionManagerCommon.hasLocks:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
16: istore 6
end local 6 17: StackMap locals: org.hsqldb.Session int
StackMap stack:
aload 0
aload 4
invokevirtual org.hsqldb.TransactionManagerCommon.setWaitingSessionTPL:(Lorg/hsqldb/Session;)V
end local 5 end local 4 18: iinc 3 1
StackMap locals:
StackMap stack:
19: iload 3
iload 2
if_icmplt 3
end local 3 20: aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
21: aload 1
getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
iconst_0
invokevirtual org.hsqldb.lib.CountUpDownLatch.setCount:(I)Z
pop
22: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/hsqldb/TransactionManagerCommon;
0 23 1 session Lorg/hsqldb/Session;
1 23 2 waitingCount I
2 20 3 i I
4 18 4 current Lorg/hsqldb/Session;
5 18 5 monitorCode Z
11 17 6 hasLocks Z
MethodParameters:
Name Flags
session
void resetLatchesMidTransaction(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
1: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.addAll:(Lorg/hsqldb/lib/OrderedHashSet;)V
2: aload 1
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
3: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
istore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 22
6: StackMap locals: int int
StackMap stack:
aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
iload 3
invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 4
start local 4 7: iconst_0
istore 5
start local 5 8: iload 5
ifeq 20
9: aload 4
getfield org.hsqldb.Session.abortTransaction:Z
ifne 20
aload 4
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.isEmpty:()Z
ifeq 20
10: aload 0
aload 4
11: aload 4
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
12: invokevirtual org.hsqldb.TransactionManagerCommon.hasLocks:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
13: istore 6
start local 6 14: iload 6
ifne 20
15: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "tx graph"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: aload 0
aload 4
17: aload 4
getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
18: invokevirtual org.hsqldb.TransactionManagerCommon.hasLocks:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
19: istore 6
end local 6 20: StackMap locals: org.hsqldb.Session int
StackMap stack:
aload 0
aload 4
invokevirtual org.hsqldb.TransactionManagerCommon.setWaitingSessionTPL:(Lorg/hsqldb/Session;)V
end local 5 end local 4 21: iinc 3 1
StackMap locals:
StackMap stack:
22: iload 3
iload 2
if_icmplt 6
end local 3 23: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
24: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/hsqldb/TransactionManagerCommon;
0 25 1 session Lorg/hsqldb/Session;
4 25 2 waitingCount I
5 23 3 i I
7 21 4 current Lorg/hsqldb/Session;
8 21 5 monitorCode Z
14 20 6 hasLocks Z
MethodParameters:
Name Flags
session
boolean setWaitedSessionsTPL(org.hsqldb.Session, org.hsqldb.Statement);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
flags: (0x0000)
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
1: aload 2
ifnonnull 3
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.Session.abortTransaction:Z
ifeq 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.hsqldb.TransactionManagerCommon.txModel:I
invokevirtual org.hsqldb.Statement.isCatalogLock:(I)Z
ifeq 7
6: aload 0
aload 1
invokevirtual org.hsqldb.TransactionManagerCommon.getTransactionSessions:(Lorg/hsqldb/Session;)V
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.Statement.getTableNamesForWrite:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
astore 3
start local 3 8: iconst_0
istore 4
start local 4 9: goto 23
10: StackMap locals: org.hsqldb.HsqlNameManager$HsqlName[] int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 11: aload 5
getfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
getstatic org.hsqldb.SqlInvariants.SYSTEM_SCHEMA_HSQLNAME:Lorg/hsqldb/HsqlNameManager$HsqlName;
if_acmpne 13
12: goto 22
13: StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
aload 5
invokevirtual org.hsqldb.lib.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 6
start local 6 14: aload 6
ifnull 16
aload 6
aload 1
if_acmpeq 16
15: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
aload 6
invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
pop
16: StackMap locals: org.hsqldb.Session
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.tableReadLocks:Lorg/hsqldb/lib/MultiValueHashMap;
aload 5
invokevirtual org.hsqldb.lib.MultiValueHashMap.get:(Ljava/lang/Object;)Lorg/hsqldb/lib/Iterator;
astore 7
start local 7 17: goto 21
18: StackMap locals: org.hsqldb.lib.Iterator
StackMap stack:
aload 7
invokeinterface org.hsqldb.lib.Iterator.next:()Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 6
19: aload 6
aload 1
if_acmpeq 21
20: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
aload 6
invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
pop
21: StackMap locals:
StackMap stack:
aload 7
invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
ifne 18
end local 7 end local 6 end local 5 22: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
23: iload 4
aload 3
arraylength
if_icmplt 10
end local 4 24: aload 2
invokevirtual org.hsqldb.Statement.getTableNamesForRead:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
astore 3
25: aload 0
getfield org.hsqldb.TransactionManagerCommon.txModel:I
iconst_1
if_icmpne 28
aload 1
invokevirtual org.hsqldb.Session.isReadOnly:()Z
ifeq 28
26: aload 3
arraylength
ifle 28
27: aload 0
getfield org.hsqldb.TransactionManagerCommon.catalogNameList:[Lorg/hsqldb/HsqlNameManager$HsqlName;
astore 3
28: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 29: goto 37
30: StackMap locals: int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 31: aload 5
getfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
getstatic org.hsqldb.SqlInvariants.SYSTEM_SCHEMA_HSQLNAME:Lorg/hsqldb/HsqlNameManager$HsqlName;
if_acmpne 33
32: goto 36
33: StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
aload 5
invokevirtual org.hsqldb.lib.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 6
start local 6 34: aload 6
ifnull 36
aload 6
aload 1
if_acmpeq 36
35: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
aload 6
invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 36: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
37: iload 4
aload 3
arraylength
if_icmplt 30
end local 4 38: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.isEmpty:()Z
ifeq 40
39: iconst_1
ireturn
40: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.TransactionManagerCommon.checkDeadlock:(Lorg/hsqldb/Session;Lorg/hsqldb/lib/OrderedHashSet;)Z
ifeq 42
41: iconst_1
ireturn
42: StackMap locals:
StackMap stack:
aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
43: aload 1
iconst_1
putfield org.hsqldb.Session.abortTransaction:Z
44: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lorg/hsqldb/TransactionManagerCommon;
0 45 1 session Lorg/hsqldb/Session;
0 45 2 cs Lorg/hsqldb/Statement;
8 45 3 nameList [Lorg/hsqldb/HsqlNameManager$HsqlName;
9 24 4 i I
11 22 5 name Lorg/hsqldb/HsqlNameManager$HsqlName;
14 22 6 holder Lorg/hsqldb/Session;
17 22 7 it Lorg/hsqldb/lib/Iterator;
29 38 4 i I
31 36 5 name Lorg/hsqldb/HsqlNameManager$HsqlName;
34 36 6 holder Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
cs
void setWaitingSessionTPL(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
istore 2
start local 2 1: getstatic org.hsqldb.TransactionManagerCommon.$assertionsDisabled:Z
ifne 2
aload 1
getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
invokevirtual org.hsqldb.lib.CountUpDownLatch.getCount:()I
iload 2
iconst_1
iadd
if_icmple 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: int
StackMap stack:
iconst_0
istore 3
start local 3 3: goto 7
4: StackMap locals: int
StackMap stack:
aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
iload 3
invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 4
start local 4 5: aload 4
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
aload 1
invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
pop
end local 4 6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 2
if_icmplt 4
end local 3 8: aload 1
getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
9: aload 1
getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
iload 2
invokevirtual org.hsqldb.lib.CountUpDownLatch.setCount:(I)Z
pop
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hsqldb/TransactionManagerCommon;
0 11 1 session Lorg/hsqldb/Session;
1 11 2 count I
3 8 3 i I
5 6 4 current Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
void lockTablesTPL(org.hsqldb.Session, org.hsqldb.Statement);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 1
aload 1
getfield org.hsqldb.Session.abortTransaction:Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.Statement.getTableNamesForWrite:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 10
5: StackMap locals: org.hsqldb.HsqlNameManager$HsqlName[] int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 6: aload 5
getfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
getstatic org.hsqldb.SqlInvariants.SYSTEM_SCHEMA_HSQLNAME:Lorg/hsqldb/HsqlNameManager$HsqlName;
if_acmpne 8
7: goto 9
8: StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
aload 5
aload 1
invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 3
arraylength
if_icmplt 5
end local 4 11: aload 2
invokevirtual org.hsqldb.Statement.getTableNamesForRead:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
astore 3
12: aload 0
getfield org.hsqldb.TransactionManagerCommon.txModel:I
iconst_1
if_icmpne 15
aload 1
invokevirtual org.hsqldb.Session.isReadOnly:()Z
ifeq 15
13: aload 3
arraylength
ifle 15
14: aload 0
getfield org.hsqldb.TransactionManagerCommon.catalogNameList:[Lorg/hsqldb/HsqlNameManager$HsqlName;
astore 3
15: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 16: goto 22
17: StackMap locals: int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 18: aload 5
getfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
getstatic org.hsqldb.SqlInvariants.SYSTEM_SCHEMA_HSQLNAME:Lorg/hsqldb/HsqlNameManager$HsqlName;
if_acmpne 20
19: goto 21
20: StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.tableReadLocks:Lorg/hsqldb/lib/MultiValueHashMap;
aload 5
aload 1
invokevirtual org.hsqldb.lib.MultiValueHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 21: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
22: iload 4
aload 3
arraylength
if_icmplt 17
end local 4 23: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/hsqldb/TransactionManagerCommon;
0 24 1 session Lorg/hsqldb/Session;
0 24 2 cs Lorg/hsqldb/Statement;
3 24 3 nameList [Lorg/hsqldb/HsqlNameManager$HsqlName;
4 11 4 i I
6 9 5 name Lorg/hsqldb/HsqlNameManager$HsqlName;
16 23 4 i I
18 21 5 name Lorg/hsqldb/HsqlNameManager$HsqlName;
MethodParameters:
Name Flags
session
cs
void unlockTablesTPL(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
invokevirtual org.hsqldb.lib.HashMap.values:()Lorg/hsqldb/lib/Collection;
invokeinterface org.hsqldb.lib.Collection.iterator:()Lorg/hsqldb/lib/Iterator;
astore 2
start local 2 1: goto 5
2: StackMap locals: org.hsqldb.lib.Iterator
StackMap stack:
aload 2
invokeinterface org.hsqldb.lib.Iterator.next:()Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 3
start local 3 3: aload 3
aload 1
if_acmpne 5
4: aload 2
invokeinterface org.hsqldb.lib.Iterator.remove:()V
end local 3 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
ifne 2
6: aload 0
getfield org.hsqldb.TransactionManagerCommon.tableReadLocks:Lorg/hsqldb/lib/MultiValueHashMap;
invokevirtual org.hsqldb.lib.MultiValueHashMap.values:()Lorg/hsqldb/lib/Collection;
invokeinterface org.hsqldb.lib.Collection.iterator:()Lorg/hsqldb/lib/Iterator;
astore 2
7: goto 11
8: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.hsqldb.lib.Iterator.next:()Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 3
start local 3 9: aload 3
aload 1
if_acmpne 11
10: aload 2
invokeinterface org.hsqldb.lib.Iterator.remove:()V
end local 3 11: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
ifne 8
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/hsqldb/TransactionManagerCommon;
0 13 1 session Lorg/hsqldb/Session;
1 13 2 it Lorg/hsqldb/lib/Iterator;
3 5 3 s Lorg/hsqldb/Session;
9 11 3 s Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
void unlockReadTablesTPL(org.hsqldb.Session, org.hsqldb.HsqlNameManager$HsqlName[]);
descriptor: (Lorg/hsqldb/Session;[Lorg/hsqldb/HsqlNameManager$HsqlName;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.tableReadLocks:Lorg/hsqldb/lib/MultiValueHashMap;
aload 2
iload 3
aaload
aload 1
invokevirtual org.hsqldb.lib.MultiValueHashMap.remove:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
aload 2
arraylength
if_icmplt 2
end local 3 5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hsqldb/TransactionManagerCommon;
0 6 1 session Lorg/hsqldb/Session;
0 6 2 locks [Lorg/hsqldb/HsqlNameManager$HsqlName;
1 5 3 i I
MethodParameters:
Name Flags
session
locks
boolean hasLocks(org.hsqldb.Session, org.hsqldb.Statement);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
flags: (0x0000)
Code:
stack=2, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.Statement.getTableNamesForWrite:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 18
5: StackMap locals: org.hsqldb.HsqlNameManager$HsqlName[] int
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 6: aload 5
getfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
getstatic org.hsqldb.SqlInvariants.SYSTEM_SCHEMA_HSQLNAME:Lorg/hsqldb/HsqlNameManager$HsqlName;
if_acmpne 8
7: goto 17
8: StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
aload 5
invokevirtual org.hsqldb.lib.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 6
start local 6 9: aload 6
ifnull 11
aload 6
aload 1
if_acmpeq 11
10: iconst_0
ireturn
11: StackMap locals: org.hsqldb.Session
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.tableReadLocks:Lorg/hsqldb/lib/MultiValueHashMap;
aload 5
invokevirtual org.hsqldb.lib.MultiValueHashMap.get:(Ljava/lang/Object;)Lorg/hsqldb/lib/Iterator;
astore 7
start local 7 12: goto 16
13: StackMap locals: org.hsqldb.lib.Iterator
StackMap stack:
aload 7
invokeinterface org.hsqldb.lib.Iterator.next:()Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 6
14: aload 6
aload 1
if_acmpeq 16
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
aload 7
invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
ifne 13
end local 7 end local 6 end local 5 17: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
18: iload 4
aload 3
arraylength
if_icmplt 5
end local 4 19: aload 2
invokevirtual org.hsqldb.Statement.getTableNamesForRead:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
astore 3
20: iconst_0
istore 4
start local 4 21: goto 29
22: StackMap locals:
StackMap stack:
aload 3
iload 4
aaload
astore 5
start local 5 23: aload 5
getfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
getstatic org.hsqldb.SqlInvariants.SYSTEM_SCHEMA_HSQLNAME:Lorg/hsqldb/HsqlNameManager$HsqlName;
if_acmpne 25
24: goto 28
25: StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
aload 5
invokevirtual org.hsqldb.lib.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 6
start local 6 26: aload 6
ifnull 28
aload 6
aload 1
if_acmpeq 28
27: iconst_0
ireturn
end local 6 end local 5 28: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
29: iload 4
aload 3
arraylength
if_icmplt 22
end local 4 30: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/hsqldb/TransactionManagerCommon;
0 31 1 session Lorg/hsqldb/Session;
0 31 2 cs Lorg/hsqldb/Statement;
3 31 3 nameList [Lorg/hsqldb/HsqlNameManager$HsqlName;
4 19 4 i I
6 17 5 name Lorg/hsqldb/HsqlNameManager$HsqlName;
9 17 6 holder Lorg/hsqldb/Session;
12 17 7 it Lorg/hsqldb/lib/Iterator;
21 30 4 i I
23 28 5 name Lorg/hsqldb/HsqlNameManager$HsqlName;
26 28 6 holder Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
cs
long getFirstLiveTransactionTimestamp();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.TransactionManagerCommon.liveTransactionTimestamps:Lorg/hsqldb/lib/LongDeque;
invokevirtual org.hsqldb.lib.LongDeque.isEmpty:()Z
ifeq 2
1: ldc 9223372036854775807
lreturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.liveTransactionTimestamps:Lorg/hsqldb/lib/LongDeque;
iconst_0
invokevirtual org.hsqldb.lib.LongDeque.get:(I)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/TransactionManagerCommon;
org.hsqldb.RowAction[] getRowActionList();
descriptor: ()[Lorg/hsqldb/RowAction;
flags: (0x0000)
Code:
stack=6, locals=14, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
1: aload 0
getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.sessionManager:Lorg/hsqldb/SessionManager;
invokevirtual org.hsqldb.SessionManager.getAllSessions:()[Lorg/hsqldb/Session;
astore 1
start local 1 2: aload 1
arraylength
newarray 10
astore 2
start local 2 3: iconst_0
istore 4
start local 4 4: iconst_0
istore 5
start local 5 5: iconst_0
istore 6
start local 6 6: goto 9
7: StackMap locals: org.hsqldb.TransactionManagerCommon org.hsqldb.Session[] int[] top int int int
StackMap stack:
iload 5
aload 1
iload 6
aaload
invokevirtual org.hsqldb.Session.getTransactionSize:()I
iadd
istore 5
8: iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
aload 1
arraylength
if_icmplt 7
end local 6 10: iload 5
anewarray org.hsqldb.RowAction
astore 3
end local 5 start local 3 11: StackMap locals: org.hsqldb.TransactionManagerCommon org.hsqldb.Session[] int[] org.hsqldb.RowAction[] int
StackMap stack:
iconst_0
istore 5
start local 5 12: ldc 9223372036854775807
lstore 6
start local 6 13: iconst_0
istore 8
start local 8 14: iconst_0
istore 9
start local 9 15: goto 27
16: StackMap locals: org.hsqldb.TransactionManagerCommon org.hsqldb.Session[] int[] org.hsqldb.RowAction[] int int long int int
StackMap stack:
aload 1
iload 9
aaload
invokevirtual org.hsqldb.Session.getTransactionSize:()I
istore 10
start local 10 17: aload 2
iload 9
iaload
iload 10
if_icmpge 26
18: aload 1
iload 9
aaload
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
19: aload 2
iload 9
iaload
20: invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.RowAction
21: astore 11
start local 11 22: aload 11
getfield org.hsqldb.RowAction.actionTimestamp:J
lload 6
lcmp
ifge 25
23: aload 11
getfield org.hsqldb.RowAction.actionTimestamp:J
lstore 6
24: iload 9
istore 8
25: StackMap locals: int org.hsqldb.RowAction
StackMap stack:
iconst_1
istore 5
end local 11 end local 10 26: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
27: iload 9
aload 1
arraylength
if_icmplt 16
end local 9 28: iload 5
ifne 30
29: goto 42
30: StackMap locals:
StackMap stack:
aload 1
iload 8
aaload
getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
31: astore 9
start local 9 32: goto 40
33: StackMap locals: org.hsqldb.lib.HsqlArrayList
StackMap stack:
aload 9
aload 2
iload 8
iaload
invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.RowAction
34: astore 10
start local 10 35: aload 10
getfield org.hsqldb.RowAction.actionTimestamp:J
lload 6
lconst_1
ladd
lcmp
ifne 37
36: lload 6
lconst_1
ladd
lstore 6
37: StackMap locals: org.hsqldb.RowAction
StackMap stack:
aload 10
getfield org.hsqldb.RowAction.actionTimestamp:J
lload 6
lcmp
ifne 11
38: aload 3
iload 4
iinc 4 1
aload 10
aastore
39: aload 2
iload 8
dup2
iaload
iconst_1
iadd
iastore
end local 10 40: StackMap locals:
StackMap stack:
aload 2
iload 8
iaload
aload 9
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
if_icmplt 33
end local 9 end local 8 end local 6 end local 5 41: goto 11
42: StackMap locals: org.hsqldb.TransactionManagerCommon org.hsqldb.Session[] int[] org.hsqldb.RowAction[] int
StackMap stack:
aload 3
astore 13
43: aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
44: aload 13
areturn
end local 4 end local 3 end local 2 end local 1 45: StackMap locals: org.hsqldb.TransactionManagerCommon
StackMap stack: java.lang.Throwable
astore 12
46: aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
47: aload 12
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Lorg/hsqldb/TransactionManagerCommon;
2 45 1 sessions [Lorg/hsqldb/Session;
3 45 2 tIndex [I
11 45 3 rowActions [Lorg/hsqldb/RowAction;
4 45 4 rowActionCount I
5 11 5 actioncount I
6 10 6 i I
12 41 5 found Z
13 41 6 minChangeNo J
14 41 8 sessionIndex I
15 28 9 i I
17 26 10 tSize I
22 26 11 current Lorg/hsqldb/RowAction;
32 41 9 currentList Lorg/hsqldb/lib/HsqlArrayList;
35 40 10 current Lorg/hsqldb/RowAction;
Exception table:
from to target type
1 43 45 any
void resetSession(org.hsqldb.Session, org.hsqldb.Session, int);
descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/Session;I)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
1: iload 3
tableswitch { // 1 - 6
1: 2
2: 7
3: 13
4: 18
5: 29
6: 38
default: 44
}
2: StackMap locals:
StackMap stack:
aload 1
aload 2
if_acmpeq 4
3: goto 48
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.Session.isInMidTransaction:()Z
ifne 48
5: aload 2
getfield org.hsqldb.Session.sessionData:Lorg/hsqldb/SessionData;
invokevirtual org.hsqldb.SessionData.closeAllNavigators:()V
6: goto 48
7: StackMap locals:
StackMap stack:
aload 1
aload 2
if_acmpeq 9
8: goto 48
9: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.Session.isInMidTransaction:()Z
ifne 48
10: aload 2
getfield org.hsqldb.Session.sessionData:Lorg/hsqldb/SessionData;
getfield org.hsqldb.SessionData.persistentStoreCollection:Lorg/hsqldb/persist/PersistentStoreCollectionSession;
11: invokevirtual org.hsqldb.persist.PersistentStoreCollectionSession.clearAllTables:()V
12: goto 48
13: StackMap locals:
StackMap stack:
aload 1
aload 2
if_acmpeq 15
14: goto 48
15: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.Session.isInMidTransaction:()Z
ifne 48
16: aload 2
invokevirtual org.hsqldb.Session.resetSession:()V
17: goto 48
18: StackMap locals:
StackMap stack:
aload 1
aload 2
if_acmpne 21
19: aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
20: return
21: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.Session.isInMidTransaction:()Z
ifeq 48
22: aload 0
aload 2
invokevirtual org.hsqldb.TransactionManagerCommon.prepareReset:(Lorg/hsqldb/Session;)V
23: aload 2
iconst_1
putfield org.hsqldb.Session.abortTransaction:Z
24: aload 2
getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
invokevirtual org.hsqldb.lib.CountUpDownLatch.getCount:()I
ifle 27
25: aload 2
getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
iconst_0
invokevirtual org.hsqldb.lib.CountUpDownLatch.setCount:(I)Z
pop
26: goto 48
27: StackMap locals:
StackMap stack:
aload 2
iconst_1
invokevirtual org.hsqldb.Session.rollbackNoCheck:(Z)V
28: goto 48
29: StackMap locals:
StackMap stack:
aload 1
aload 2
if_acmpne 32
30: aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
31: return
32: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.Session.isInMidTransaction:()Z
ifeq 48
33: aload 0
aload 2
invokevirtual org.hsqldb.TransactionManagerCommon.prepareReset:(Lorg/hsqldb/Session;)V
34: aload 2
iconst_1
putfield org.hsqldb.Session.abortAction:Z
35: aload 2
getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
invokevirtual org.hsqldb.lib.CountUpDownLatch.getCount:()I
ifle 48
36: aload 2
getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
iconst_0
invokevirtual org.hsqldb.lib.CountUpDownLatch.setCount:(I)Z
pop
37: goto 48
38: StackMap locals:
StackMap stack:
aload 1
aload 2
if_acmpne 41
39: aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
40: return
41: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.hsqldb.Session.isInMidTransaction:()Z
ifne 48
42: aload 2
iconst_1
invokevirtual org.hsqldb.Session.rollbackNoCheck:(Z)V
43: aload 2
invokevirtual org.hsqldb.Session.close:()V
44: StackMap locals:
StackMap stack:
goto 48
StackMap locals:
StackMap stack: java.lang.Throwable
45: astore 4
46: aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
47: aload 4
athrow
48: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
49: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Lorg/hsqldb/TransactionManagerCommon;
0 50 1 session Lorg/hsqldb/Session;
0 50 2 targetSession Lorg/hsqldb/Session;
0 50 3 mode I
Exception table:
from to target type
1 19 45 any
21 30 45 any
32 39 45 any
41 45 45 any
MethodParameters:
Name Flags
session
targetSession
mode
void prepareReset(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Session.waitedSessions:Lorg/hsqldb/lib/OrderedHashSet;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: org.hsqldb.lib.OrderedHashSet int
StackMap stack:
aload 2
iload 3
invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Session
astore 4
start local 4 4: aload 4
getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
aload 1
invokevirtual org.hsqldb.lib.OrderedHashSet.remove:(Ljava/lang/Object;)Z
pop
end local 4 5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 2
invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
if_icmplt 3
end local 3 7: aload 2
invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/hsqldb/TransactionManagerCommon;
0 9 1 session Lorg/hsqldb/Session;
1 9 2 waitedSessions Lorg/hsqldb/lib/OrderedHashSet;
2 7 3 i I
4 5 4 current Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
public void abortAction(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, 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/TransactionManagerCommon;
0 1 1 session Lorg/hsqldb/Session;
MethodParameters:
Name Flags
session
}
SourceFile: "TransactionManagerCommon.java"
InnerClasses:
public WriteLock = java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock of java.util.concurrent.locks.ReentrantReadWriteLock
public final HsqlName = org.hsqldb.HsqlNameManager$HsqlName of org.hsqldb.HsqlNameManager