public class org.h2.command.CommandRemote implements org.h2.command.CommandInterface
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.command.CommandRemote
  super_class: java.lang.Object
{
  private final java.util.ArrayList<org.h2.value.Transfer> transferList;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/h2/value/Transfer;>;

  private final java.util.ArrayList<org.h2.expression.ParameterInterface> parameters;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/h2/expression/ParameterInterface;>;

  private final org.h2.message.Trace trace;
    descriptor: Lorg/h2/message/Trace;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String sql;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int fetchSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.h2.engine.SessionRemote session;
    descriptor: Lorg/h2/engine/SessionRemote;
    flags: (0x0002) ACC_PRIVATE

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

  private boolean isQuery;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

  private boolean readonly;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final int created;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.h2.engine.SessionRemote, java.util.ArrayList<org.h2.value.Transfer>, java.lang.String, );
    descriptor: (Lorg/h2/engine/SessionRemote;Ljava/util/ArrayList;Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.h2.command.CommandRemote this
        start local 1 // org.h2.engine.SessionRemote session
        start local 2 // java.util.ArrayList transferList
        start local 3 // java.lang.String sql
        start local 4 // int fetchSize
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 41
            aload 0 /* this */
            iconst_0
            putfield org.h2.command.CommandRemote.cmdType:I
         2: .line 47
            aload 0 /* this */
            aload 2 /* transferList */
            putfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
         3: .line 48
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.SessionRemote.getTrace:()Lorg/h2/message/Trace;
            putfield org.h2.command.CommandRemote.trace:Lorg/h2/message/Trace;
         4: .line 49
            aload 0 /* this */
            aload 3 /* sql */
            putfield org.h2.command.CommandRemote.sql:Ljava/lang/String;
         5: .line 50
            aload 0 /* this */
            invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
            putfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
         6: .line 51
            aload 0 /* this */
            aload 1 /* session */
            iconst_1
            invokevirtual org.h2.command.CommandRemote.prepare:(Lorg/h2/engine/SessionRemote;Z)V
         7: .line 54
            aload 0 /* this */
            aload 1 /* session */
            putfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
         8: .line 55
            aload 0 /* this */
            iload 4 /* fetchSize */
            putfield org.h2.command.CommandRemote.fetchSize:I
         9: .line 56
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.SessionRemote.getLastReconnect:()I
            putfield org.h2.command.CommandRemote.created:I
        10: .line 57
            return
        end local 4 // int fetchSize
        end local 3 // java.lang.String sql
        end local 2 // java.util.ArrayList transferList
        end local 1 // org.h2.engine.SessionRemote session
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lorg/h2/command/CommandRemote;
            0   11     1       session  Lorg/h2/engine/SessionRemote;
            0   11     2  transferList  Ljava/util/ArrayList<Lorg/h2/value/Transfer;>;
            0   11     3           sql  Ljava/lang/String;
            0   11     4     fetchSize  I
    Signature: (Lorg/h2/engine/SessionRemote;Ljava/util/ArrayList<Lorg/h2/value/Transfer;>;Ljava/lang/String;I)V
    MethodParameters:
              Name  Flags
      session       
      transferList  
      sql           
      fetchSize     

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.command.CommandRemote this
         0: .line 62
            invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
            athrow
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/command/CommandRemote;

  private void prepare(org.h2.engine.SessionRemote, boolean);
    descriptor: (Lorg/h2/engine/SessionRemote;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.h2.command.CommandRemote this
        start local 1 // org.h2.engine.SessionRemote s
        start local 2 // boolean createParams
         0: .line 66
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual org.h2.engine.SessionRemote.getNextId:()I
            putfield org.h2.command.CommandRemote.id:I
         1: .line 67
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: iconst_0
            istore 4 /* count */
        start local 4 // int count
         3: goto 42
         4: .line 69
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.h2.value.Transfer
            astore 5 /* transfer */
        start local 5 // org.h2.value.Transfer transfer
         5: .line 71
            aload 1 /* s */
            invokevirtual org.h2.engine.SessionRemote.getClientVersion:()I
            bipush 16
            if_icmplt 6
            iconst_1
            goto 7
      StackMap locals: org.h2.value.Transfer
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* v16 */
        start local 6 // boolean v16
         8: .line 73
            iload 2 /* createParams */
            ifeq 19
         9: .line 74
            aload 1 /* s */
            iload 6 /* v16 */
            ifeq 10
            ldc "SESSION_PREPARE_READ_PARAMS2"
            goto 11
        10: .line 75
      StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int int int org.h2.value.Transfer int
      StackMap stack: org.h2.engine.SessionRemote
            ldc "SESSION_PREPARE_READ_PARAMS"
      StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int int int org.h2.value.Transfer int
      StackMap stack: org.h2.engine.SessionRemote java.lang.String
        11: aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
        12: .line 74
            invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
        13: .line 76
            aload 5 /* transfer */
        14: .line 77
            iload 6 /* v16 */
            ifeq 15
            bipush 18
            goto 16
        15: .line 78
      StackMap locals:
      StackMap stack: org.h2.value.Transfer
            bipush 11
        16: .line 76
      StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int int int org.h2.value.Transfer int
      StackMap stack: org.h2.value.Transfer int
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
        17: .line 79
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.sql:Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
        18: .line 80
            goto 22
        19: .line 81
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            ldc "SESSION_PREPARE"
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
            invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
        20: .line 82
            aload 5 /* transfer */
            iconst_0
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
        21: .line 83
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.sql:Ljava/lang/String;
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
        22: .line 85
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            aload 5 /* transfer */
            invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
        23: .line 86
            aload 0 /* this */
            aload 5 /* transfer */
            invokevirtual org.h2.value.Transfer.readBoolean:()Z
            putfield org.h2.command.CommandRemote.isQuery:Z
        24: .line 87
            aload 0 /* this */
            aload 5 /* transfer */
            invokevirtual org.h2.value.Transfer.readBoolean:()Z
            putfield org.h2.command.CommandRemote.readonly:Z
        25: .line 89
            aload 0 /* this */
            iload 6 /* v16 */
            ifeq 26
            iload 2 /* createParams */
            ifeq 26
            aload 5 /* transfer */
            invokevirtual org.h2.value.Transfer.readInt:()I
            goto 27
      StackMap locals:
      StackMap stack: org.h2.command.CommandRemote
        26: iconst_0
      StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int int int org.h2.value.Transfer int
      StackMap stack: org.h2.command.CommandRemote int
        27: putfield org.h2.command.CommandRemote.cmdType:I
        28: .line 91
            aload 5 /* transfer */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 7 /* paramCount */
        start local 7 // int paramCount
        29: .line 92
            iload 2 /* createParams */
            ifeq 41
        30: .line 93
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
        31: .line 94
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        32: goto 37
        33: .line 95
      StackMap locals: int int
      StackMap stack:
            new org.h2.expression.ParameterRemote
            dup
            iload 8 /* j */
            invokespecial org.h2.expression.ParameterRemote.<init>:(I)V
            astore 9 /* p */
        start local 9 // org.h2.expression.ParameterRemote p
        34: .line 96
            aload 9 /* p */
            aload 5 /* transfer */
            invokevirtual org.h2.expression.ParameterRemote.readMetaData:(Lorg/h2/value/Transfer;)V
        35: .line 97
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
            aload 9 /* p */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.h2.expression.ParameterRemote p
        36: .line 94
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        37: iload 8 /* j */
            iload 7 /* paramCount */
            if_icmplt 33
        end local 8 // int j
        end local 7 // int paramCount
        end local 6 // boolean v16
        end local 5 // org.h2.value.Transfer transfer
        38: .line 100
            goto 41
      StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int int int
      StackMap stack: java.io.IOException
        39: astore 5 /* e */
        start local 5 // java.io.IOException e
        40: .line 101
            aload 1 /* s */
            aload 5 /* e */
            iload 3 /* i */
            iinc 3 /* i */ -1
            iinc 4 /* count */ 1
            iload 4 /* count */
            invokevirtual org.h2.engine.SessionRemote.removeServer:(Ljava/io/IOException;II)V
        end local 5 // java.io.IOException e
        41: .line 67
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 3 /* i */
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 4
        end local 4 // int count
        end local 3 // int i
        43: .line 104
            return
        end local 2 // boolean createParams
        end local 1 // org.h2.engine.SessionRemote s
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   44     0          this  Lorg/h2/command/CommandRemote;
            0   44     1             s  Lorg/h2/engine/SessionRemote;
            0   44     2  createParams  Z
            2   43     3             i  I
            3   43     4         count  I
            5   38     5      transfer  Lorg/h2/value/Transfer;
            8   38     6           v16  Z
           29   38     7    paramCount  I
           32   38     8             j  I
           34   36     9             p  Lorg/h2/expression/ParameterRemote;
           40   41     5             e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4    38      39  Class java.io.IOException
    MethodParameters:
              Name  Flags
      s             
      createParams  

  public boolean isQuery();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.command.CommandRemote this
         0: .line 108
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.isQuery:Z
            ireturn
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/command/CommandRemote;

  public java.util.ArrayList<org.h2.expression.ParameterInterface> getParameters();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.command.CommandRemote this
         0: .line 113
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
            areturn
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/command/CommandRemote;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/expression/ParameterInterface;>;

  private void prepareIfRequired();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.command.CommandRemote this
         0: .line 117
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.getLastReconnect:()I
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.created:I
            if_icmpeq 2
         1: .line 119
            aload 0 /* this */
            ldc -2147483648
            putfield org.h2.command.CommandRemote.id:I
         2: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.checkClosed:()V
         3: .line 122
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.getCurrentId:()I
            getstatic org.h2.engine.SysProperties.SERVER_CACHED_OBJECTS:I
            isub
            if_icmpgt 5
         4: .line 124
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            iconst_0
            invokevirtual org.h2.command.CommandRemote.prepare:(Lorg/h2/engine/SessionRemote;Z)V
         5: .line 126
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/command/CommandRemote;

  public org.h2.result.ResultInterface getMetaData();
    descriptor: ()Lorg/h2/result/ResultInterface;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // org.h2.command.CommandRemote this
         0: .line 130
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            dup
            astore 1
            monitorenter
         1: .line 131
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.isQuery:Z
            ifne 4
         2: .line 132
            aload 1
            monitorexit
         3: aconst_null
            areturn
         4: .line 134
      StackMap locals: org.h2.engine.SessionRemote
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.getNextId:()I
            istore 2 /* objectId */
        start local 2 // int objectId
         5: .line 135
            aconst_null
            astore 3 /* result */
        start local 3 // org.h2.result.ResultRemote result
         6: .line 136
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: iconst_0
            istore 5 /* count */
        start local 5 // int count
         8: goto 23
         9: .line 137
      StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.command.CommandRemote.prepareIfRequired:()V
        10: .line 138
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.h2.value.Transfer
            astore 6 /* transfer */
        start local 6 // org.h2.value.Transfer transfer
        11: .line 140
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            ldc "COMMAND_GET_META_DATA"
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
            invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
        12: .line 141
            aload 6 /* transfer */
            bipush 10
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
        13: .line 142
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            iload 2 /* objectId */
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        14: .line 143
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            aload 6 /* transfer */
            invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
        15: .line 144
            aload 6 /* transfer */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 7 /* columnCount */
        start local 7 // int columnCount
        16: .line 145
            new org.h2.result.ResultRemote
            dup
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            aload 6 /* transfer */
            iload 2 /* objectId */
        17: .line 146
            iload 7 /* columnCount */
            ldc 2147483647
        18: .line 145
            invokespecial org.h2.result.ResultRemote.<init>:(Lorg/h2/engine/SessionRemote;Lorg/h2/value/Transfer;III)V
            astore 3 /* result */
        19: .line 147
            goto 24
        end local 7 // int columnCount
        20: .line 148
      StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int org.h2.value.Transfer
      StackMap stack: java.io.IOException
            astore 7 /* e */
        start local 7 // java.io.IOException e
        21: .line 149
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            aload 7 /* e */
            iload 4 /* i */
            iinc 4 /* i */ -1
            iinc 5 /* count */ 1
            iload 5 /* count */
            invokevirtual org.h2.engine.SessionRemote.removeServer:(Ljava/io/IOException;II)V
        end local 7 // java.io.IOException e
        end local 6 // org.h2.value.Transfer transfer
        22: .line 136
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 4 /* i */
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 9
        end local 5 // int count
        end local 4 // int i
        24: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.autoCommitIfCluster:()V
        25: .line 153
            aload 3 /* result */
            aload 1
            monitorexit
        26: areturn
        end local 3 // org.h2.result.ResultRemote result
        end local 2 // int objectId
        27: .line 130
      StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        28: athrow
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0         this  Lorg/h2/command/CommandRemote;
            5   27     2     objectId  I
            6   27     3       result  Lorg/h2/result/ResultRemote;
            7   24     4            i  I
            8   24     5        count  I
           11   22     6     transfer  Lorg/h2/value/Transfer;
           16   20     7  columnCount  I
           21   22     7            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          11    19      20  Class java.io.IOException
           1     3      27  any
           4    26      27  any
          27    28      27  any

  public org.h2.result.ResultInterface executeQuery(int, boolean);
    descriptor: (IZ)Lorg/h2/result/ResultInterface;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // org.h2.command.CommandRemote this
        start local 1 // int maxRows
        start local 2 // boolean scrollable
         0: .line 159
            aload 0 /* this */
            invokevirtual org.h2.command.CommandRemote.checkParameters:()V
         1: .line 160
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            dup
            astore 3
            monitorenter
         2: .line 161
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.getNextId:()I
            istore 4 /* objectId */
        start local 4 // int objectId
         3: .line 162
            aconst_null
            astore 5 /* result */
        start local 5 // org.h2.result.ResultRemote result
         4: .line 163
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: iconst_0
            istore 7 /* count */
        start local 7 // int count
         6: goto 29
         7: .line 164
      StackMap locals: org.h2.command.CommandRemote int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.command.CommandRemote.prepareIfRequired:()V
         8: .line 165
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.h2.value.Transfer
            astore 8 /* transfer */
        start local 8 // org.h2.value.Transfer transfer
         9: .line 167
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            ldc "COMMAND_EXECUTE_QUERY"
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
            invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
        10: .line 168
            aload 8 /* transfer */
            iconst_2
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
        11: .line 169
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            iload 4 /* objectId */
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            iload 1 /* maxRows */
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        12: .line 171
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.isClustered:()Z
            ifne 13
            iload 2 /* scrollable */
            ifeq 15
        13: .line 172
      StackMap locals: org.h2.value.Transfer
      StackMap stack:
            ldc 2147483647
            istore 9 /* fetch */
        start local 9 // int fetch
        14: .line 173
            goto 16
        end local 9 // int fetch
        15: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.fetchSize:I
            istore 9 /* fetch */
        start local 9 // int fetch
        16: .line 176
      StackMap locals: int
      StackMap stack:
            aload 8 /* transfer */
            iload 9 /* fetch */
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        17: .line 177
            aload 0 /* this */
            aload 8 /* transfer */
            invokevirtual org.h2.command.CommandRemote.sendParameters:(Lorg/h2/value/Transfer;)V
        18: .line 178
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            aload 8 /* transfer */
            invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
        19: .line 179
            aload 8 /* transfer */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 10 /* columnCount */
        start local 10 // int columnCount
        20: .line 180
            aload 5 /* result */
            ifnull 23
        21: .line 181
            aload 5 /* result */
            invokevirtual org.h2.result.ResultRemote.close:()V
        22: .line 182
            aconst_null
            astore 5 /* result */
        23: .line 184
      StackMap locals: int
      StackMap stack:
            new org.h2.result.ResultRemote
            dup
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            aload 8 /* transfer */
            iload 4 /* objectId */
            iload 10 /* columnCount */
            iload 9 /* fetch */
            invokespecial org.h2.result.ResultRemote.<init>:(Lorg/h2/engine/SessionRemote;Lorg/h2/value/Transfer;III)V
            astore 5 /* result */
        24: .line 185
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.readonly:Z
            ifeq 28
        25: .line 186
            goto 30
        end local 10 // int columnCount
        end local 9 // int fetch
        26: .line 188
      StackMap locals: org.h2.command.CommandRemote int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int org.h2.value.Transfer
      StackMap stack: java.io.IOException
            astore 9 /* e */
        start local 9 // java.io.IOException e
        27: .line 189
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            aload 9 /* e */
            iload 6 /* i */
            iinc 6 /* i */ -1
            iinc 7 /* count */ 1
            iload 7 /* count */
            invokevirtual org.h2.engine.SessionRemote.removeServer:(Ljava/io/IOException;II)V
        end local 9 // java.io.IOException e
        end local 8 // org.h2.value.Transfer transfer
        28: .line 163
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 6 /* i */
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 7
        end local 7 // int count
        end local 6 // int i
        30: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.autoCommitIfCluster:()V
        31: .line 193
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.readSessionState:()V
        32: .line 194
            aload 5 /* result */
            aload 3
            monitorexit
        33: areturn
        end local 5 // org.h2.result.ResultRemote result
        end local 4 // int objectId
        34: .line 160
      StackMap locals: org.h2.command.CommandRemote int int org.h2.engine.SessionRemote
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        35: athrow
        end local 2 // boolean scrollable
        end local 1 // int maxRows
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   36     0         this  Lorg/h2/command/CommandRemote;
            0   36     1      maxRows  I
            0   36     2   scrollable  Z
            3   34     4     objectId  I
            4   34     5       result  Lorg/h2/result/ResultRemote;
            5   30     6            i  I
            6   30     7        count  I
            9   28     8     transfer  Lorg/h2/value/Transfer;
           14   15     9        fetch  I
           16   26     9        fetch  I
           20   26    10  columnCount  I
           27   28     9            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    25      26  Class java.io.IOException
           2    33      34  any
          34    35      34  any
    MethodParameters:
            Name  Flags
      maxRows     
      scrollable  

  public org.h2.result.ResultWithGeneratedKeys executeUpdate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/h2/result/ResultWithGeneratedKeys;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=18, args_size=2
        start local 0 // org.h2.command.CommandRemote this
        start local 1 // java.lang.Object generatedKeysRequest
         0: .line 200
            aload 0 /* this */
            invokevirtual org.h2.command.CommandRemote.checkParameters:()V
         1: .line 201
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.isSupportsGeneratedKeys:()Z
            istore 2 /* supportsGeneratedKeys */
        start local 2 // boolean supportsGeneratedKeys
         2: .line 202
            iload 2 /* supportsGeneratedKeys */
            ifeq 3
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            aload 1 /* generatedKeysRequest */
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifne 3
            iconst_1
            goto 4
      StackMap locals: int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 3 /* readGeneratedKeys */
        start local 3 // boolean readGeneratedKeys
         5: .line 203
            iload 3 /* readGeneratedKeys */
            ifeq 6
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.getNextId:()I
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 4 /* objectId */
        start local 4 // int objectId
         8: .line 204
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            dup
            astore 5
            monitorenter
         9: .line 205
            iconst_0
            istore 6 /* updateCount */
        start local 6 // int updateCount
        10: .line 206
            aconst_null
            astore 7 /* generatedKeys */
        start local 7 // org.h2.result.ResultRemote generatedKeys
        11: .line 207
            iconst_0
            istore 8 /* autoCommit */
        start local 8 // boolean autoCommit
        12: .line 208
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        13: iconst_0
            istore 10 /* count */
        start local 10 // int count
        14: goto 52
        15: .line 209
      StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.command.CommandRemote.prepareIfRequired:()V
        16: .line 210
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
            iload 9 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.h2.value.Transfer
            astore 11 /* transfer */
        start local 11 // org.h2.value.Transfer transfer
        17: .line 212
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            ldc "COMMAND_EXECUTE_UPDATE"
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
            invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
        18: .line 213
            aload 11 /* transfer */
            iconst_3
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        19: .line 214
            aload 0 /* this */
            aload 11 /* transfer */
            invokevirtual org.h2.command.CommandRemote.sendParameters:(Lorg/h2/value/Transfer;)V
        20: .line 215
            iload 2 /* supportsGeneratedKeys */
            ifeq 39
        21: .line 216
            aload 1 /* generatedKeysRequest */
            invokestatic org.h2.engine.GeneratedKeysMode.valueOf:(Ljava/lang/Object;)I
            istore 12 /* mode */
        start local 12 // int mode
        22: .line 217
            aload 11 /* transfer */
            iload 12 /* mode */
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        23: .line 218
            iload 12 /* mode */
            tableswitch { // 2 - 3
                    2: 24
                    3: 32
              default: 39
          }
        24: .line 220
      StackMap locals: org.h2.value.Transfer int
      StackMap stack:
            aload 1 /* generatedKeysRequest */
            checkcast int[]
            astore 13 /* keys */
        start local 13 // int[] keys
        25: .line 221
            aload 11 /* transfer */
            aload 13 /* keys */
            arraylength
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        26: .line 222
            aload 13 /* keys */
            dup
            astore 17
            arraylength
            istore 16
            iconst_0
            istore 15
            goto 30
      StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int int org.h2.value.Transfer int int[] top int int int[]
      StackMap stack:
        27: aload 17
            iload 15
            iaload
            istore 14 /* key */
        start local 14 // int key
        28: .line 223
            aload 11 /* transfer */
            iload 14 /* key */
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        end local 14 // int key
        29: .line 222
            iinc 15 1
      StackMap locals:
      StackMap stack:
        30: iload 15
            iload 16
            if_icmplt 27
        31: .line 225
            goto 39
        end local 13 // int[] keys
        32: .line 228
      StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int int org.h2.value.Transfer int
      StackMap stack:
            aload 1 /* generatedKeysRequest */
            checkcast java.lang.String[]
            astore 13 /* keys */
        start local 13 // java.lang.String[] keys
        33: .line 229
            aload 11 /* transfer */
            aload 13 /* keys */
            arraylength
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
        34: .line 230
            aload 13 /* keys */
            dup
            astore 17
            arraylength
            istore 16
            iconst_0
            istore 15
            goto 38
      StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int int org.h2.value.Transfer int java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        35: aload 17
            iload 15
            aaload
            astore 14 /* key */
        start local 14 // java.lang.String key
        36: .line 231
            aload 11 /* transfer */
            aload 14 /* key */
            invokevirtual org.h2.value.Transfer.writeString:(Ljava/lang/String;)Lorg/h2/value/Transfer;
            pop
        end local 14 // java.lang.String key
        37: .line 230
            iinc 15 1
      StackMap locals:
      StackMap stack:
        38: iload 15
            iload 16
            if_icmplt 35
        end local 13 // java.lang.String[] keys
        end local 12 // int mode
        39: .line 237
      StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int int org.h2.value.Transfer
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            aload 11 /* transfer */
            invokevirtual org.h2.engine.SessionRemote.done:(Lorg/h2/value/Transfer;)V
        40: .line 238
            aload 11 /* transfer */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 6 /* updateCount */
        41: .line 239
            aload 11 /* transfer */
            invokevirtual org.h2.value.Transfer.readBoolean:()Z
            istore 8 /* autoCommit */
        42: .line 240
            iload 3 /* readGeneratedKeys */
            ifeq 51
        43: .line 241
            aload 11 /* transfer */
            invokevirtual org.h2.value.Transfer.readInt:()I
            istore 12 /* columnCount */
        start local 12 // int columnCount
        44: .line 242
            aload 7 /* generatedKeys */
            ifnull 47
        45: .line 243
            aload 7 /* generatedKeys */
            invokevirtual org.h2.result.ResultRemote.close:()V
        46: .line 244
            aconst_null
            astore 7 /* generatedKeys */
        47: .line 246
      StackMap locals: int
      StackMap stack:
            new org.h2.result.ResultRemote
            dup
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            aload 11 /* transfer */
            iload 4 /* objectId */
            iload 12 /* columnCount */
            ldc 2147483647
            invokespecial org.h2.result.ResultRemote.<init>:(Lorg/h2/engine/SessionRemote;Lorg/h2/value/Transfer;III)V
            astore 7 /* generatedKeys */
        end local 12 // int columnCount
        48: .line 248
            goto 51
      StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote int org.h2.result.ResultRemote int int int org.h2.value.Transfer
      StackMap stack: java.io.IOException
        49: astore 12 /* e */
        start local 12 // java.io.IOException e
        50: .line 249
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            aload 12 /* e */
            iload 9 /* i */
            iinc 9 /* i */ -1
            iinc 10 /* count */ 1
            iload 10 /* count */
            invokevirtual org.h2.engine.SessionRemote.removeServer:(Ljava/io/IOException;II)V
        end local 12 // java.io.IOException e
        end local 11 // org.h2.value.Transfer transfer
        51: .line 208
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        52: iload 9 /* i */
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 15
        end local 10 // int count
        end local 9 // int i
        53: .line 252
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            iload 8 /* autoCommit */
            invokevirtual org.h2.engine.SessionRemote.setAutoCommitFromServer:(Z)V
        54: .line 253
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.autoCommitIfCluster:()V
        55: .line 254
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.readSessionState:()V
        56: .line 255
            aload 7 /* generatedKeys */
            ifnull 59
        57: .line 256
            new org.h2.result.ResultWithGeneratedKeys$WithKeys
            dup
            iload 6 /* updateCount */
            aload 7 /* generatedKeys */
            invokespecial org.h2.result.ResultWithGeneratedKeys$WithKeys.<init>:(ILorg/h2/result/ResultInterface;)V
            aload 5
            monitorexit
        58: areturn
        59: .line 258
      StackMap locals:
      StackMap stack:
            iload 6 /* updateCount */
            invokestatic org.h2.result.ResultWithGeneratedKeys.of:(I)Lorg/h2/result/ResultWithGeneratedKeys;
            aload 5
            monitorexit
        60: areturn
        end local 8 // boolean autoCommit
        end local 7 // org.h2.result.ResultRemote generatedKeys
        end local 6 // int updateCount
        61: .line 204
      StackMap locals: org.h2.command.CommandRemote java.lang.Object int int int org.h2.engine.SessionRemote
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
        62: athrow
        end local 4 // int objectId
        end local 3 // boolean readGeneratedKeys
        end local 2 // boolean supportsGeneratedKeys
        end local 1 // java.lang.Object generatedKeysRequest
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   63     0                   this  Lorg/h2/command/CommandRemote;
            0   63     1   generatedKeysRequest  Ljava/lang/Object;
            2   63     2  supportsGeneratedKeys  Z
            5   63     3      readGeneratedKeys  Z
            8   63     4               objectId  I
           10   61     6            updateCount  I
           11   61     7          generatedKeys  Lorg/h2/result/ResultRemote;
           12   61     8             autoCommit  Z
           13   53     9                      i  I
           14   53    10                  count  I
           17   51    11               transfer  Lorg/h2/value/Transfer;
           22   39    12                   mode  I
           25   32    13                   keys  [I
           28   29    14                    key  I
           33   39    13                   keys  [Ljava/lang/String;
           36   37    14                    key  Ljava/lang/String;
           44   48    12            columnCount  I
           50   51    12                      e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          17    48      49  Class java.io.IOException
           9    58      61  any
          59    60      61  any
          61    62      61  any
    MethodParameters:
                      Name  Flags
      generatedKeysRequest  

  private void checkParameters();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.h2.command.CommandRemote this
         0: .line 263
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.cmdType:I
            bipush 60
            if_icmpeq 5
         1: .line 264
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.h2.command.CommandRemote top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.expression.ParameterInterface
            astore 1 /* p */
        start local 1 // org.h2.expression.ParameterInterface p
         3: .line 265
            aload 1 /* p */
            invokeinterface org.h2.expression.ParameterInterface.checkSet:()V
        end local 1 // org.h2.expression.ParameterInterface p
         4: .line 264
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 268
      StackMap locals: org.h2.command.CommandRemote
      StackMap stack:
            return
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/command/CommandRemote;
            3    4     1     p  Lorg/h2/expression/ParameterInterface;

  private void sendParameters(org.h2.value.Transfer);
    descriptor: (Lorg/h2/value/Transfer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.h2.command.CommandRemote this
        start local 1 // org.h2.value.Transfer transfer
         0: .line 271
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* len */
        start local 2 // int len
         1: .line 272
            aload 1 /* transfer */
            iload 2 /* len */
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
         2: .line 273
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.h2.command.CommandRemote org.h2.value.Transfer int top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.expression.ParameterInterface
            astore 3 /* p */
        start local 3 // org.h2.expression.ParameterInterface p
         4: .line 274
            aload 3 /* p */
            invokeinterface org.h2.expression.ParameterInterface.getParamValue:()Lorg/h2/value/Value;
            astore 5 /* pVal */
        start local 5 // org.h2.value.Value pVal
         5: .line 276
            aload 5 /* pVal */
            ifnonnull 7
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.cmdType:I
            bipush 60
            if_icmpne 7
         6: .line 277
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            astore 5 /* pVal */
         7: .line 280
      StackMap locals: org.h2.command.CommandRemote org.h2.value.Transfer int org.h2.expression.ParameterInterface java.util.Iterator org.h2.value.Value
      StackMap stack:
            aload 1 /* transfer */
            aload 5 /* pVal */
            invokevirtual org.h2.value.Transfer.writeValue:(Lorg/h2/value/Value;)V
        end local 5 // org.h2.value.Value pVal
        end local 3 // org.h2.expression.ParameterInterface p
         8: .line 273
      StackMap locals: org.h2.command.CommandRemote org.h2.value.Transfer int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 282
            return
        end local 2 // int len
        end local 1 // org.h2.value.Transfer transfer
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/h2/command/CommandRemote;
            0   10     1  transfer  Lorg/h2/value/Transfer;
            1   10     2       len  I
            4    8     3         p  Lorg/h2/expression/ParameterInterface;
            5    8     5      pVal  Lorg/h2/value/Value;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      transfer  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.h2.command.CommandRemote this
         0: .line 286
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            ifnull 1
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            invokevirtual org.h2.engine.SessionRemote.isClosed:()Z
            ifeq 2
         1: .line 287
      StackMap locals:
      StackMap stack:
            return
         2: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            dup
            astore 1
            monitorenter
         3: .line 290
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            ldc "COMMAND_CLOSE"
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
            invokevirtual org.h2.engine.SessionRemote.traceOperation:(Ljava/lang/String;I)V
         4: .line 291
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.transferList:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote top java.util.Iterator
      StackMap stack:
         5: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.value.Transfer
            astore 2 /* transfer */
        start local 2 // org.h2.value.Transfer transfer
         6: .line 293
            aload 2 /* transfer */
            iconst_4
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
            invokevirtual org.h2.value.Transfer.writeInt:(I)Lorg/h2/value/Transfer;
            pop
         7: .line 294
            goto 10
      StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote org.h2.value.Transfer java.util.Iterator
      StackMap stack: java.io.IOException
         8: astore 4 /* e */
        start local 4 // java.io.IOException e
         9: .line 295
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.trace:Lorg/h2/message/Trace;
            aload 4 /* e */
            ldc "close"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 4 // java.io.IOException e
        end local 2 // org.h2.value.Transfer transfer
        10: .line 291
      StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 289
            aload 1
            monitorexit
        12: goto 15
      StackMap locals: org.h2.command.CommandRemote org.h2.engine.SessionRemote
      StackMap stack: java.lang.Throwable
        13: aload 1
            monitorexit
        14: athrow
        15: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
        16: .line 301
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 21
      StackMap locals: org.h2.command.CommandRemote top java.util.Iterator
      StackMap stack:
        17: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.expression.ParameterInterface
            astore 1 /* p */
        start local 1 // org.h2.expression.ParameterInterface p
        18: .line 302
            aload 1 /* p */
            invokeinterface org.h2.expression.ParameterInterface.getParamValue:()Lorg/h2/value/Value;
            astore 3 /* v */
        start local 3 // org.h2.value.Value v
        19: .line 303
            aload 3 /* v */
            ifnull 21
        20: .line 304
            aload 3 /* v */
            invokevirtual org.h2.value.Value.remove:()V
        end local 3 // org.h2.value.Value v
        end local 1 // org.h2.expression.ParameterInterface p
        21: .line 301
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        22: .line 307
            goto 25
      StackMap locals: org.h2.command.CommandRemote
      StackMap stack: org.h2.message.DbException
        23: astore 1 /* e */
        start local 1 // org.h2.message.DbException e
        24: .line 308
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.trace:Lorg/h2/message/Trace;
            aload 1 /* e */
            ldc "close"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 1 // org.h2.message.DbException e
        25: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.parameters:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
        26: .line 311
            return
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lorg/h2/command/CommandRemote;
            6   10     2  transfer  Lorg/h2/value/Transfer;
            9   10     4         e  Ljava/io/IOException;
           18   21     1         p  Lorg/h2/expression/ParameterInterface;
           19   21     3         v  Lorg/h2/value/Value;
           24   25     1         e  Lorg/h2/message/DbException;
      Exception table:
        from    to  target  type
           6     7       8  Class java.io.IOException
           3    12      13  any
          13    14      13  any
          16    22      23  Class org.h2.message.DbException

  public void cancel();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.command.CommandRemote this
         0: .line 318
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.session:Lorg/h2/engine/SessionRemote;
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.id:I
            invokevirtual org.h2.engine.SessionRemote.cancelStatement:(I)V
         1: .line 319
            return
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/command/CommandRemote;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.command.CommandRemote this
         0: .line 323
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.sql:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.h2.command.CommandRemote.getParameters:()Ljava/util/ArrayList;
            invokestatic org.h2.message.Trace.formatParams:(Ljava/util/ArrayList;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/command/CommandRemote;

  public int getCommandType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.command.CommandRemote this
         0: .line 328
            aload 0 /* this */
            getfield org.h2.command.CommandRemote.cmdType:I
            ireturn
        end local 0 // org.h2.command.CommandRemote this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/command/CommandRemote;
}
SourceFile: "CommandRemote.java"
InnerClasses:
  public final WithKeys = org.h2.result.ResultWithGeneratedKeys$WithKeys of org.h2.result.ResultWithGeneratedKeys