public abstract class org.h2.command.Command implements org.h2.command.CommandInterface
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.h2.command.Command
  super_class: java.lang.Object
{
  protected final org.h2.engine.Session session;
    descriptor: Lorg/h2/engine/Session;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected long startTimeNanos;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

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

  private volatile boolean cancel;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

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

  void <init>(org.h2.engine.Session, java.lang.String);
    descriptor: (Lorg/h2/engine/Session;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.command.Command this
        start local 1 // org.h2.engine.Session session
        start local 2 // java.lang.String sql
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            aload 0 /* this */
            aload 1 /* session */
            putfield org.h2.command.Command.session:Lorg/h2/engine/Session;
         2: .line 54
            aload 0 /* this */
            aload 2 /* sql */
            putfield org.h2.command.Command.sql:Ljava/lang/String;
         3: .line 55
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
            iconst_0
            invokevirtual org.h2.engine.Database.getTrace:(I)Lorg/h2/message/Trace;
            putfield org.h2.command.Command.trace:Lorg/h2/message/Trace;
         4: .line 56
            return
        end local 2 // java.lang.String sql
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/h2/command/Command;
            0    5     1  session  Lorg/h2/engine/Session;
            0    5     2      sql  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      session  
      sql      

  public abstract boolean isTransactional();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isQuery();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void prepareJoinBatch();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.ArrayList<? extends org.h2.expression.ParameterInterface> getParameters();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/ArrayList<+Lorg/h2/expression/ParameterInterface;>;

  public abstract boolean isReadOnly();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract org.h2.result.ResultInterface queryMeta();
    descriptor: ()Lorg/h2/result/ResultInterface;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public int update();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.command.Command this
         0: .line 109
            ldc 90001
            invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
            athrow
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/command/Command;

  public org.h2.result.ResultInterface query(int);
    descriptor: (I)Lorg/h2/result/ResultInterface;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.h2.command.Command this
        start local 1 // int maxrows
         0: .line 120
            ldc 90002
            invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
            athrow
        end local 1 // int maxrows
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/h2/command/Command;
            0    1     1  maxrows  I
    MethodParameters:
         Name  Flags
      maxrows  

  public final org.h2.result.ResultInterface getMetaData();
    descriptor: ()Lorg/h2/result/ResultInterface;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.command.Command this
         0: .line 125
            aload 0 /* this */
            invokevirtual org.h2.command.Command.queryMeta:()Lorg/h2/result/ResultInterface;
            areturn
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/command/Command;

  void start();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.command.Command this
         0: .line 132
            aload 0 /* this */
            getfield org.h2.command.Command.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isInfoEnabled:()Z
            ifne 1
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.getQueryStatistics:()Z
            ifeq 2
         1: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.lang.System.nanoTime:()J
            putfield org.h2.command.Command.startTimeNanos:J
         2: .line 135
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/command/Command;

  void setProgress(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.h2.command.Command this
        start local 1 // int state
         0: .line 138
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
            iload 1 /* state */
            aload 0 /* this */
            getfield org.h2.command.Command.sql:Ljava/lang/String;
            iconst_0
            iconst_0
            invokevirtual org.h2.engine.Database.setProgress:(ILjava/lang/String;II)V
         1: .line 139
            return
        end local 1 // int state
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/h2/command/Command;
            0    2     1  state  I
    MethodParameters:
       Name  Flags
      state  

  protected void checkCanceled();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.command.Command this
         0: .line 147
            aload 0 /* this */
            getfield org.h2.command.Command.cancel:Z
            ifeq 3
         1: .line 148
            aload 0 /* this */
            iconst_0
            putfield org.h2.command.Command.cancel:Z
         2: .line 149
            ldc 57014
            invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
            athrow
         3: .line 151
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/command/Command;

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.h2.command.Command this
         0: .line 155
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            aconst_null
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.h2.engine.Session.setCurrentCommand:(Lorg/h2/command/Command;Ljava/lang/Object;)V
         1: .line 156
            aload 0 /* this */
            invokevirtual org.h2.command.Command.isTransactional:()Z
            ifne 4
         2: .line 157
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            iconst_1
            invokevirtual org.h2.engine.Session.commit:(Z)V
         3: .line 158
            goto 8
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.getAutoCommit:()Z
            ifeq 7
         5: .line 159
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            iconst_0
            invokevirtual org.h2.engine.Session.commit:(Z)V
         6: .line 160
            goto 8
         7: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.unlockReadLocks:()V
         8: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.endStatement:()V
         9: .line 164
            aload 0 /* this */
            getfield org.h2.command.Command.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isInfoEnabled:()Z
            ifeq 13
            aload 0 /* this */
            getfield org.h2.command.Command.startTimeNanos:J
            lconst_0
            lcmp
            ifle 13
        10: .line 165
            invokestatic java.lang.System.nanoTime:()J
            aload 0 /* this */
            getfield org.h2.command.Command.startTimeNanos:J
            lsub
            ldc 1000
            ldiv
            ldc 1000
            ldiv
            lstore 1 /* timeMillis */
        start local 1 // long timeMillis
        11: .line 166
            lload 1 /* timeMillis */
            ldc 100
            lcmp
            ifle 13
        12: .line 167
            aload 0 /* this */
            getfield org.h2.command.Command.trace:Lorg/h2/message/Trace;
            ldc "slow query: {0} ms"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 1 /* timeMillis */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual org.h2.message.Trace.info:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 1 // long timeMillis
        13: .line 170
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lorg/h2/command/Command;
           11   13     1  timeMillis  J

  public org.h2.result.ResultInterface executeQuery(int, boolean);
    descriptor: (IZ)Lorg/h2/result/ResultInterface;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=14, args_size=3
        start local 0 // org.h2.command.Command this
        start local 1 // int maxrows
        start local 2 // boolean scrollable
         0: .line 182
            aload 0 /* this */
            lconst_0
            putfield org.h2.command.Command.startTimeNanos:J
         1: .line 183
            lconst_0
            lstore 3 /* start */
        start local 3 // long start
         2: .line 184
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
            astore 5 /* database */
        start local 5 // org.h2.engine.Database database
         3: .line 185
            aload 5 /* database */
            invokevirtual org.h2.engine.Database.isMultiThreaded:()Z
            ifne 4
            aload 5 /* database */
            invokevirtual org.h2.engine.Database.getStore:()Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 5
      StackMap locals: long org.h2.engine.Database
      StackMap stack:
         4: aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            goto 6
      StackMap locals:
      StackMap stack:
         5: aload 5 /* database */
      StackMap locals:
      StackMap stack: java.lang.Object
         6: astore 6 /* sync */
        start local 6 // java.lang.Object sync
         7: .line 186
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.waitIfExclusiveModeEnabled:()V
         8: .line 187
            iconst_1
            istore 7 /* callStop */
        start local 7 // boolean callStop
         9: .line 188
            aload 0 /* this */
            invokevirtual org.h2.command.Command.isReadOnly:()Z
            ifeq 10
            iconst_0
            goto 11
      StackMap locals: java.lang.Object int
      StackMap stack:
        10: iconst_1
      StackMap locals:
      StackMap stack: int
        11: istore 8 /* writing */
        start local 8 // boolean writing
        12: .line 189
            iload 8 /* writing */
            ifeq 14
        13: .line 190
      StackMap locals: int
      StackMap stack:
            aload 5 /* database */
            invokevirtual org.h2.engine.Database.beforeWriting:()Z
            ifeq 13
        14: .line 195
      StackMap locals:
      StackMap stack:
            aload 6 /* sync */
            dup
            astore 9
            monitorenter
        15: .line 196
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.startStatementWithinTransaction:()V
        16: .line 197
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            aload 0 /* this */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.h2.engine.Session.setCurrentCommand:(Lorg/h2/command/Command;Ljava/lang/Object;)V
        17: .line 200
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* database */
            invokevirtual org.h2.engine.Database.checkPowerOff:()V
        18: .line 202
            aload 0 /* this */
            iload 1 /* maxrows */
            invokevirtual org.h2.command.Command.query:(I)Lorg/h2/result/ResultInterface;
            astore 10 /* result */
        start local 10 // org.h2.result.ResultInterface result
        19: .line 203
            aload 10 /* result */
            invokeinterface org.h2.result.ResultInterface.isLazy:()Z
            ifeq 20
            iconst_0
            goto 21
      StackMap locals: org.h2.result.ResultInterface
      StackMap stack:
        20: iconst_1
      StackMap locals:
      StackMap stack: int
        21: istore 7 /* callStop */
        22: .line 204
            aload 5 /* database */
            invokevirtual org.h2.engine.Database.getMode:()Lorg/h2/engine/Mode;
            getfield org.h2.engine.Mode.padFixedLengthStrings:Z
            ifeq 30
        23: .line 205
            aload 10 /* result */
            invokestatic org.h2.result.ResultWithPaddedStrings.get:(Lorg/h2/result/ResultInterface;)Lorg/h2/result/ResultInterface;
            astore 13
        24: .line 234
            iload 7 /* callStop */
            ifeq 26
        25: .line 235
            aload 0 /* this */
            invokevirtual org.h2.command.Command.stop:()V
        26: .line 237
      StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.result.ResultInterface top top org.h2.result.ResultInterface
      StackMap stack:
            iload 8 /* writing */
            ifeq 28
        27: .line 238
            aload 5 /* database */
            invokevirtual org.h2.engine.Database.afterWriting:()V
        28: .line 205
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        29: aload 13
            areturn
        30: .line 207
      StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.result.ResultInterface
      StackMap stack:
            aload 10 /* result */
            astore 13
        31: .line 234
            iload 7 /* callStop */
            ifeq 33
        32: .line 235
            aload 0 /* this */
            invokevirtual org.h2.command.Command.stop:()V
        33: .line 237
      StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.result.ResultInterface top top org.h2.result.ResultInterface
      StackMap stack:
            iload 8 /* writing */
            ifeq 35
        34: .line 238
            aload 5 /* database */
            invokevirtual org.h2.engine.Database.afterWriting:()V
        35: .line 207
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        36: aload 13
            areturn
        end local 10 // org.h2.result.ResultInterface result
        37: .line 208
      StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object
      StackMap stack: org.h2.message.DbException
            astore 10 /* e */
        start local 10 // org.h2.message.DbException e
        38: .line 209
            aload 0 /* this */
            aload 10 /* e */
            lload 3 /* start */
            invokevirtual org.h2.command.Command.filterConcurrentUpdate:(Lorg/h2/message/DbException;J)J
            lstore 3 /* start */
        end local 10 // org.h2.message.DbException e
        39: goto 17
        40: .line 210
      StackMap locals:
      StackMap stack: java.lang.OutOfMemoryError
            astore 10 /* e */
        start local 10 // java.lang.OutOfMemoryError e
        41: .line 211
            iconst_0
            istore 7 /* callStop */
        42: .line 216
            aload 5 /* database */
            invokevirtual org.h2.engine.Database.shutdownImmediately:()V
        43: .line 217
            aload 10 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 10 // java.lang.OutOfMemoryError e
        44: .line 218
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10 /* e */
        start local 10 // java.lang.Throwable e
        45: .line 219
            aload 10 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 10 // java.lang.Throwable e
        46: .line 222
      StackMap locals:
      StackMap stack: org.h2.message.DbException
            astore 10 /* e */
        start local 10 // org.h2.message.DbException e
        47: .line 223
            aload 10 /* e */
            aload 0 /* this */
            getfield org.h2.command.Command.sql:Ljava/lang/String;
            invokevirtual org.h2.message.DbException.addSQL:(Ljava/lang/String;)Lorg/h2/message/DbException;
            astore 10 /* e */
        48: .line 224
            aload 10 /* e */
            invokevirtual org.h2.message.DbException.getSQLException:()Ljava/sql/SQLException;
            astore 11 /* s */
        start local 11 // java.sql.SQLException s
        49: .line 225
            aload 5 /* database */
            aload 11 /* s */
            aload 0 /* this */
            getfield org.h2.command.Command.sql:Ljava/lang/String;
            invokevirtual org.h2.engine.Database.exceptionThrown:(Ljava/sql/SQLException;Ljava/lang/String;)V
        50: .line 226
            aload 11 /* s */
            invokevirtual java.sql.SQLException.getErrorCode:()I
            ldc 90108
            if_icmpne 54
        51: .line 227
            iconst_0
            istore 7 /* callStop */
        52: .line 228
            aload 5 /* database */
            invokevirtual org.h2.engine.Database.shutdownImmediately:()V
        53: .line 229
            aload 10 /* e */
            athrow
        54: .line 231
      StackMap locals: org.h2.message.DbException java.sql.SQLException
      StackMap stack:
            aload 5 /* database */
            invokevirtual org.h2.engine.Database.checkPowerOff:()V
        55: .line 232
            aload 10 /* e */
            athrow
        end local 11 // java.sql.SQLException s
        end local 10 // org.h2.message.DbException e
        56: .line 233
      StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 12
        57: .line 234
            iload 7 /* callStop */
            ifeq 59
        58: .line 235
            aload 0 /* this */
            invokevirtual org.h2.command.Command.stop:()V
        59: .line 237
      StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object top top java.lang.Throwable
      StackMap stack:
            iload 8 /* writing */
            ifeq 61
        60: .line 238
            aload 5 /* database */
            invokevirtual org.h2.engine.Database.afterWriting:()V
        61: .line 240
      StackMap locals:
      StackMap stack:
            aload 12
            athrow
        62: .line 195
      StackMap locals: org.h2.command.Command int int long org.h2.engine.Database java.lang.Object int int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 9
            monitorexit
        63: athrow
        end local 8 // boolean writing
        end local 7 // boolean callStop
        end local 6 // java.lang.Object sync
        end local 5 // org.h2.engine.Database database
        end local 3 // long start
        end local 2 // boolean scrollable
        end local 1 // int maxrows
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   64     0        this  Lorg/h2/command/Command;
            0   64     1     maxrows  I
            0   64     2  scrollable  Z
            2   64     3       start  J
            3   64     5    database  Lorg/h2/engine/Database;
            7   64     6        sync  Ljava/lang/Object;
            9   64     7    callStop  Z
           12   64     8     writing  Z
           19   37    10      result  Lorg/h2/result/ResultInterface;
           38   39    10           e  Lorg/h2/message/DbException;
           41   44    10           e  Ljava/lang/OutOfMemoryError;
           45   46    10           e  Ljava/lang/Throwable;
           47   56    10           e  Lorg/h2/message/DbException;
           49   56    11           s  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
          18    24      37  Class org.h2.message.DbException
          30    31      37  Class org.h2.message.DbException
          18    24      40  Class java.lang.OutOfMemoryError
          30    31      40  Class java.lang.OutOfMemoryError
          18    24      44  Class java.lang.Throwable
          30    31      44  Class java.lang.Throwable
          17    24      46  Class org.h2.message.DbException
          30    31      46  Class org.h2.message.DbException
          37    46      46  Class org.h2.message.DbException
          17    24      56  any
          30    31      56  any
          37    56      56  any
          15    29      62  any
          30    36      62  any
          37    63      62  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=5, locals=18, args_size=2
        start local 0 // org.h2.command.Command this
        start local 1 // java.lang.Object generatedKeysRequest
         0: .line 246
            lconst_0
            lstore 2 /* start */
        start local 2 // long start
         1: .line 247
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
            astore 4 /* database */
        start local 4 // org.h2.engine.Database database
         2: .line 248
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.isMultiThreaded:()Z
            ifne 3
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.getStore:()Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 4
      StackMap locals: long org.h2.engine.Database
      StackMap stack:
         3: aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 4 /* database */
      StackMap locals:
      StackMap stack: java.lang.Object
         5: astore 5 /* sync */
        start local 5 // java.lang.Object sync
         6: .line 249
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.waitIfExclusiveModeEnabled:()V
         7: .line 250
            iconst_1
            istore 6 /* callStop */
        start local 6 // boolean callStop
         8: .line 251
            aload 0 /* this */
            invokevirtual org.h2.command.Command.isReadOnly:()Z
            ifeq 9
            iconst_0
            goto 10
      StackMap locals: java.lang.Object int
      StackMap stack:
         9: iconst_1
      StackMap locals:
      StackMap stack: int
        10: istore 7 /* writing */
        start local 7 // boolean writing
        11: .line 252
            iload 7 /* writing */
            ifeq 13
        12: .line 253
      StackMap locals: int
      StackMap stack:
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.beforeWriting:()Z
            ifeq 12
        13: .line 258
      StackMap locals:
      StackMap stack:
            aload 5 /* sync */
            dup
            astore 8
            monitorenter
        14: .line 259
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.setSavepoint:()Lorg/h2/engine/Session$Savepoint;
            astore 9 /* rollback */
        start local 9 // org.h2.engine.Session$Savepoint rollback
        15: .line 260
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.startStatementWithinTransaction:()V
        16: .line 261
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            aload 0 /* this */
            aload 1 /* generatedKeysRequest */
            invokevirtual org.h2.engine.Session.setCurrentCommand:(Lorg/h2/command/Command;Ljava/lang/Object;)V
        17: .line 262
            aconst_null
            astore 10 /* ex */
        start local 10 // org.h2.message.DbException ex
        18: .line 265
      StackMap locals: java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException
      StackMap stack:
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.checkPowerOff:()V
        19: .line 267
            aload 0 /* this */
            invokevirtual org.h2.command.Command.update:()I
            istore 11 /* updateCount */
        start local 11 // int updateCount
        20: .line 268
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            aload 1 /* generatedKeysRequest */
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifne 41
        21: .line 269
            new org.h2.result.ResultWithGeneratedKeys$WithKeys
            dup
            iload 11 /* updateCount */
        22: .line 270
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.getGeneratedKeys:()Lorg/h2/engine/GeneratedKeys;
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.GeneratedKeys.getKeys:(Lorg/h2/engine/Session;)Lorg/h2/result/LocalResult;
        23: .line 269
            invokespecial org.h2.result.ResultWithGeneratedKeys$WithKeys.<init>:(ILorg/h2/result/ResultInterface;)V
            astore 15
        24: .line 306
            iload 6 /* callStop */
            ifeq 37
        25: .line 307
            aload 0 /* this */
            invokevirtual org.h2.command.Command.stop:()V
        26: .line 309
            goto 37
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys
      StackMap stack: java.lang.Throwable
        27: astore 16 /* nested */
        start local 16 // java.lang.Throwable nested
        28: .line 310
            aload 10 /* ex */
            ifnonnull 30
        29: .line 311
            aload 16 /* nested */
            athrow
        30: .line 313
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 10 /* ex */
            aload 16 /* nested */
            invokevirtual org.h2.message.DbException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 16 // java.lang.Throwable nested
        31: .line 316
            iload 7 /* writing */
            ifeq 39
        32: .line 317
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.afterWriting:()V
            goto 39
        33: .line 315
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys
      StackMap stack: java.lang.Throwable
            astore 17
        34: .line 316
            iload 7 /* writing */
            ifeq 36
        35: .line 317
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.afterWriting:()V
        36: .line 319
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys top java.lang.Throwable
      StackMap stack:
            aload 17
            athrow
        37: .line 316
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys
      StackMap stack:
            iload 7 /* writing */
            ifeq 39
        38: .line 317
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.afterWriting:()V
        39: .line 269
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        40: aload 15
            areturn
        41: .line 272
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int
      StackMap stack:
            iload 11 /* updateCount */
            invokestatic org.h2.result.ResultWithGeneratedKeys.of:(I)Lorg/h2/result/ResultWithGeneratedKeys;
            astore 15
        42: .line 306
            iload 6 /* callStop */
            ifeq 55
        43: .line 307
            aload 0 /* this */
            invokevirtual org.h2.command.Command.stop:()V
        44: .line 309
            goto 55
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys
      StackMap stack: java.lang.Throwable
        45: astore 16 /* nested */
        start local 16 // java.lang.Throwable nested
        46: .line 310
            aload 10 /* ex */
            ifnonnull 48
        47: .line 311
            aload 16 /* nested */
            athrow
        48: .line 313
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 10 /* ex */
            aload 16 /* nested */
            invokevirtual org.h2.message.DbException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 16 // java.lang.Throwable nested
        49: .line 316
            iload 7 /* writing */
            ifeq 57
        50: .line 317
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.afterWriting:()V
            goto 57
        51: .line 315
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys
      StackMap stack: java.lang.Throwable
            astore 17
        52: .line 316
            iload 7 /* writing */
            ifeq 54
        53: .line 317
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.afterWriting:()V
        54: .line 319
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys top java.lang.Throwable
      StackMap stack:
            aload 17
            athrow
        55: .line 316
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException int top top top org.h2.result.ResultWithGeneratedKeys
      StackMap stack:
            iload 7 /* writing */
            ifeq 57
        56: .line 317
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.afterWriting:()V
        57: .line 272
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        58: aload 15
            areturn
        end local 11 // int updateCount
        59: .line 273
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException
      StackMap stack: org.h2.message.DbException
            astore 11 /* e */
        start local 11 // org.h2.message.DbException e
        60: .line 274
            aload 0 /* this */
            aload 11 /* e */
            lload 2 /* start */
            invokevirtual org.h2.command.Command.filterConcurrentUpdate:(Lorg/h2/message/DbException;J)J
            lstore 2 /* start */
        end local 11 // org.h2.message.DbException e
        61: goto 18
        62: .line 275
      StackMap locals:
      StackMap stack: java.lang.OutOfMemoryError
            astore 11 /* e */
        start local 11 // java.lang.OutOfMemoryError e
        63: .line 276
            iconst_0
            istore 6 /* callStop */
        64: .line 277
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.shutdownImmediately:()V
        65: .line 278
            aload 11 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 11 // java.lang.OutOfMemoryError e
        66: .line 279
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11 /* e */
        start local 11 // java.lang.Throwable e
        67: .line 280
            aload 11 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 11 // java.lang.Throwable e
        68: .line 283
      StackMap locals:
      StackMap stack: org.h2.message.DbException
            astore 11 /* e */
        start local 11 // org.h2.message.DbException e
        69: .line 284
            aload 11 /* e */
            aload 0 /* this */
            getfield org.h2.command.Command.sql:Ljava/lang/String;
            invokevirtual org.h2.message.DbException.addSQL:(Ljava/lang/String;)Lorg/h2/message/DbException;
            astore 11 /* e */
        70: .line 285
            aload 11 /* e */
            invokevirtual org.h2.message.DbException.getSQLException:()Ljava/sql/SQLException;
            astore 12 /* s */
        start local 12 // java.sql.SQLException s
        71: .line 286
            aload 4 /* database */
            aload 12 /* s */
            aload 0 /* this */
            getfield org.h2.command.Command.sql:Ljava/lang/String;
            invokevirtual org.h2.engine.Database.exceptionThrown:(Ljava/sql/SQLException;Ljava/lang/String;)V
        72: .line 287
            aload 12 /* s */
            invokevirtual java.sql.SQLException.getErrorCode:()I
            ldc 90108
            if_icmpne 76
        73: .line 288
            iconst_0
            istore 6 /* callStop */
        74: .line 289
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.shutdownImmediately:()V
        75: .line 290
            aload 11 /* e */
            athrow
        76: .line 293
      StackMap locals: org.h2.message.DbException java.sql.SQLException
      StackMap stack:
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.checkPowerOff:()V
        77: .line 294
            aload 12 /* s */
            invokevirtual java.sql.SQLException.getErrorCode:()I
            ldc 40001
            if_icmpne 80
        78: .line 295
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.rollback:()V
        79: .line 296
            goto 84
        80: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            aload 9 /* rollback */
            invokevirtual org.h2.engine.Session.rollbackTo:(Lorg/h2/engine/Session$Savepoint;)V
        81: .line 299
            goto 84
      StackMap locals:
      StackMap stack: java.lang.Throwable
        82: astore 13 /* nested */
        start local 13 // java.lang.Throwable nested
        83: .line 300
            aload 11 /* e */
            aload 13 /* nested */
            invokevirtual org.h2.message.DbException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 13 // java.lang.Throwable nested
        84: .line 302
      StackMap locals:
      StackMap stack:
            aload 11 /* e */
            astore 10 /* ex */
        85: .line 303
            aload 11 /* e */
            athrow
        end local 12 // java.sql.SQLException s
        end local 11 // org.h2.message.DbException e
        86: .line 304
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException
      StackMap stack: java.lang.Throwable
            astore 14
        87: .line 306
            iload 6 /* callStop */
            ifeq 100
        88: .line 307
            aload 0 /* this */
            invokevirtual org.h2.command.Command.stop:()V
        89: .line 309
            goto 100
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException top top top java.lang.Throwable
      StackMap stack: java.lang.Throwable
        90: astore 16 /* nested */
        start local 16 // java.lang.Throwable nested
        91: .line 310
            aload 10 /* ex */
            ifnonnull 93
        92: .line 311
            aload 16 /* nested */
            athrow
        93: .line 313
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException top top top java.lang.Throwable top java.lang.Throwable
      StackMap stack:
            aload 10 /* ex */
            aload 16 /* nested */
            invokevirtual org.h2.message.DbException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 16 // java.lang.Throwable nested
        94: .line 316
            iload 7 /* writing */
            ifeq 102
        95: .line 317
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.afterWriting:()V
            goto 102
        96: .line 315
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException top top top java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 17
        97: .line 316
            iload 7 /* writing */
            ifeq 99
        98: .line 317
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.afterWriting:()V
        99: .line 319
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException top top top java.lang.Throwable top top java.lang.Throwable
      StackMap stack:
            aload 17
            athrow
       100: .line 316
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object org.h2.engine.Session$Savepoint org.h2.message.DbException top top top java.lang.Throwable
      StackMap stack:
            iload 7 /* writing */
            ifeq 102
       101: .line 317
            aload 4 /* database */
            invokevirtual org.h2.engine.Database.afterWriting:()V
       102: .line 320
      StackMap locals:
      StackMap stack:
            aload 14
            athrow
        end local 10 // org.h2.message.DbException ex
        end local 9 // org.h2.engine.Session$Savepoint rollback
       103: .line 258
      StackMap locals: org.h2.command.Command java.lang.Object long org.h2.engine.Database java.lang.Object int int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 8
            monitorexit
       104: athrow
        end local 7 // boolean writing
        end local 6 // boolean callStop
        end local 5 // java.lang.Object sync
        end local 4 // org.h2.engine.Database database
        end local 2 // long start
        end local 1 // java.lang.Object generatedKeysRequest
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  105     0                  this  Lorg/h2/command/Command;
            0  105     1  generatedKeysRequest  Ljava/lang/Object;
            1  105     2                 start  J
            2  105     4              database  Lorg/h2/engine/Database;
            6  105     5                  sync  Ljava/lang/Object;
            8  105     6              callStop  Z
           11  105     7               writing  Z
           15  103     9              rollback  Lorg/h2/engine/Session$Savepoint;
           18  103    10                    ex  Lorg/h2/message/DbException;
           20   59    11           updateCount  I
           60   61    11                     e  Lorg/h2/message/DbException;
           63   66    11                     e  Ljava/lang/OutOfMemoryError;
           67   68    11                     e  Ljava/lang/Throwable;
           69   86    11                     e  Lorg/h2/message/DbException;
           71   86    12                     s  Ljava/sql/SQLException;
           83   84    13                nested  Ljava/lang/Throwable;
           28   31    16                nested  Ljava/lang/Throwable;
           46   49    16                nested  Ljava/lang/Throwable;
           91   94    16                nested  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          24    26      27  Class java.lang.Throwable
          24    31      33  any
          42    44      45  Class java.lang.Throwable
          42    49      51  any
          19    24      59  Class org.h2.message.DbException
          41    42      59  Class org.h2.message.DbException
          19    24      62  Class java.lang.OutOfMemoryError
          41    42      62  Class java.lang.OutOfMemoryError
          19    24      66  Class java.lang.Throwable
          41    42      66  Class java.lang.Throwable
          18    24      68  Class org.h2.message.DbException
          41    42      68  Class org.h2.message.DbException
          59    68      68  Class org.h2.message.DbException
          76    81      82  Class java.lang.Throwable
          18    24      86  any
          41    42      86  any
          59    86      86  any
          87    89      90  Class java.lang.Throwable
          87    94      96  any
          14    40     103  any
          41    58     103  any
          59   104     103  any
    MethodParameters:
                      Name  Flags
      generatedKeysRequest  

  private long filterConcurrentUpdate(org.h2.message.DbException, long);
    descriptor: (Lorg/h2/message/DbException;J)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // org.h2.command.Command this
        start local 1 // org.h2.message.DbException e
        start local 2 // long start
         0: .line 325
            aload 1 /* e */
            invokevirtual org.h2.message.DbException.getErrorCode:()I
            istore 4 /* errorCode */
        start local 4 // int errorCode
         1: .line 326
            iload 4 /* errorCode */
            ldc 90131
            if_icmpeq 5
         2: .line 327
            iload 4 /* errorCode */
            ldc 90143
            if_icmpeq 5
         3: .line 328
            iload 4 /* errorCode */
            ldc 90112
            if_icmpeq 5
         4: .line 329
            aload 1 /* e */
            athrow
         5: .line 331
      StackMap locals: int
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lstore 5 /* now */
        start local 5 // long now
         6: .line 332
            lload 2 /* start */
            lconst_0
            lcmp
            ifeq 8
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 5 /* now */
            lload 2 /* start */
            lsub
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.getLockTimeout:()I
            i2l
            lcmp
            ifle 8
         7: .line 333
            ldc 50200
            aload 1 /* e */
            iconst_0
            anewarray java.lang.String
            invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
         8: .line 336
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.command.Command.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
            astore 7 /* database */
        start local 7 // org.h2.engine.Database database
         9: .line 337
            aload 7 /* database */
            invokevirtual org.h2.engine.Database.getStore:()Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnonnull 19
        10: .line 338
            iconst_1
            bipush 10
            invokestatic org.h2.util.MathUtils.randomInt:(I)I
            iadd
            istore 8 /* sleep */
        start local 8 // int sleep
        11: .line 341
      StackMap locals: org.h2.engine.Database int
      StackMap stack:
            aload 7 /* database */
            invokevirtual org.h2.engine.Database.isMultiThreaded:()Z
            ifeq 14
        12: .line 342
            iload 8 /* sleep */
            i2l
            invokestatic java.lang.Thread.sleep:(J)V
        13: .line 343
            goto 17
        14: .line 346
      StackMap locals:
      StackMap stack:
            aload 7 /* database */
            iload 8 /* sleep */
            i2l
            invokevirtual java.lang.Object.wait:(J)V
        15: .line 348
            goto 17
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        16: pop
        17: .line 351
      StackMap locals:
      StackMap stack:
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic java.lang.System.nanoTime:()J
            lload 5 /* now */
            lsub
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            lstore 9 /* slept */
        start local 9 // long slept
        18: .line 352
            lload 9 /* slept */
            iload 8 /* sleep */
            i2l
            lcmp
            iflt 11
        end local 9 // long slept
        end local 8 // int sleep
        19: .line 357
      StackMap locals:
      StackMap stack:
            lload 2 /* start */
            lconst_0
            lcmp
            ifne 20
            lload 5 /* now */
            goto 21
      StackMap locals:
      StackMap stack:
        20: lload 2 /* start */
      StackMap locals:
      StackMap stack: long
        21: lreturn
        end local 7 // org.h2.engine.Database database
        end local 5 // long now
        end local 4 // int errorCode
        end local 2 // long start
        end local 1 // org.h2.message.DbException e
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lorg/h2/command/Command;
            0   22     1          e  Lorg/h2/message/DbException;
            0   22     2      start  J
            1   22     4  errorCode  I
            6   22     5        now  J
            9   22     7   database  Lorg/h2/engine/Database;
           11   19     8      sleep  I
           18   19     9      slept  J
      Exception table:
        from    to  target  type
          11    15      16  Class java.lang.InterruptedException
    MethodParameters:
       Name  Flags
      e      
      start  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.command.Command this
         0: .line 362
            aload 0 /* this */
            iconst_1
            putfield org.h2.command.Command.canReuse:Z
         1: .line 363
            return
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/command/Command;

  public void cancel();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.command.Command this
         0: .line 367
            aload 0 /* this */
            iconst_1
            putfield org.h2.command.Command.cancel:Z
         1: .line 368
            return
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/command/Command;

  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.Command this
         0: .line 372
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.command.Command.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.Command.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.Command this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/command/Command;

  public boolean isCacheable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.command.Command this
         0: .line 376
            iconst_0
            ireturn
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/command/Command;

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

  public void reuse();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.h2.command.Command this
         0: .line 393
            aload 0 /* this */
            iconst_0
            putfield org.h2.command.Command.canReuse:Z
         1: .line 394
            aload 0 /* this */
            invokevirtual org.h2.command.Command.getParameters:()Ljava/util/ArrayList;
            astore 1 /* parameters */
        start local 1 // java.util.ArrayList parameters
         2: .line 395
            aload 1 /* parameters */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.h2.command.Command java.util.ArrayList top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.expression.ParameterInterface
            astore 2 /* param */
        start local 2 // org.h2.expression.ParameterInterface param
         4: .line 396
            aload 2 /* param */
            aconst_null
            iconst_1
            invokeinterface org.h2.expression.ParameterInterface.setValue:(Lorg/h2/value/Value;Z)V
        end local 2 // org.h2.expression.ParameterInterface param
         5: .line 395
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 398
            return
        end local 1 // java.util.ArrayList parameters
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/h2/command/Command;
            2    7     1  parameters  Ljava/util/ArrayList<+Lorg/h2/expression/ParameterInterface;>;
            4    5     2       param  Lorg/h2/expression/ParameterInterface;

  public void setCanReuse(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.command.Command this
        start local 1 // boolean canReuse
         0: .line 401
            aload 0 /* this */
            iload 1 /* canReuse */
            putfield org.h2.command.Command.canReuse:Z
         1: .line 402
            return
        end local 1 // boolean canReuse
        end local 0 // org.h2.command.Command this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/h2/command/Command;
            0    2     1  canReuse  Z
    MethodParameters:
          Name  Flags
      canReuse  
}
SourceFile: "Command.java"
InnerClasses:
  public Savepoint = org.h2.engine.Session$Savepoint of org.h2.engine.Session
  public Store = org.h2.mvstore.db.MVTableEngine$Store of org.h2.mvstore.db.MVTableEngine
  public final WithKeys = org.h2.result.ResultWithGeneratedKeys$WithKeys of org.h2.result.ResultWithGeneratedKeys