class org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction implements org.h2.store.InDoubtTransaction
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction
  super_class: java.lang.Object
{
  private final org.h2.mvstore.MVStore store;
    descriptor: Lorg/h2/mvstore/MVStore;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.h2.mvstore.tx.Transaction transaction;
    descriptor: Lorg/h2/mvstore/tx/Transaction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int state;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  void <init>(org.h2.mvstore.MVStore, org.h2.mvstore.tx.Transaction);
    descriptor: (Lorg/h2/mvstore/MVStore;Lorg/h2/mvstore/tx/Transaction;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction this
        start local 1 // org.h2.mvstore.MVStore store
        start local 2 // org.h2.mvstore.tx.Transaction transaction
         0: .line 438
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 436
            aload 0 /* this */
            iconst_0
            putfield org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction.state:I
         2: .line 439
            aload 0 /* this */
            aload 1 /* store */
            putfield org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction.store:Lorg/h2/mvstore/MVStore;
         3: .line 440
            aload 0 /* this */
            aload 2 /* transaction */
            putfield org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction.transaction:Lorg/h2/mvstore/tx/Transaction;
         4: .line 441
            return
        end local 2 // org.h2.mvstore.tx.Transaction transaction
        end local 1 // org.h2.mvstore.MVStore store
        end local 0 // org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/h2/mvstore/db/MVTableEngine$MVInDoubtTransaction;
            0    5     1        store  Lorg/h2/mvstore/MVStore;
            0    5     2  transaction  Lorg/h2/mvstore/tx/Transaction;
    MethodParameters:
             Name  Flags
      store        
      transaction  

  public void setState(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction this
        start local 1 // int state
         0: .line 445
            iload 1 /* state */
            iconst_1
            if_icmpne 3
         1: .line 446
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction.transaction:Lorg/h2/mvstore/tx/Transaction;
            invokevirtual org.h2.mvstore.tx.Transaction.commit:()V
         2: .line 447
            goto 4
         3: .line 448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction.transaction:Lorg/h2/mvstore/tx/Transaction;
            invokevirtual org.h2.mvstore.tx.Transaction.rollback:()V
         4: .line 450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction.store:Lorg/h2/mvstore/MVStore;
            invokevirtual org.h2.mvstore.MVStore.commit:()J
            pop2
         5: .line 451
            aload 0 /* this */
            iload 1 /* state */
            putfield org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction.state:I
         6: .line 452
            return
        end local 1 // int state
        end local 0 // org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/h2/mvstore/db/MVTableEngine$MVInDoubtTransaction;
            0    7     1  state  I
    MethodParameters:
       Name  Flags
      state  

  public java.lang.String getState();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction this
         0: .line 456
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction.state:I
            tableswitch { // 0 - 2
                    0: 1
                    1: 2
                    2: 3
              default: 4
          }
         1: .line 458
      StackMap locals:
      StackMap stack:
            ldc "IN_DOUBT"
            areturn
         2: .line 460
      StackMap locals:
      StackMap stack:
            ldc "COMMIT"
            areturn
         3: .line 462
      StackMap locals:
      StackMap stack:
            ldc "ROLLBACK"
            areturn
         4: .line 464
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "state="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction.state:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 0 // org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/mvstore/db/MVTableEngine$MVInDoubtTransaction;

  public java.lang.String getTransactionName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction this
         0: .line 470
            aload 0 /* this */
            getfield org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction.transaction:Lorg/h2/mvstore/tx/Transaction;
            invokevirtual org.h2.mvstore.tx.Transaction.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/db/MVTableEngine$MVInDoubtTransaction;
}
SourceFile: "MVTableEngine.java"
NestHost: org.h2.mvstore.db.MVTableEngine
InnerClasses:
  private MVInDoubtTransaction = org.h2.mvstore.db.MVTableEngine$MVInDoubtTransaction of org.h2.mvstore.db.MVTableEngine