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: .line 57
            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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Database database
         0: .line 91
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 65
            aload 0 /* this */
            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: .line 66
            aload 0 /* this */
            aload 0 /* this */
            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: .line 71
            aload 0 /* this */
            new org.hsqldb.lib.LongDeque
            dup
            invokespecial org.hsqldb.lib.LongDeque.<init>:()V
            putfield org.hsqldb.TransactionManagerCommon.liveTransactionTimestamps:Lorg/hsqldb/lib/LongDeque;
         4: .line 74
            aload 0 /* this */
            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: .line 77
            aload 0 /* this */
            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: .line 80
            aload 0 /* this */
            new org.hsqldb.lib.HashMap
            dup
            invokespecial org.hsqldb.lib.HashMap.<init>:()V
            putfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
         7: .line 81
            aload 0 /* this */
            new org.hsqldb.lib.MultiValueHashMap
            dup
            invokespecial org.hsqldb.lib.MultiValueHashMap.<init>:()V
            putfield org.hsqldb.TransactionManagerCommon.tableReadLocks:Lorg/hsqldb/lib/MultiValueHashMap;
         8: .line 92
            aload 0 /* this */
            aload 1 /* database */
            putfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
         9: .line 93
            aload 0 /* this */
            iconst_1
            anewarray org.hsqldb.HsqlNameManager$HsqlName
            dup
            iconst_0
            aload 1 /* database */
            invokevirtual org.hsqldb.Database.getCatalogName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            aastore
            putfield org.hsqldb.TransactionManagerCommon.catalogNameList:[Lorg/hsqldb/HsqlNameManager$HsqlName;
        10: .line 94
            return
        end local 1 // org.hsqldb.Database database
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
        start local 2 // int mode
         0: .line 98
            aconst_null
            astore 3 /* manager */
        start local 3 // org.hsqldb.TransactionManagerCommon manager
         1: .line 100
            iload 2 /* mode */
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.txModel:I
            if_icmpne 3
         2: .line 101
            return
         3: .line 105
      StackMap locals: org.hsqldb.TransactionManagerCommon
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
         4: .line 108
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.txModel:I
            tableswitch { // 1 - 2
                    1: 5
                    2: 5
              default: 7
          }
         5: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.liveTransactionTimestamps:Lorg/hsqldb/lib/LongDeque;
            invokevirtual org.hsqldb.lib.LongDeque.size:()I
            iconst_1
            if_icmpeq 7
         6: .line 113
            sipush 3701
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         7: .line 117
      StackMap locals:
      StackMap stack:
            iload 2 /* mode */
            tableswitch { // 0 - 2
                    0: 36
                    1: 24
                    2: 8
              default: 45
          }
         8: .line 121
      StackMap locals:
      StackMap stack:
            new org.hsqldb.TransactionManagerMVCC
            dup
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
            invokespecial org.hsqldb.TransactionManagerMVCC.<init>:(Lorg/hsqldb/Database;)V
         9: .line 120
            astore 4 /* txMan */
        start local 4 // org.hsqldb.TransactionManagerMVCC txMan
        10: .line 123
            aload 4 /* txMan */
            getfield org.hsqldb.TransactionManagerMVCC.liveTransactionTimestamps:Lorg/hsqldb/lib/LongDeque;
        11: .line 124
            aload 1 /* session */
            getfield org.hsqldb.Session.transactionTimestamp:J
        12: .line 123
            invokevirtual org.hsqldb.lib.LongDeque.addLast:(J)Z
            pop
        13: .line 126
            aload 4 /* txMan */
            aload 1 /* session */
            putfield org.hsqldb.TransactionManagerMVCC.catalogWriteSession:Lorg/hsqldb/Session;
        14: .line 127
            aload 4 /* txMan */
            iconst_1
            putfield org.hsqldb.TransactionManagerMVCC.isLockedMode:Z
        15: .line 129
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            astore 5 /* set */
        start local 5 // org.hsqldb.lib.OrderedHashSet set
        16: .line 131
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        17: goto 21
        18: .line 132
      StackMap locals: org.hsqldb.TransactionManagerMVCC org.hsqldb.lib.OrderedHashSet int
      StackMap stack:
            aload 5 /* set */
            iload 6 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 7 /* current */
        start local 7 // org.hsqldb.Session current
        19: .line 134
            aload 7 /* current */
            getfield org.hsqldb.Session.waitedSessions:Lorg/hsqldb/lib/OrderedHashSet;
            aload 1 /* session */
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.hsqldb.Session current
        20: .line 131
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            aload 5 /* set */
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            if_icmplt 18
        end local 6 // int i
        22: .line 137
            aload 4 /* txMan */
            astore 3 /* manager */
        23: .line 139
            goto 48
        end local 5 // org.hsqldb.lib.OrderedHashSet set
        end local 4 // org.hsqldb.TransactionManagerMVCC txMan
        24: .line 142
      StackMap locals:
      StackMap stack:
            new org.hsqldb.TransactionManagerMV2PL
            dup
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
            invokespecial org.hsqldb.TransactionManagerMV2PL.<init>:(Lorg/hsqldb/Database;)V
            astore 3 /* manager */
        25: .line 144
            aload 3 /* manager */
            getfield org.hsqldb.TransactionManagerCommon.liveTransactionTimestamps:Lorg/hsqldb/lib/LongDeque;
        26: .line 145
            aload 1 /* session */
            getfield org.hsqldb.Session.transactionTimestamp:J
        27: .line 144
            invokevirtual org.hsqldb.lib.LongDeque.addLast:(J)Z
            pop
        28: .line 147
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            astore 4 /* set */
        start local 4 // org.hsqldb.lib.OrderedHashSet set
        29: .line 149
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        30: goto 34
        31: .line 150
      StackMap locals: org.hsqldb.lib.OrderedHashSet int
      StackMap stack:
            aload 4 /* set */
            iload 5 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 6 /* current */
        start local 6 // org.hsqldb.Session current
        32: .line 152
            aload 6 /* current */
            getfield org.hsqldb.Session.waitedSessions:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
        end local 6 // org.hsqldb.Session current
        33: .line 149
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 5 /* i */
            aload 4 /* set */
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            if_icmplt 31
        end local 5 // int i
        35: .line 155
            goto 48
        end local 4 // org.hsqldb.lib.OrderedHashSet set
        36: .line 158
      StackMap locals:
      StackMap stack:
            new org.hsqldb.TransactionManager2PL
            dup
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
            invokespecial org.hsqldb.TransactionManager2PL.<init>:(Lorg/hsqldb/Database;)V
            astore 3 /* manager */
        37: .line 160
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            astore 4 /* set */
        start local 4 // org.hsqldb.lib.OrderedHashSet set
        38: .line 162
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        39: goto 43
        40: .line 163
      StackMap locals: org.hsqldb.lib.OrderedHashSet int
      StackMap stack:
            aload 4 /* set */
            iload 5 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 6 /* current */
        start local 6 // org.hsqldb.Session current
        41: .line 165
            aload 6 /* current */
            getfield org.hsqldb.Session.waitedSessions:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
        end local 6 // org.hsqldb.Session current
        42: .line 162
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 5 /* i */
            aload 4 /* set */
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            if_icmplt 40
        end local 5 // int i
        44: .line 168
            goto 48
        end local 4 // org.hsqldb.lib.OrderedHashSet set
        45: .line 171
      StackMap locals:
      StackMap stack:
            sipush 201
        46: .line 172
            ldc "TransactionManagerCommon"
        47: .line 171
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        48: .line 175
      StackMap locals:
      StackMap stack:
            aload 3 /* manager */
            getfield org.hsqldb.TransactionManagerCommon.globalChangeTimestamp:Ljava/util/concurrent/atomic/AtomicLong;
            aload 0 /* this */
            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: .line 177
            aload 3 /* manager */
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.transactionCount:Ljava/util/concurrent/atomic/AtomicInteger;
            putfield org.hsqldb.TransactionManagerCommon.transactionCount:Ljava/util/concurrent/atomic/AtomicInteger;
        50: .line 178
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.TransactionManagerCommon.hasExpired:Z
        51: .line 179
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
            aload 3 /* manager */
            checkcast org.hsqldb.TransactionManager
            putfield org.hsqldb.Database.txManager:Lorg/hsqldb/TransactionManager;
        52: .line 180
            goto 56
      StackMap locals:
      StackMap stack: java.lang.Throwable
        53: astore 8
        54: .line 181
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        55: .line 182
            aload 8
            athrow
        56: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        57: .line 183
            return
        end local 3 // org.hsqldb.TransactionManagerCommon manager
        end local 2 // int mode
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 187
            aload 1 /* session */
            aload 0 /* this */
            invokevirtual org.hsqldb.TransactionManagerCommon.getNextGlobalChangeTimestamp:()J
            putfield org.hsqldb.Session.actionTimestamp:J
         1: .line 188
            aload 1 /* session */
            aload 1 /* session */
            getfield org.hsqldb.Session.actionTimestamp:J
            putfield org.hsqldb.Session.actionStartTimestamp:J
         2: .line 189
            aload 1 /* session */
            aload 1 /* session */
            getfield org.hsqldb.Session.actionTimestamp:J
            putfield org.hsqldb.Session.transactionTimestamp:J
         3: .line 190
            aload 1 /* session */
            iconst_0
            putfield org.hsqldb.Session.isPreTransaction:Z
         4: .line 191
            aload 1 /* session */
            iconst_1
            putfield org.hsqldb.Session.isTransaction:Z
         5: .line 193
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.transactionCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
         6: .line 194
            return
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 198
            aload 1 /* session */
            getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            istore 2 /* limit */
        start local 2 // int limit
         1: .line 199
            aload 1 /* session */
            getfield org.hsqldb.Session.actionTimestamp:J
            lstore 3 /* lastActionTimestamp */
        start local 3 // long lastActionTimestamp
         2: .line 201
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 21
         4: .line 202
      StackMap locals: int long int
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
            iload 5 /* i */
            invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.RowAction
            astore 6 /* action */
        start local 6 // org.hsqldb.RowAction action
         5: .line 204
            aload 6 /* action */
            getfield org.hsqldb.RowAction.type:B
            ifne 7
         6: .line 205
            goto 20
         7: .line 208
      StackMap locals: org.hsqldb.RowAction
      StackMap stack:
            aload 6 /* action */
            getfield org.hsqldb.RowAction.table:Lorg/hsqldb/TableBase;
            getfield org.hsqldb.TableBase.hasLobColumn:Z
            ifeq 20
         8: .line 209
            aload 6 /* action */
            lload 3 /* lastActionTimestamp */
            invokevirtual org.hsqldb.RowAction.getCommitTypeOn:(J)I
            istore 7 /* type */
        start local 7 // int type
         9: .line 210
            aload 6 /* action */
            getfield org.hsqldb.RowAction.memoryRow:Lorg/hsqldb/Row;
            astore 8 /* row */
        start local 8 // org.hsqldb.Row row
        10: .line 212
            aload 8 /* row */
            ifnonnull 12
        11: .line 213
            aload 6 /* action */
            getfield org.hsqldb.RowAction.store:Lorg/hsqldb/persist/PersistentStore;
            aload 6 /* action */
            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 /* row */
        12: .line 216
      StackMap locals: int org.hsqldb.Row
      StackMap stack:
            iload 7 /* type */
            tableswitch { // 1 - 4
                    1: 13
                    2: 17
                    3: 20
                    4: 20
              default: 20
          }
        13: .line 219
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionData:Lorg/hsqldb/SessionData;
            aload 6 /* action */
            getfield org.hsqldb.RowAction.table:Lorg/hsqldb/TableBase;
        14: .line 220
            aload 8 /* row */
            invokevirtual org.hsqldb.Row.getData:()[Ljava/lang/Object;
            iconst_1
        15: .line 219
            invokevirtual org.hsqldb.SessionData.adjustLobUsageCount:(Lorg/hsqldb/TableBase;[Ljava/lang/Object;I)V
        16: .line 221
            goto 20
        17: .line 224
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionData:Lorg/hsqldb/SessionData;
            aload 6 /* action */
            getfield org.hsqldb.RowAction.table:Lorg/hsqldb/TableBase;
        18: .line 225
            aload 8 /* row */
            invokevirtual org.hsqldb.Row.getData:()[Ljava/lang/Object;
            iconst_m1
        19: .line 224
            invokevirtual org.hsqldb.SessionData.adjustLobUsageCount:(Lorg/hsqldb/TableBase;[Ljava/lang/Object;I)V
        end local 8 // org.hsqldb.Row row
        end local 7 // int type
        end local 6 // org.hsqldb.RowAction action
        20: .line 201
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            iload 2 /* limit */
            if_icmplt 4
        end local 5 // int i
        22: .line 234
            aload 1 /* session */
            getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            istore 5 /* newLimit */
        start local 5 // int newLimit
        23: .line 236
            iload 5 /* newLimit */
            iload 2 /* limit */
            if_icmple 30
        24: .line 237
            iload 2 /* limit */
            istore 6 /* i */
        start local 6 // int i
        25: goto 29
        26: .line 238
      StackMap locals: int
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
            iload 6 /* i */
            invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.RowAction
            astore 7 /* lobAction */
        start local 7 // org.hsqldb.RowAction lobAction
        27: .line 240
            aload 7 /* lobAction */
            aload 1 /* session */
            invokevirtual org.hsqldb.RowAction.commit:(Lorg/hsqldb/Session;)I
            pop
        end local 7 // org.hsqldb.RowAction lobAction
        28: .line 237
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 6 /* i */
            iload 5 /* newLimit */
            if_icmplt 26
        end local 6 // int i
        30: .line 243
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int newLimit
        end local 3 // long lastActionTimestamp
        end local 2 // int limit
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.Statement cs
         0: .line 247
            aload 2 /* cs */
            invokevirtual org.hsqldb.Statement.getCompileTimestamp:()J
         1: .line 248
            aload 0 /* this */
            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: .line 249
            aload 1 /* session */
            getfield org.hsqldb.Session.statementManager:Lorg/hsqldb/StatementManager;
            aload 1 /* session */
            aload 2 /* cs */
            invokevirtual org.hsqldb.StatementManager.getStatement:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Lorg/hsqldb/Statement;
            astore 2 /* cs */
         3: .line 250
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            aload 2 /* cs */
            putfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
         4: .line 253
      StackMap locals:
      StackMap stack:
            aload 2 /* cs */
            areturn
        end local 2 // org.hsqldb.Statement cs
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 258
            aload 1 /* session */
            getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            istore 2 /* limit */
        start local 2 // int limit
         1: .line 259
            iconst_0
            istore 3 /* writeCommit */
        start local 3 // boolean writeCommit
         2: .line 261
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 22
         4: .line 262
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
            iload 4 /* i */
            invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.RowAction
            astore 5 /* action */
        start local 5 // org.hsqldb.RowAction action
         5: .line 264
            aload 5 /* action */
            getfield org.hsqldb.RowAction.type:B
            ifne 7
         6: .line 265
            goto 21
         7: .line 268
      StackMap locals: org.hsqldb.RowAction
      StackMap stack:
            aload 5 /* action */
            aload 1 /* session */
            getfield org.hsqldb.Session.actionTimestamp:J
            invokevirtual org.hsqldb.RowAction.getCommitTypeOn:(J)I
            istore 6 /* type */
        start local 6 // int type
         8: .line 269
            aload 5 /* action */
            getfield org.hsqldb.RowAction.memoryRow:Lorg/hsqldb/Row;
            astore 7 /* row */
        start local 7 // org.hsqldb.Row row
         9: .line 271
            aload 7 /* row */
            ifnonnull 11
        10: .line 272
            aload 5 /* action */
            getfield org.hsqldb.RowAction.store:Lorg/hsqldb/persist/PersistentStore;
            aload 5 /* action */
            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 /* row */
        11: .line 275
      StackMap locals: int org.hsqldb.Row
      StackMap stack:
            aload 5 /* action */
            getfield org.hsqldb.RowAction.table:Lorg/hsqldb/TableBase;
            getfield org.hsqldb.TableBase.tableType:I
            iconst_3
            if_icmpeq 13
        12: .line 276
            iconst_1
            istore 3 /* writeCommit */
        13: .line 280
      StackMap locals:
      StackMap stack:
            aload 5 /* action */
            getfield org.hsqldb.RowAction.store:Lorg/hsqldb/persist/PersistentStore;
            aload 1 /* session */
            aload 7 /* row */
            iload 6 /* type */
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.txModel:I
            invokeinterface org.hsqldb.persist.PersistentStore.commitRow:(Lorg/hsqldb/Session;Lorg/hsqldb/Row;II)V
        14: .line 282
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.txModel:I
            ifeq 16
        15: .line 283
            aload 5 /* action */
            getfield org.hsqldb.RowAction.table:Lorg/hsqldb/TableBase;
            getfield org.hsqldb.TableBase.tableType:I
            iconst_3
            if_icmpne 21
        16: .line 284
      StackMap locals:
      StackMap stack:
            aload 5 /* action */
            invokevirtual org.hsqldb.RowAction.setAsNoOp:()V
        17: .line 286
            aload 7 /* row */
            aconst_null
            putfield org.hsqldb.Row.rowAction:Lorg/hsqldb/RowAction;
        18: .line 288
            goto 21
      StackMap locals:
      StackMap stack: org.hsqldb.HsqlException
        19: astore 8 /* e */
        start local 8 // org.hsqldb.HsqlException e
        20: .line 289
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
            ldc "data commit failed"
            aload 8 /* e */
            invokevirtual org.hsqldb.persist.Logger.logWarningEvent:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 8 // org.hsqldb.HsqlException e
        end local 7 // org.hsqldb.Row row
        end local 6 // int type
        end local 5 // org.hsqldb.RowAction action
        21: .line 261
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            iload 2 /* limit */
            if_icmplt 4
        end local 4 // int i
        23: .line 294
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.logSequences:()V
        24: .line 296
            iload 2 /* limit */
            ifle 29
            iload 3 /* writeCommit */
            ifeq 29
        25: .line 297
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
            aload 1 /* session */
            invokevirtual org.hsqldb.persist.Logger.writeCommitStatement:(Lorg/hsqldb/Session;)V
        26: .line 299
            goto 29
      StackMap locals: org.hsqldb.TransactionManagerCommon org.hsqldb.Session int int
      StackMap stack: org.hsqldb.HsqlException
        27: astore 4 /* e */
        start local 4 // org.hsqldb.HsqlException e
        28: .line 300
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
            ldc "data commit logging failed"
            aload 4 /* e */
            invokevirtual org.hsqldb.persist.Logger.logWarningEvent:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 4 // org.hsqldb.HsqlException e
        29: .line 302
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean writeCommit
        end local 2 // int limit
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object[] list
        start local 3 // int start
        start local 4 // int limit
         0: .line 306
            iload 3 /* start */
            istore 5 /* i */
        start local 5 // int i
         1: goto 5
         2: .line 307
      StackMap locals: int
      StackMap stack:
            aload 2 /* list */
            iload 5 /* i */
            aaload
            checkcast org.hsqldb.RowAction
            astore 6 /* action */
        start local 6 // org.hsqldb.RowAction action
         3: .line 309
            aload 6 /* action */
            getfield org.hsqldb.RowAction.store:Lorg/hsqldb/persist/PersistentStore;
            aload 1 /* session */
            aload 6 /* action */
            invokeinterface org.hsqldb.persist.PersistentStore.postCommitAction:(Lorg/hsqldb/Session;Lorg/hsqldb/RowAction;)V
        end local 6 // org.hsqldb.RowAction action
         4: .line 306
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 4 /* limit */
            if_icmplt 2
        end local 5 // int i
         6: .line 311
            return
        end local 4 // int limit
        end local 3 // int start
        end local 2 // java.lang.Object[] list
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // java.lang.Object[] list
        start local 2 // int start
        start local 3 // int limit
        start local 4 // long timestamp
         0: .line 319
            iload 2 /* start */
            istore 6 /* i */
        start local 6 // int i
         1: goto 5
         2: .line 320
      StackMap locals: int
      StackMap stack:
            aload 1 /* list */
            iload 6 /* i */
            aaload
            checkcast org.hsqldb.RowAction
            astore 7 /* rowact */
        start local 7 // org.hsqldb.RowAction rowact
         3: .line 322
            aload 7 /* rowact */
            lload 4 /* timestamp */
            invokevirtual org.hsqldb.RowAction.mergeToTimestamp:(J)V
        end local 7 // org.hsqldb.RowAction rowact
         4: .line 319
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 6 /* i */
            iload 3 /* limit */
            if_icmplt 2
        end local 6 // int i
         6: .line 324
            return
        end local 4 // long timestamp
        end local 3 // int limit
        end local 2 // int start
        end local 1 // java.lang.Object[] list
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
         0: .line 330
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.globalChangeTimestamp:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            lreturn
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.lib.OrderedHashSet newWaits
         0: .line 335
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 337
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 9
         3: .line 338
      StackMap locals: int int
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            iload 4 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 5 /* current */
        start local 5 // org.hsqldb.Session current
         4: .line 340
            aload 2 /* newWaits */
            aload 5 /* current */
            invokevirtual org.hsqldb.lib.OrderedHashSet.contains:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 341
            iconst_0
            ireturn
         6: .line 344
      StackMap locals: org.hsqldb.Session
      StackMap stack:
            aload 0 /* this */
            aload 5 /* current */
            aload 2 /* newWaits */
            invokevirtual org.hsqldb.TransactionManagerCommon.checkDeadlock:(Lorg/hsqldb/Session;Lorg/hsqldb/lib/OrderedHashSet;)Z
            ifne 8
         7: .line 345
            iconst_0
            ireturn
        end local 5 // org.hsqldb.Session current
         8: .line 337
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 3 /* size */
            if_icmplt 3
        end local 4 // int i
        10: .line 349
            iconst_1
            ireturn
        end local 3 // int size
        end local 2 // org.hsqldb.lib.OrderedHashSet newWaits
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.Session other
         0: .line 354
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 356
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 9
         3: .line 357
      StackMap locals: int int
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            iload 4 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 5 /* current */
        start local 5 // org.hsqldb.Session current
         4: .line 359
            aload 5 /* current */
            aload 2 /* other */
            if_acmpne 6
         5: .line 360
            iconst_0
            ireturn
         6: .line 363
      StackMap locals: org.hsqldb.Session
      StackMap stack:
            aload 0 /* this */
            aload 5 /* current */
            aload 2 /* other */
            invokevirtual org.hsqldb.TransactionManagerCommon.checkDeadlock:(Lorg/hsqldb/Session;Lorg/hsqldb/Session;)Z
            ifne 8
         7: .line 364
            iconst_0
            ireturn
        end local 5 // org.hsqldb.Session current
         8: .line 356
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 3 /* size */
            if_icmplt 3
        end local 4 // int i
        10: .line 368
            iconst_1
            ireturn
        end local 3 // int size
        end local 2 // org.hsqldb.Session other
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 373
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            astore 2 /* set */
        start local 2 // org.hsqldb.lib.OrderedHashSet set
         1: .line 374
            aload 0 /* this */
            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 /* sessions */
        start local 3 // org.hsqldb.Session[] sessions
         2: .line 376
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 377
      StackMap locals: org.hsqldb.lib.OrderedHashSet org.hsqldb.Session[] int
      StackMap stack:
            aload 3 /* sessions */
            iload 4 /* i */
            aaload
            getfield org.hsqldb.Session.transactionTimestamp:J
            pop2
         5: .line 379
            aload 1 /* session */
            aload 3 /* sessions */
            iload 4 /* i */
            aaload
            if_acmpeq 7
            aload 3 /* sessions */
            iload 4 /* i */
            aaload
            getfield org.hsqldb.Session.isTransaction:Z
            ifeq 7
         6: .line 380
            aload 2 /* set */
            aload 3 /* sessions */
            iload 4 /* i */
            aaload
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
         7: .line 376
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 3 /* sessions */
            arraylength
            if_icmplt 4
        end local 4 // int i
         9: .line 383
            return
        end local 3 // org.hsqldb.Session[] sessions
        end local 2 // org.hsqldb.lib.OrderedHashSet set
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 387
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            astore 2 /* set */
        start local 2 // org.hsqldb.lib.OrderedHashSet set
         1: .line 388
            aload 0 /* this */
            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 /* sessions */
        start local 3 // org.hsqldb.Session[] sessions
         2: .line 390
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 13
         4: .line 391
      StackMap locals: org.hsqldb.lib.OrderedHashSet org.hsqldb.Session[] int
      StackMap stack:
            aload 3 /* sessions */
            iload 4 /* i */
            aaload
            getfield org.hsqldb.Session.transactionTimestamp:J
            pop2
         5: .line 393
            aload 1 /* session */
            aload 3 /* sessions */
            iload 4 /* i */
            aaload
            if_acmpne 7
         6: .line 394
            goto 12
         7: .line 397
      StackMap locals:
      StackMap stack:
            aload 3 /* sessions */
            iload 4 /* i */
            aaload
            getfield org.hsqldb.Session.isPreTransaction:Z
            ifeq 10
         8: .line 398
            aload 2 /* set */
            aload 3 /* sessions */
            iload 4 /* i */
            aaload
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
         9: .line 399
            goto 12
      StackMap locals:
      StackMap stack:
        10: aload 3 /* sessions */
            iload 4 /* i */
            aaload
            getfield org.hsqldb.Session.isTransaction:Z
            ifeq 12
        11: .line 400
            aload 2 /* set */
            aload 3 /* sessions */
            iload 4 /* i */
            aaload
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
        12: .line 390
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            aload 3 /* sessions */
            arraylength
            if_icmplt 4
        end local 4 // int i
        14: .line 403
            return
        end local 3 // org.hsqldb.Session[] sessions
        end local 2 // org.hsqldb.lib.OrderedHashSet set
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 407
            aload 1 /* session */
            getfield org.hsqldb.Session.isolationLevel:I
            iconst_4
            if_icmpeq 4
         1: .line 408
            aload 1 /* session */
            getfield org.hsqldb.Session.isolationLevel:I
         2: .line 409
            bipush 8
         3: .line 408
            if_icmpne 5
         4: .line 410
      StackMap locals:
      StackMap stack:
            return
         5: .line 413
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
            ifnonnull 7
         6: .line 416
            return
         7: .line 419
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.depth:I
            ifle 9
         8: .line 422
            return
         9: .line 426
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            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: .line 425
            astore 2 /* readLocks */
        start local 2 // org.hsqldb.HsqlNameManager$HsqlName[] readLocks
        11: .line 428
            aload 2 /* readLocks */
            arraylength
            ifne 13
        12: .line 429
            return
        13: .line 432
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName[]
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
        14: .line 435
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* readLocks */
            invokevirtual org.hsqldb.TransactionManagerCommon.unlockReadTablesTPL:(Lorg/hsqldb/Session;[Lorg/hsqldb/HsqlNameManager$HsqlName;)V
        15: .line 437
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            istore 3 /* waitingCount */
        start local 3 // int waitingCount
        16: .line 439
            iload 3 /* waitingCount */
            ifne 19
        17: .line 493
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        18: .line 440
            return
        19: .line 443
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 4 /* canUnlock */
        start local 4 // boolean canUnlock
        20: .line 446
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        21: goto 26
        22: .line 447
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
            aload 2 /* readLocks */
            iload 5 /* i */
            aaload
            invokevirtual org.hsqldb.lib.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 1 /* session */
            if_acmpeq 25
        23: .line 448
            iconst_1
            istore 4 /* canUnlock */
        24: .line 450
            goto 27
        25: .line 446
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 5 /* i */
            aload 2 /* readLocks */
            arraylength
            if_icmplt 22
        end local 5 // int i
        27: .line 454
      StackMap locals:
      StackMap stack:
            iload 4 /* canUnlock */
            ifne 30
        28: .line 493
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        29: .line 455
            return
        30: .line 458
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* canUnlock */
        31: .line 460
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        32: goto 48
        33: .line 461
      StackMap locals: int
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            iload 5 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 6 /* current */
        start local 6 // org.hsqldb.Session current
        34: .line 463
            aload 6 /* current */
            getfield org.hsqldb.Session.abortTransaction:Z
            ifeq 37
        35: .line 464
            iconst_1
            istore 4 /* canUnlock */
        36: .line 466
            goto 49
        37: .line 470
      StackMap locals: org.hsqldb.Session
      StackMap stack:
            aload 6 /* current */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
        38: .line 469
            astore 7 /* currentStatement */
        start local 7 // org.hsqldb.Statement currentStatement
        39: .line 472
            aload 7 /* currentStatement */
            ifnonnull 42
        40: .line 473
            iconst_1
            istore 4 /* canUnlock */
        41: .line 475
            goto 49
        42: .line 479
      StackMap locals: org.hsqldb.Statement
      StackMap stack:
            aload 2 /* readLocks */
            aload 7 /* currentStatement */
            invokevirtual org.hsqldb.Statement.getTableNamesForWrite:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
        43: .line 478
            invokestatic org.hsqldb.lib.ArrayUtil.containsAny:([Ljava/lang/Object;[Ljava/lang/Object;)Z
        44: .line 479
            ifeq 47
        45: .line 480
            iconst_1
            istore 4 /* canUnlock */
        46: .line 482
            goto 49
        end local 7 // org.hsqldb.Statement currentStatement
        end local 6 // org.hsqldb.Session current
        47: .line 460
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        48: iload 5 /* i */
            iload 3 /* waitingCount */
            if_icmplt 33
        end local 5 // int i
        49: .line 486
      StackMap locals:
      StackMap stack:
            iload 4 /* canUnlock */
            ifne 52
        50: .line 493
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        51: .line 487
            return
        52: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.TransactionManagerCommon.resetLocks:(Lorg/hsqldb/Session;)V
        53: .line 491
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.TransactionManagerCommon.resetLatchesMidTransaction:(Lorg/hsqldb/Session;)V
        end local 4 // boolean canUnlock
        end local 3 // int waitingCount
        54: .line 492
            goto 58
      StackMap locals: org.hsqldb.TransactionManagerCommon org.hsqldb.Session org.hsqldb.HsqlNameManager$HsqlName[]
      StackMap stack: java.lang.Throwable
        55: astore 8
        56: .line 493
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        57: .line 494
            aload 8
            athrow
        58: .line 493
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        59: .line 495
            return
        end local 2 // org.hsqldb.HsqlNameManager$HsqlName[] readLocks
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 499
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.TransactionManagerCommon.unlockTablesTPL:(Lorg/hsqldb/Session;)V
         1: .line 501
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            istore 2 /* waitingCount */
        start local 2 // int waitingCount
         2: .line 503
            iload 2 /* waitingCount */
            ifne 4
         3: .line 504
            return
         4: .line 507
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.TransactionManagerCommon.resetLocks:(Lorg/hsqldb/Session;)V
         5: .line 508
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.TransactionManagerCommon.resetLatches:(Lorg/hsqldb/Session;)V
         6: .line 509
            return
        end local 2 // int waitingCount
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 513
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            istore 2 /* waitingCount */
        start local 2 // int waitingCount
         1: .line 515
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 17
         3: .line 516
      StackMap locals: int int
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            iload 3 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 4 /* current */
        start local 4 // org.hsqldb.Session current
         4: .line 518
            aload 4 /* current */
            iconst_0
            putfield org.hsqldb.Session.tempUnlocked:Z
         5: .line 520
            aload 4 /* current */
            getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
            invokevirtual org.hsqldb.lib.CountUpDownLatch.getCount:()I
            i2l
            lstore 5 /* count */
        start local 5 // long count
         6: .line 522
            lload 5 /* count */
            lconst_1
            lcmp
            ifne 16
         7: .line 523
            aload 0 /* this */
            aload 4 /* current */
         8: .line 524
            aload 4 /* current */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
         9: .line 523
            invokevirtual org.hsqldb.TransactionManagerCommon.setWaitedSessionsTPL:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
            istore 7 /* canProceed */
        start local 7 // boolean canProceed
        10: .line 526
            iload 7 /* canProceed */
            ifeq 16
        11: .line 527
            aload 4 /* current */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.isEmpty:()Z
            ifeq 16
        12: .line 528
            aload 0 /* this */
            aload 4 /* current */
        13: .line 529
            aload 4 /* current */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
        14: .line 528
            invokevirtual org.hsqldb.TransactionManagerCommon.lockTablesTPL:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)V
        15: .line 531
            aload 4 /* current */
            iconst_1
            putfield org.hsqldb.Session.tempUnlocked:Z
        end local 7 // boolean canProceed
        end local 5 // long count
        end local 4 // org.hsqldb.Session current
        16: .line 515
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 3 /* i */
            iload 2 /* waitingCount */
            if_icmplt 3
        end local 3 // int i
        18: .line 537
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        19: goto 27
        20: .line 538
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            iload 3 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 4 /* current */
        start local 4 // org.hsqldb.Session current
        21: .line 540
            aload 4 /* current */
            getfield org.hsqldb.Session.tempUnlocked:Z
            ifne 26
        22: .line 543
            aload 4 /* current */
            getfield org.hsqldb.Session.abortTransaction:Z
            ifne 26
        23: .line 549
            aload 0 /* this */
            aload 4 /* current */
        24: .line 550
            aload 4 /* current */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
        25: .line 549
            invokevirtual org.hsqldb.TransactionManagerCommon.setWaitedSessionsTPL:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
            pop
        end local 4 // org.hsqldb.Session current
        26: .line 537
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 3 /* i */
            iload 2 /* waitingCount */
            if_icmplt 20
        end local 3 // int i
        28: .line 553
            return
        end local 2 // int waitingCount
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 557
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            istore 2 /* waitingCount */
        start local 2 // int waitingCount
         1: .line 559
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 19
         3: .line 560
      StackMap locals: int int
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            iload 3 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 4 /* current */
        start local 4 // org.hsqldb.Session current
         4: .line 561
            iconst_0
            istore 5 /* monitorCode */
        start local 5 // boolean monitorCode
         5: .line 563
            iload 5 /* monitorCode */
            ifeq 17
         6: .line 564
            aload 4 /* current */
            getfield org.hsqldb.Session.abortTransaction:Z
            ifne 17
            aload 4 /* current */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.isEmpty:()Z
            ifeq 17
         7: .line 568
            aload 0 /* this */
            aload 4 /* current */
         8: .line 569
            aload 4 /* current */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
         9: .line 568
            invokevirtual org.hsqldb.TransactionManagerCommon.hasLocks:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
        10: .line 567
            istore 6 /* hasLocks */
        start local 6 // boolean hasLocks
        11: .line 571
            iload 6 /* hasLocks */
            ifne 17
        12: .line 572
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "tx graph"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        13: .line 575
            aload 0 /* this */
            aload 4 /* current */
        14: .line 576
            aload 4 /* current */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
        15: .line 575
            invokevirtual org.hsqldb.TransactionManagerCommon.hasLocks:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
        16: .line 574
            istore 6
        end local 6 // boolean hasLocks
        17: .line 581
      StackMap locals: org.hsqldb.Session int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* current */
            invokevirtual org.hsqldb.TransactionManagerCommon.setWaitingSessionTPL:(Lorg/hsqldb/Session;)V
        end local 5 // boolean monitorCode
        end local 4 // org.hsqldb.Session current
        18: .line 559
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* i */
            iload 2 /* waitingCount */
            if_icmplt 3
        end local 3 // int i
        20: .line 584
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
        21: .line 585
            aload 1 /* session */
            getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
            iconst_0
            invokevirtual org.hsqldb.lib.CountUpDownLatch.setCount:(I)Z
            pop
        22: .line 586
            return
        end local 2 // int waitingCount
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 590
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
         1: .line 591
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.addAll:(Lorg/hsqldb/lib/OrderedHashSet;)V
         2: .line 592
            aload 1 /* session */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
         3: .line 594
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            istore 2 /* waitingCount */
        start local 2 // int waitingCount
         4: .line 596
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 22
         6: .line 597
      StackMap locals: int int
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            iload 3 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 4 /* current */
        start local 4 // org.hsqldb.Session current
         7: .line 598
            iconst_0
            istore 5 /* monitorCode */
        start local 5 // boolean monitorCode
         8: .line 600
            iload 5 /* monitorCode */
            ifeq 20
         9: .line 601
            aload 4 /* current */
            getfield org.hsqldb.Session.abortTransaction:Z
            ifne 20
            aload 4 /* current */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.isEmpty:()Z
            ifeq 20
        10: .line 605
            aload 0 /* this */
            aload 4 /* current */
        11: .line 606
            aload 4 /* current */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
        12: .line 605
            invokevirtual org.hsqldb.TransactionManagerCommon.hasLocks:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
        13: .line 604
            istore 6 /* hasLocks */
        start local 6 // boolean hasLocks
        14: .line 608
            iload 6 /* hasLocks */
            ifne 20
        15: .line 609
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "tx graph"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        16: .line 612
            aload 0 /* this */
            aload 4 /* current */
        17: .line 613
            aload 4 /* current */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getfield org.hsqldb.SessionContext.currentStatement:Lorg/hsqldb/Statement;
        18: .line 612
            invokevirtual org.hsqldb.TransactionManagerCommon.hasLocks:(Lorg/hsqldb/Session;Lorg/hsqldb/Statement;)Z
        19: .line 611
            istore 6
        end local 6 // boolean hasLocks
        20: .line 618
      StackMap locals: org.hsqldb.Session int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* current */
            invokevirtual org.hsqldb.TransactionManagerCommon.setWaitingSessionTPL:(Lorg/hsqldb/Session;)V
        end local 5 // boolean monitorCode
        end local 4 // org.hsqldb.Session current
        21: .line 596
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 3 /* i */
            iload 2 /* waitingCount */
            if_icmplt 6
        end local 3 // int i
        23: .line 621
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
        24: .line 622
            return
        end local 2 // int waitingCount
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.Statement cs
         0: .line 626
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
         1: .line 628
            aload 2 /* cs */
            ifnonnull 3
         2: .line 629
            iconst_1
            ireturn
         3: .line 632
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.abortTransaction:Z
            ifeq 5
         4: .line 633
            iconst_0
            ireturn
         5: .line 636
      StackMap locals:
      StackMap stack:
            aload 2 /* cs */
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.txModel:I
            invokevirtual org.hsqldb.Statement.isCatalogLock:(I)Z
            ifeq 7
         6: .line 637
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.TransactionManagerCommon.getTransactionSessions:(Lorg/hsqldb/Session;)V
         7: .line 640
      StackMap locals:
      StackMap stack:
            aload 2 /* cs */
            invokevirtual org.hsqldb.Statement.getTableNamesForWrite:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 3 /* nameList */
        start local 3 // org.hsqldb.HsqlNameManager$HsqlName[] nameList
         8: .line 642
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 23
        10: .line 643
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName[] int
      StackMap stack:
            aload 3 /* nameList */
            iload 4 /* i */
            aaload
            astore 5 /* name */
        start local 5 // org.hsqldb.HsqlNameManager$HsqlName name
        11: .line 645
            aload 5 /* name */
            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: .line 646
            goto 22
        13: .line 649
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
            aload 5 /* name */
            invokevirtual org.hsqldb.lib.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 6 /* holder */
        start local 6 // org.hsqldb.Session holder
        14: .line 651
            aload 6 /* holder */
            ifnull 16
            aload 6 /* holder */
            aload 1 /* session */
            if_acmpeq 16
        15: .line 652
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 6 /* holder */
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
        16: .line 655
      StackMap locals: org.hsqldb.Session
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.tableReadLocks:Lorg/hsqldb/lib/MultiValueHashMap;
            aload 5 /* name */
            invokevirtual org.hsqldb.lib.MultiValueHashMap.get:(Ljava/lang/Object;)Lorg/hsqldb/lib/Iterator;
            astore 7 /* it */
        start local 7 // org.hsqldb.lib.Iterator it
        17: .line 657
            goto 21
        18: .line 658
      StackMap locals: org.hsqldb.lib.Iterator
      StackMap stack:
            aload 7 /* it */
            invokeinterface org.hsqldb.lib.Iterator.next:()Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 6 /* holder */
        19: .line 660
            aload 6 /* holder */
            aload 1 /* session */
            if_acmpeq 21
        20: .line 661
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 6 /* holder */
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
        21: .line 657
      StackMap locals:
      StackMap stack:
            aload 7 /* it */
            invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
            ifne 18
        end local 7 // org.hsqldb.lib.Iterator it
        end local 6 // org.hsqldb.Session holder
        end local 5 // org.hsqldb.HsqlNameManager$HsqlName name
        22: .line 642
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 4 /* i */
            aload 3 /* nameList */
            arraylength
            if_icmplt 10
        end local 4 // int i
        24: .line 666
            aload 2 /* cs */
            invokevirtual org.hsqldb.Statement.getTableNamesForRead:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 3 /* nameList */
        25: .line 668
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.txModel:I
            iconst_1
            if_icmpne 28
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.isReadOnly:()Z
            ifeq 28
        26: .line 669
            aload 3 /* nameList */
            arraylength
            ifle 28
        27: .line 670
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.catalogNameList:[Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 3 /* nameList */
        28: .line 674
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        29: goto 37
        30: .line 675
      StackMap locals: int
      StackMap stack:
            aload 3 /* nameList */
            iload 4 /* i */
            aaload
            astore 5 /* name */
        start local 5 // org.hsqldb.HsqlNameManager$HsqlName name
        31: .line 677
            aload 5 /* name */
            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: .line 678
            goto 36
        33: .line 681
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
            aload 5 /* name */
            invokevirtual org.hsqldb.lib.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 6 /* holder */
        start local 6 // org.hsqldb.Session holder
        34: .line 683
            aload 6 /* holder */
            ifnull 36
            aload 6 /* holder */
            aload 1 /* session */
            if_acmpeq 36
        35: .line 684
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            aload 6 /* holder */
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.hsqldb.Session holder
        end local 5 // org.hsqldb.HsqlNameManager$HsqlName name
        36: .line 674
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 4 /* i */
            aload 3 /* nameList */
            arraylength
            if_icmplt 30
        end local 4 // int i
        38: .line 688
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.isEmpty:()Z
            ifeq 40
        39: .line 689
            iconst_1
            ireturn
        40: .line 692
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 1 /* session */
            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: .line 693
            iconst_1
            ireturn
        42: .line 696
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
        43: .line 698
            aload 1 /* session */
            iconst_1
            putfield org.hsqldb.Session.abortTransaction:Z
        44: .line 700
            iconst_0
            ireturn
        end local 3 // org.hsqldb.HsqlNameManager$HsqlName[] nameList
        end local 2 // org.hsqldb.Statement cs
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 705
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            istore 2 /* count */
        start local 2 // int count
         1: .line 707
            getstatic org.hsqldb.TransactionManagerCommon.$assertionsDisabled:Z
            ifne 2
            aload 1 /* session */
            getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
            invokevirtual org.hsqldb.lib.CountUpDownLatch.getCount:()I
            iload 2 /* count */
            iconst_1
            iadd
            if_icmple 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 709
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 7
         4: .line 710
      StackMap locals: int
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            iload 3 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 4 /* current */
        start local 4 // org.hsqldb.Session current
         5: .line 712
            aload 4 /* current */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            aload 1 /* session */
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.hsqldb.Session current
         6: .line 709
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 4
        end local 3 // int i
         8: .line 715
            aload 1 /* session */
            getfield org.hsqldb.Session.tempSet:Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
         9: .line 716
            aload 1 /* session */
            getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
            iload 2 /* count */
            invokevirtual org.hsqldb.lib.CountUpDownLatch.setCount:(I)Z
            pop
        10: .line 717
            return
        end local 2 // int count
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.Statement cs
         0: .line 721
            aload 2 /* cs */
            ifnull 1
            aload 1 /* session */
            getfield org.hsqldb.Session.abortTransaction:Z
            ifeq 2
         1: .line 722
      StackMap locals:
      StackMap stack:
            return
         2: .line 725
      StackMap locals:
      StackMap stack:
            aload 2 /* cs */
            invokevirtual org.hsqldb.Statement.getTableNamesForWrite:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 3 /* nameList */
        start local 3 // org.hsqldb.HsqlNameManager$HsqlName[] nameList
         3: .line 727
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 10
         5: .line 728
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName[] int
      StackMap stack:
            aload 3 /* nameList */
            iload 4 /* i */
            aaload
            astore 5 /* name */
        start local 5 // org.hsqldb.HsqlNameManager$HsqlName name
         6: .line 730
            aload 5 /* name */
            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: .line 731
            goto 9
         8: .line 734
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
            aload 5 /* name */
            aload 1 /* session */
            invokevirtual org.hsqldb.lib.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // org.hsqldb.HsqlNameManager$HsqlName name
         9: .line 727
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 3 /* nameList */
            arraylength
            if_icmplt 5
        end local 4 // int i
        11: .line 737
            aload 2 /* cs */
            invokevirtual org.hsqldb.Statement.getTableNamesForRead:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 3 /* nameList */
        12: .line 739
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.txModel:I
            iconst_1
            if_icmpne 15
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.isReadOnly:()Z
            ifeq 15
        13: .line 740
            aload 3 /* nameList */
            arraylength
            ifle 15
        14: .line 741
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.catalogNameList:[Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 3 /* nameList */
        15: .line 745
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        16: goto 22
        17: .line 746
      StackMap locals: int
      StackMap stack:
            aload 3 /* nameList */
            iload 4 /* i */
            aaload
            astore 5 /* name */
        start local 5 // org.hsqldb.HsqlNameManager$HsqlName name
        18: .line 748
            aload 5 /* name */
            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: .line 749
            goto 21
        20: .line 752
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.tableReadLocks:Lorg/hsqldb/lib/MultiValueHashMap;
            aload 5 /* name */
            aload 1 /* session */
            invokevirtual org.hsqldb.lib.MultiValueHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // org.hsqldb.HsqlNameManager$HsqlName name
        21: .line 745
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            aload 3 /* nameList */
            arraylength
            if_icmplt 17
        end local 4 // int i
        23: .line 754
            return
        end local 3 // org.hsqldb.HsqlNameManager$HsqlName[] nameList
        end local 2 // org.hsqldb.Statement cs
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 758
            aload 0 /* this */
            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 /* it */
        start local 2 // org.hsqldb.lib.Iterator it
         1: .line 760
            goto 5
         2: .line 761
      StackMap locals: org.hsqldb.lib.Iterator
      StackMap stack:
            aload 2 /* it */
            invokeinterface org.hsqldb.lib.Iterator.next:()Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 3 /* s */
        start local 3 // org.hsqldb.Session s
         3: .line 763
            aload 3 /* s */
            aload 1 /* session */
            if_acmpne 5
         4: .line 764
            aload 2 /* it */
            invokeinterface org.hsqldb.lib.Iterator.remove:()V
        end local 3 // org.hsqldb.Session s
         5: .line 760
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
            ifne 2
         6: .line 768
            aload 0 /* this */
            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 /* it */
         7: .line 770
            goto 11
         8: .line 771
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface org.hsqldb.lib.Iterator.next:()Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 3 /* s */
        start local 3 // org.hsqldb.Session s
         9: .line 773
            aload 3 /* s */
            aload 1 /* session */
            if_acmpne 11
        10: .line 774
            aload 2 /* it */
            invokeinterface org.hsqldb.lib.Iterator.remove:()V
        end local 3 // org.hsqldb.Session s
        11: .line 770
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
            ifne 8
        12: .line 777
            return
        end local 2 // org.hsqldb.lib.Iterator it
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.HsqlNameManager$HsqlName[] locks
         0: .line 781
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 782
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.tableReadLocks:Lorg/hsqldb/lib/MultiValueHashMap;
            aload 2 /* locks */
            iload 3 /* i */
            aaload
            aload 1 /* session */
            invokevirtual org.hsqldb.lib.MultiValueHashMap.remove:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 781
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            aload 2 /* locks */
            arraylength
            if_icmplt 2
        end local 3 // int i
         5: .line 784
            return
        end local 2 // org.hsqldb.HsqlNameManager$HsqlName[] locks
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.Statement cs
         0: .line 788
            aload 2 /* cs */
            ifnonnull 2
         1: .line 789
            iconst_1
            ireturn
         2: .line 792
      StackMap locals:
      StackMap stack:
            aload 2 /* cs */
            invokevirtual org.hsqldb.Statement.getTableNamesForWrite:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 3 /* nameList */
        start local 3 // org.hsqldb.HsqlNameManager$HsqlName[] nameList
         3: .line 794
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 18
         5: .line 795
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName[] int
      StackMap stack:
            aload 3 /* nameList */
            iload 4 /* i */
            aaload
            astore 5 /* name */
        start local 5 // org.hsqldb.HsqlNameManager$HsqlName name
         6: .line 797
            aload 5 /* name */
            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: .line 798
            goto 17
         8: .line 801
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
            aload 5 /* name */
            invokevirtual org.hsqldb.lib.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 6 /* holder */
        start local 6 // org.hsqldb.Session holder
         9: .line 803
            aload 6 /* holder */
            ifnull 11
            aload 6 /* holder */
            aload 1 /* session */
            if_acmpeq 11
        10: .line 804
            iconst_0
            ireturn
        11: .line 807
      StackMap locals: org.hsqldb.Session
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.tableReadLocks:Lorg/hsqldb/lib/MultiValueHashMap;
            aload 5 /* name */
            invokevirtual org.hsqldb.lib.MultiValueHashMap.get:(Ljava/lang/Object;)Lorg/hsqldb/lib/Iterator;
            astore 7 /* it */
        start local 7 // org.hsqldb.lib.Iterator it
        12: .line 809
            goto 16
        13: .line 810
      StackMap locals: org.hsqldb.lib.Iterator
      StackMap stack:
            aload 7 /* it */
            invokeinterface org.hsqldb.lib.Iterator.next:()Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 6 /* holder */
        14: .line 812
            aload 6 /* holder */
            aload 1 /* session */
            if_acmpeq 16
        15: .line 813
            iconst_0
            ireturn
        16: .line 809
      StackMap locals:
      StackMap stack:
            aload 7 /* it */
            invokeinterface org.hsqldb.lib.Iterator.hasNext:()Z
            ifne 13
        end local 7 // org.hsqldb.lib.Iterator it
        end local 6 // org.hsqldb.Session holder
        end local 5 // org.hsqldb.HsqlNameManager$HsqlName name
        17: .line 794
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* i */
            aload 3 /* nameList */
            arraylength
            if_icmplt 5
        end local 4 // int i
        19: .line 818
            aload 2 /* cs */
            invokevirtual org.hsqldb.Statement.getTableNamesForRead:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 3 /* nameList */
        20: .line 820
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        21: goto 29
        22: .line 821
      StackMap locals:
      StackMap stack:
            aload 3 /* nameList */
            iload 4 /* i */
            aaload
            astore 5 /* name */
        start local 5 // org.hsqldb.HsqlNameManager$HsqlName name
        23: .line 823
            aload 5 /* name */
            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: .line 824
            goto 28
        25: .line 827
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.tableWriteLocks:Lorg/hsqldb/lib/HashMap;
            aload 5 /* name */
            invokevirtual org.hsqldb.lib.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 6 /* holder */
        start local 6 // org.hsqldb.Session holder
        26: .line 829
            aload 6 /* holder */
            ifnull 28
            aload 6 /* holder */
            aload 1 /* session */
            if_acmpeq 28
        27: .line 830
            iconst_0
            ireturn
        end local 6 // org.hsqldb.Session holder
        end local 5 // org.hsqldb.HsqlNameManager$HsqlName name
        28: .line 820
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 4 /* i */
            aload 3 /* nameList */
            arraylength
            if_icmplt 22
        end local 4 // int i
        30: .line 834
            iconst_1
            ireturn
        end local 3 // org.hsqldb.HsqlNameManager$HsqlName[] nameList
        end local 2 // org.hsqldb.Statement cs
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
         0: .line 839
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.liveTransactionTimestamps:Lorg/hsqldb/lib/LongDeque;
            invokevirtual org.hsqldb.lib.LongDeque.isEmpty:()Z
            ifeq 2
         1: .line 840
            ldc 9223372036854775807
            lreturn
         2: .line 843
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.liveTransactionTimestamps:Lorg/hsqldb/lib/LongDeque;
            iconst_0
            invokevirtual org.hsqldb.lib.LongDeque.get:(I)J
            lreturn
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
         0: .line 851
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
         1: .line 854
            aload 0 /* this */
            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 /* sessions */
        start local 1 // org.hsqldb.Session[] sessions
         2: .line 855
            aload 1 /* sessions */
            arraylength
            newarray 10
            astore 2 /* tIndex */
        start local 2 // int[] tIndex
         3: .line 857
            iconst_0
            istore 4 /* rowActionCount */
        start local 4 // int rowActionCount
         4: .line 860
            iconst_0
            istore 5 /* actioncount */
        start local 5 // int actioncount
         5: .line 862
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 9
         7: .line 863
      StackMap locals: org.hsqldb.TransactionManagerCommon org.hsqldb.Session[] int[] top int int int
      StackMap stack:
            iload 5 /* actioncount */
            aload 1 /* sessions */
            iload 6 /* i */
            aaload
            invokevirtual org.hsqldb.Session.getTransactionSize:()I
            iadd
            istore 5 /* actioncount */
         8: .line 862
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i */
            aload 1 /* sessions */
            arraylength
            if_icmplt 7
        end local 6 // int i
        10: .line 866
            iload 5 /* actioncount */
            anewarray org.hsqldb.RowAction
            astore 3 /* rowActions */
        end local 5 // int actioncount
        start local 3 // org.hsqldb.RowAction[] rowActions
        11: .line 870
      StackMap locals: org.hsqldb.TransactionManagerCommon org.hsqldb.Session[] int[] org.hsqldb.RowAction[] int
      StackMap stack:
            iconst_0
            istore 5 /* found */
        start local 5 // boolean found
        12: .line 871
            ldc 9223372036854775807
            lstore 6 /* minChangeNo */
        start local 6 // long minChangeNo
        13: .line 872
            iconst_0
            istore 8 /* sessionIndex */
        start local 8 // int sessionIndex
        14: .line 875
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        15: goto 27
        16: .line 876
      StackMap locals: org.hsqldb.TransactionManagerCommon org.hsqldb.Session[] int[] org.hsqldb.RowAction[] int int long int int
      StackMap stack:
            aload 1 /* sessions */
            iload 9 /* i */
            aaload
            invokevirtual org.hsqldb.Session.getTransactionSize:()I
            istore 10 /* tSize */
        start local 10 // int tSize
        17: .line 878
            aload 2 /* tIndex */
            iload 9 /* i */
            iaload
            iload 10 /* tSize */
            if_icmpge 26
        18: .line 880
            aload 1 /* sessions */
            iload 9 /* i */
            aaload
            getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
        19: .line 881
            aload 2 /* tIndex */
            iload 9 /* i */
            iaload
        20: .line 880
            invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.RowAction
        21: .line 879
            astore 11 /* current */
        start local 11 // org.hsqldb.RowAction current
        22: .line 883
            aload 11 /* current */
            getfield org.hsqldb.RowAction.actionTimestamp:J
            lload 6 /* minChangeNo */
            lcmp
            ifge 25
        23: .line 884
            aload 11 /* current */
            getfield org.hsqldb.RowAction.actionTimestamp:J
            lstore 6 /* minChangeNo */
        24: .line 885
            iload 9 /* i */
            istore 8 /* sessionIndex */
        25: .line 888
      StackMap locals: int org.hsqldb.RowAction
      StackMap stack:
            iconst_1
            istore 5 /* found */
        end local 11 // org.hsqldb.RowAction current
        end local 10 // int tSize
        26: .line 875
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 9 /* i */
            aload 1 /* sessions */
            arraylength
            if_icmplt 16
        end local 9 // int i
        28: .line 892
            iload 5 /* found */
            ifne 30
        29: .line 893
            goto 42
        30: .line 897
      StackMap locals:
      StackMap stack:
            aload 1 /* sessions */
            iload 8 /* sessionIndex */
            aaload
            getfield org.hsqldb.Session.rowActionList:Lorg/hsqldb/lib/HsqlArrayList;
        31: .line 896
            astore 9 /* currentList */
        start local 9 // org.hsqldb.lib.HsqlArrayList currentList
        32: .line 899
            goto 40
        33: .line 901
      StackMap locals: org.hsqldb.lib.HsqlArrayList
      StackMap stack:
            aload 9 /* currentList */
            aload 2 /* tIndex */
            iload 8 /* sessionIndex */
            iaload
            invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.RowAction
        34: .line 900
            astore 10 /* current */
        start local 10 // org.hsqldb.RowAction current
        35: .line 904
            aload 10 /* current */
            getfield org.hsqldb.RowAction.actionTimestamp:J
            lload 6 /* minChangeNo */
            lconst_1
            ladd
            lcmp
            ifne 37
        36: .line 905
            lload 6 /* minChangeNo */
            lconst_1
            ladd
            lstore 6 /* minChangeNo */
        37: .line 908
      StackMap locals: org.hsqldb.RowAction
      StackMap stack:
            aload 10 /* current */
            getfield org.hsqldb.RowAction.actionTimestamp:J
            lload 6 /* minChangeNo */
            lcmp
            ifne 11
        38: .line 909
            aload 3 /* rowActions */
            iload 4 /* rowActionCount */
            iinc 4 /* rowActionCount */ 1
            aload 10 /* current */
            aastore
        39: .line 911
            aload 2 /* tIndex */
            iload 8 /* sessionIndex */
            dup2
            iaload
            iconst_1
            iadd
            iastore
        end local 10 // org.hsqldb.RowAction current
        40: .line 899
      StackMap locals:
      StackMap stack:
            aload 2 /* tIndex */
            iload 8 /* sessionIndex */
            iaload
            aload 9 /* currentList */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            if_icmplt 33
        end local 9 // org.hsqldb.lib.HsqlArrayList currentList
        end local 8 // int sessionIndex
        end local 6 // long minChangeNo
        end local 5 // boolean found
        41: .line 869
            goto 11
        42: .line 918
      StackMap locals: org.hsqldb.TransactionManagerCommon org.hsqldb.Session[] int[] org.hsqldb.RowAction[] int
      StackMap stack:
            aload 3 /* rowActions */
            astore 13
        43: .line 920
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        44: .line 918
            aload 13
            areturn
        end local 4 // int rowActionCount
        end local 3 // org.hsqldb.RowAction[] rowActions
        end local 2 // int[] tIndex
        end local 1 // org.hsqldb.Session[] sessions
        45: .line 919
      StackMap locals: org.hsqldb.TransactionManagerCommon
      StackMap stack: java.lang.Throwable
            astore 12
        46: .line 920
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        47: .line 921
            aload 12
            athrow
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.Session targetSession
        start local 3 // int mode
         0: .line 926
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
         1: .line 929
            iload 3 /* mode */
            tableswitch { // 1 - 6
                    1: 2
                    2: 7
                    3: 13
                    4: 18
                    5: 29
                    6: 38
              default: 44
          }
         2: .line 932
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            aload 2 /* targetSession */
            if_acmpeq 4
         3: .line 933
            goto 48
         4: .line 936
      StackMap locals:
      StackMap stack:
            aload 2 /* targetSession */
            invokevirtual org.hsqldb.Session.isInMidTransaction:()Z
            ifne 48
         5: .line 937
            aload 2 /* targetSession */
            getfield org.hsqldb.Session.sessionData:Lorg/hsqldb/SessionData;
            invokevirtual org.hsqldb.SessionData.closeAllNavigators:()V
         6: .line 939
            goto 48
         7: .line 942
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            aload 2 /* targetSession */
            if_acmpeq 9
         8: .line 943
            goto 48
         9: .line 946
      StackMap locals:
      StackMap stack:
            aload 2 /* targetSession */
            invokevirtual org.hsqldb.Session.isInMidTransaction:()Z
            ifne 48
        10: .line 947
            aload 2 /* targetSession */
            getfield org.hsqldb.Session.sessionData:Lorg/hsqldb/SessionData;
            getfield org.hsqldb.SessionData.persistentStoreCollection:Lorg/hsqldb/persist/PersistentStoreCollectionSession;
        11: .line 948
            invokevirtual org.hsqldb.persist.PersistentStoreCollectionSession.clearAllTables:()V
        12: .line 950
            goto 48
        13: .line 953
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            aload 2 /* targetSession */
            if_acmpeq 15
        14: .line 954
            goto 48
        15: .line 957
      StackMap locals:
      StackMap stack:
            aload 2 /* targetSession */
            invokevirtual org.hsqldb.Session.isInMidTransaction:()Z
            ifne 48
        16: .line 958
            aload 2 /* targetSession */
            invokevirtual org.hsqldb.Session.resetSession:()V
        17: .line 960
            goto 48
        18: .line 963
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            aload 2 /* targetSession */
            if_acmpne 21
        19: .line 1008
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        20: .line 964
            return
        21: .line 967
      StackMap locals:
      StackMap stack:
            aload 2 /* targetSession */
            invokevirtual org.hsqldb.Session.isInMidTransaction:()Z
            ifeq 48
        22: .line 968
            aload 0 /* this */
            aload 2 /* targetSession */
            invokevirtual org.hsqldb.TransactionManagerCommon.prepareReset:(Lorg/hsqldb/Session;)V
        23: .line 970
            aload 2 /* targetSession */
            iconst_1
            putfield org.hsqldb.Session.abortTransaction:Z
        24: .line 972
            aload 2 /* targetSession */
            getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
            invokevirtual org.hsqldb.lib.CountUpDownLatch.getCount:()I
            ifle 27
        25: .line 973
            aload 2 /* targetSession */
            getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
            iconst_0
            invokevirtual org.hsqldb.lib.CountUpDownLatch.setCount:(I)Z
            pop
        26: .line 974
            goto 48
        27: .line 975
      StackMap locals:
      StackMap stack:
            aload 2 /* targetSession */
            iconst_1
            invokevirtual org.hsqldb.Session.rollbackNoCheck:(Z)V
        28: .line 978
            goto 48
        29: .line 981
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            aload 2 /* targetSession */
            if_acmpne 32
        30: .line 1008
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        31: .line 982
            return
        32: .line 985
      StackMap locals:
      StackMap stack:
            aload 2 /* targetSession */
            invokevirtual org.hsqldb.Session.isInMidTransaction:()Z
            ifeq 48
        33: .line 986
            aload 0 /* this */
            aload 2 /* targetSession */
            invokevirtual org.hsqldb.TransactionManagerCommon.prepareReset:(Lorg/hsqldb/Session;)V
        34: .line 988
            aload 2 /* targetSession */
            iconst_1
            putfield org.hsqldb.Session.abortAction:Z
        35: .line 990
            aload 2 /* targetSession */
            getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
            invokevirtual org.hsqldb.lib.CountUpDownLatch.getCount:()I
            ifle 48
        36: .line 991
            aload 2 /* targetSession */
            getfield org.hsqldb.Session.latch:Lorg/hsqldb/lib/CountUpDownLatch;
            iconst_0
            invokevirtual org.hsqldb.lib.CountUpDownLatch.setCount:(I)Z
            pop
        37: .line 994
            goto 48
        38: .line 997
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            aload 2 /* targetSession */
            if_acmpne 41
        39: .line 1008
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        40: .line 998
            return
        41: .line 1001
      StackMap locals:
      StackMap stack:
            aload 2 /* targetSession */
            invokevirtual org.hsqldb.Session.isInMidTransaction:()Z
            ifne 48
        42: .line 1002
            aload 2 /* targetSession */
            iconst_1
            invokevirtual org.hsqldb.Session.rollbackNoCheck:(Z)V
        43: .line 1003
            aload 2 /* targetSession */
            invokevirtual org.hsqldb.Session.close:()V
        44: .line 1007
      StackMap locals:
      StackMap stack:
            goto 48
      StackMap locals:
      StackMap stack: java.lang.Throwable
        45: astore 4
        46: .line 1008
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        47: .line 1009
            aload 4
            athrow
        48: .line 1008
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.TransactionManagerCommon.writeLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
        49: .line 1010
            return
        end local 3 // int mode
        end local 2 // org.hsqldb.Session targetSession
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 1014
            aload 1 /* session */
            getfield org.hsqldb.Session.waitedSessions:Lorg/hsqldb/lib/OrderedHashSet;
            astore 2 /* waitedSessions */
        start local 2 // org.hsqldb.lib.OrderedHashSet waitedSessions
         1: .line 1016
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 1017
      StackMap locals: org.hsqldb.lib.OrderedHashSet int
      StackMap stack:
            aload 2 /* waitedSessions */
            iload 3 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.Session
            astore 4 /* current */
        start local 4 // org.hsqldb.Session current
         4: .line 1019
            aload 4 /* current */
            getfield org.hsqldb.Session.waitingSessions:Lorg/hsqldb/lib/OrderedHashSet;
            aload 1 /* session */
            invokevirtual org.hsqldb.lib.OrderedHashSet.remove:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.hsqldb.Session current
         5: .line 1016
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* waitedSessions */
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            if_icmplt 3
        end local 3 // int i
         7: .line 1022
            aload 2 /* waitedSessions */
            invokevirtual org.hsqldb.lib.OrderedHashSet.clear:()V
         8: .line 1023
            return
        end local 2 // org.hsqldb.lib.OrderedHashSet waitedSessions
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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 // org.hsqldb.TransactionManagerCommon this
        start local 1 // org.hsqldb.Session session
         0: .line 1025
            return
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.TransactionManagerCommon this
      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