class org.hsqldb.test.TestBench
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.hsqldb.test.TestBench
  super_class: java.lang.Object
{
  public int tps;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int nbranches;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int ntellers;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int naccounts;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int nhistory;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int rounds;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public static final int TELLER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int BRANCH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int ACCOUNT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  int failed_transactions;
    descriptor: I
    flags: (0x0000) 

  int transaction_count;
    descriptor: I
    flags: (0x0000) 

  int n_clients;
    descriptor: I
    flags: (0x0000) 

  int n_txn_per_client;
    descriptor: I
    flags: (0x0000) 

  boolean check_updates;
    descriptor: Z
    flags: (0x0000) 

  boolean count_results;
    descriptor: Z
    flags: (0x0000) 

  boolean perform_special;
    descriptor: Z
    flags: (0x0000) 

  long start_time;
    descriptor: J
    flags: (0x0000) 

  java.lang.String tableExtension;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String createExtension;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String shutdownCommand;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String txmode;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  boolean useStoredProcedure;
    descriptor: Z
    flags: (0x0000) 

  boolean verbose;
    descriptor: Z
    flags: (0x0000) 

  boolean selectOnly;
    descriptor: Z
    flags: (0x0000) 

  org.hsqldb.test.TestBench$MemoryWatcherThread MemoryWatcher;
    descriptor: Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
    flags: (0x0000) 

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hsqldb.test.TestBench this
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 59
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.test.TestBench.tps:I
         2: .line 60
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.test.TestBench.nbranches:I
         3: .line 61
            aload 0 /* this */
            bipush 10
            putfield org.hsqldb.test.TestBench.ntellers:I
         4: .line 62
            aload 0 /* this */
            ldc 100000
            putfield org.hsqldb.test.TestBench.naccounts:I
         5: .line 63
            aload 0 /* this */
            ldc 864000
            putfield org.hsqldb.test.TestBench.nhistory:I
         6: .line 64
            aload 0 /* this */
            bipush 10
            putfield org.hsqldb.test.TestBench.rounds:I
         7: .line 68
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.test.TestBench.failed_transactions:I
         8: .line 69
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.test.TestBench.transaction_count:I
         9: .line 70
            aload 0 /* this */
            bipush 10
            putfield org.hsqldb.test.TestBench.n_clients:I
        10: .line 71
            aload 0 /* this */
            bipush 10
            putfield org.hsqldb.test.TestBench.n_txn_per_client:I
        11: .line 72
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.test.TestBench.check_updates:Z
        12: .line 73
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.test.TestBench.count_results:Z
        13: .line 74
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.test.TestBench.perform_special:Z
        14: .line 75
            aload 0 /* this */
            lconst_0
            putfield org.hsqldb.test.TestBench.start_time:J
        15: .line 76
            aload 0 /* this */
            ldc ""
            putfield org.hsqldb.test.TestBench.tableExtension:Ljava/lang/String;
        16: .line 77
            aload 0 /* this */
            ldc ""
            putfield org.hsqldb.test.TestBench.createExtension:Ljava/lang/String;
        17: .line 78
            aload 0 /* this */
            ldc ""
            putfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
        18: .line 79
            aload 0 /* this */
            ldc "mvcc"
            putfield org.hsqldb.test.TestBench.txmode:Ljava/lang/String;
        19: .line 80
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.test.TestBench.useStoredProcedure:Z
        20: .line 81
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.test.TestBench.verbose:Z
        21: .line 82
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.test.TestBench.selectOnly:Z
        22: .line 56
            return
        end local 0 // org.hsqldb.test.TestBench this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Lorg/hsqldb/test/TestBench;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String[] Args
         0: .line 92
            ldc ""
            astore 1 /* DriverName */
        start local 1 // java.lang.String DriverName
         1: .line 93
            ldc ""
            astore 2 /* DBUrl */
        start local 2 // java.lang.String DBUrl
         2: .line 94
            ldc ""
            astore 3 /* DBUser */
        start local 3 // java.lang.String DBUser
         3: .line 95
            ldc ""
            astore 4 /* DBPassword */
        start local 4 // java.lang.String DBPassword
         4: .line 96
            iconst_1
            istore 5 /* initialize_dataset */
        start local 5 // boolean initialize_dataset
         5: .line 97
            new org.hsqldb.test.TestBench
            dup
            invokespecial org.hsqldb.test.TestBench.<init>:()V
            astore 6 /* bench */
        start local 6 // org.hsqldb.test.TestBench bench
         6: .line 99
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 60
         8: .line 100
      StackMap locals: java.lang.String[] java.lang.String java.lang.String java.lang.String java.lang.String int org.hsqldb.test.TestBench int
      StackMap stack:
            aload 0 /* Args */
            iload 7 /* i */
            aaload
            ldc "-clients"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         9: .line 101
            iload 7 /* i */
            iconst_1
            iadd
            aload 0 /* Args */
            arraylength
            if_icmpge 59
        10: .line 102
            iinc 7 /* i */ 1
        11: .line 104
            aload 6 /* bench */
            aload 0 /* Args */
            iload 7 /* i */
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield org.hsqldb.test.TestBench.n_clients:I
        12: .line 106
            goto 59
      StackMap locals:
      StackMap stack:
        13: aload 0 /* Args */
            iload 7 /* i */
            aaload
            ldc "-driver"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        14: .line 107
            iload 7 /* i */
            iconst_1
            iadd
            aload 0 /* Args */
            arraylength
            if_icmpge 59
        15: .line 108
            iinc 7 /* i */ 1
        16: .line 110
            aload 0 /* Args */
            iload 7 /* i */
            aaload
            astore 1 /* DriverName */
        17: .line 112
            goto 59
      StackMap locals:
      StackMap stack:
        18: aload 0 /* Args */
            iload 7 /* i */
            aaload
            ldc "-url"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        19: .line 113
            iload 7 /* i */
            iconst_1
            iadd
            aload 0 /* Args */
            arraylength
            if_icmpge 59
        20: .line 114
            iinc 7 /* i */ 1
        21: .line 116
            aload 0 /* Args */
            iload 7 /* i */
            aaload
            astore 2 /* DBUrl */
        22: .line 118
            goto 59
      StackMap locals:
      StackMap stack:
        23: aload 0 /* Args */
            iload 7 /* i */
            aaload
            ldc "-user"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        24: .line 119
            iload 7 /* i */
            iconst_1
            iadd
            aload 0 /* Args */
            arraylength
            if_icmpge 59
        25: .line 120
            iinc 7 /* i */ 1
        26: .line 122
            aload 0 /* Args */
            iload 7 /* i */
            aaload
            astore 3 /* DBUser */
        27: .line 124
            goto 59
      StackMap locals:
      StackMap stack:
        28: aload 0 /* Args */
            iload 7 /* i */
            aaload
            ldc "-password"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        29: .line 125
            iload 7 /* i */
            iconst_1
            iadd
            aload 0 /* Args */
            arraylength
            if_icmpge 59
        30: .line 126
            iinc 7 /* i */ 1
        31: .line 128
            aload 0 /* Args */
            iload 7 /* i */
            aaload
            astore 4 /* DBPassword */
        32: .line 130
            goto 59
      StackMap locals:
      StackMap stack:
        33: aload 0 /* Args */
            iload 7 /* i */
            aaload
            ldc "-tpc"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        34: .line 131
            iload 7 /* i */
            iconst_1
            iadd
            aload 0 /* Args */
            arraylength
            if_icmpge 59
        35: .line 132
            iinc 7 /* i */ 1
        36: .line 134
            aload 6 /* bench */
            aload 0 /* Args */
            iload 7 /* i */
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield org.hsqldb.test.TestBench.n_txn_per_client:I
        37: .line 136
            goto 59
      StackMap locals:
      StackMap stack:
        38: aload 0 /* Args */
            iload 7 /* i */
            aaload
            ldc "-init"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 41
        39: .line 137
            iconst_1
            istore 5 /* initialize_dataset */
        40: .line 138
            goto 59
      StackMap locals:
      StackMap stack:
        41: aload 0 /* Args */
            iload 7 /* i */
            aaload
            ldc "-select"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 44
        42: .line 139
            aload 6 /* bench */
            iconst_1
            putfield org.hsqldb.test.TestBench.selectOnly:Z
        43: .line 140
            goto 59
      StackMap locals:
      StackMap stack:
        44: aload 0 /* Args */
            iload 7 /* i */
            aaload
            ldc "-tps"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 49
        45: .line 141
            iload 7 /* i */
            iconst_1
            iadd
            aload 0 /* Args */
            arraylength
            if_icmpge 59
        46: .line 142
            iinc 7 /* i */ 1
        47: .line 144
            aload 6 /* bench */
            aload 0 /* Args */
            iload 7 /* i */
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield org.hsqldb.test.TestBench.tps:I
        48: .line 146
            goto 59
      StackMap locals:
      StackMap stack:
        49: aload 0 /* Args */
            iload 7 /* i */
            aaload
            ldc "-rounds"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 54
        50: .line 147
            iload 7 /* i */
            iconst_1
            iadd
            aload 0 /* Args */
            arraylength
            if_icmpge 59
        51: .line 148
            iinc 7 /* i */ 1
        52: .line 150
            aload 6 /* bench */
            aload 0 /* Args */
            iload 7 /* i */
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield org.hsqldb.test.TestBench.rounds:I
        53: .line 152
            goto 59
      StackMap locals:
      StackMap stack:
        54: aload 0 /* Args */
            iload 7 /* i */
            aaload
            ldc "-sp"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 57
        55: .line 153
            aload 6 /* bench */
            iconst_1
            putfield org.hsqldb.test.TestBench.useStoredProcedure:Z
        56: .line 154
            goto 59
      StackMap locals:
      StackMap stack:
        57: aload 0 /* Args */
            iload 7 /* i */
            aaload
            ldc "-v"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 59
        58: .line 155
            aload 6 /* bench */
            iconst_1
            putfield org.hsqldb.test.TestBench.verbose:Z
        59: .line 99
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 7 /* i */
            aload 0 /* Args */
            arraylength
            if_icmplt 8
        end local 7 // int i
        61: .line 159
            aload 1 /* DriverName */
            invokevirtual java.lang.String.length:()I
            ifeq 62
            aload 2 /* DBUrl */
            invokevirtual java.lang.String.length:()I
            ifne 71
        62: .line 160
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        63: .line 161
            ldc "usage: java TestBench -driver [driver_class_name] -url [url_to_db] -user [username] -password [password] [-v] [-init] [-tpc n] [-clients n]"
        64: .line 160
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        65: .line 162
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        66: .line 163
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "-v          verbose error messages"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        67: .line 164
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "-init       initialize the tables"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        68: .line 165
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "-tpc        transactions per client"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        69: .line 166
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "-clients    number of simultaneous clients"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        70: .line 167
            iconst_m1
            invokestatic java.lang.System.exit:(I)V
        71: .line 170
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        72: .line 171
            ldc "*********************************************************"
        73: .line 170
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        74: .line 172
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        75: .line 173
            ldc "* TestBench v1.1                                        *"
        76: .line 172
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        77: .line 174
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        78: .line 175
            ldc "*********************************************************"
        79: .line 174
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        80: .line 176
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        81: .line 177
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Driver: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* DriverName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        82: .line 178
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "URL:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* DBUrl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        83: .line 179
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        84: .line 180
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Scale factor value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* bench */
            getfield org.hsqldb.test.TestBench.tps:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        85: .line 181
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Number of clients: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* bench */
            getfield org.hsqldb.test.TestBench.n_clients:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        86: .line 182
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Number of transactions per client: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        87: .line 183
            aload 6 /* bench */
            getfield org.hsqldb.test.TestBench.n_txn_per_client:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        88: .line 182
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        89: .line 184
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Execution rounds: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* bench */
            getfield org.hsqldb.test.TestBench.rounds:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        90: .line 185
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        91: .line 187
            aload 1 /* DriverName */
            ldc "org.hsqldb.jdbc.JDBCDriver"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 93
        92: .line 188
            aload 1 /* DriverName */
            ldc "org.hsqldb.jdbcDriver"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 95
        93: .line 189
      StackMap locals:
      StackMap stack:
            aload 2 /* DBUrl */
            ldc "mem:"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 95
        94: .line 190
            aload 6 /* bench */
            ldc "SHUTDOWN"
            putfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
        95: .line 195
      StackMap locals:
      StackMap stack:
            aload 1 /* DriverName */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            pop
        96: .line 196
            aload 6 /* bench */
            aload 2 /* DBUrl */
            aload 3 /* DBUser */
            aload 4 /* DBPassword */
            iload 5 /* initialize_dataset */
            invokevirtual org.hsqldb.test.TestBench.doBench:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        97: .line 197
            goto 101
      StackMap locals:
      StackMap stack: java.lang.Exception
        98: astore 7 /* E */
        start local 7 // java.lang.Exception E
        99: .line 198
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 7 /* E */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       100: .line 199
            aload 7 /* E */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 7 // java.lang.Exception E
       101: .line 201
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.hsqldb.test.TestBench bench
        end local 5 // boolean initialize_dataset
        end local 4 // java.lang.String DBPassword
        end local 3 // java.lang.String DBUser
        end local 2 // java.lang.String DBUrl
        end local 1 // java.lang.String DriverName
        end local 0 // java.lang.String[] Args
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  102     0                Args  [Ljava/lang/String;
            1  102     1          DriverName  Ljava/lang/String;
            2  102     2               DBUrl  Ljava/lang/String;
            3  102     3              DBUser  Ljava/lang/String;
            4  102     4          DBPassword  Ljava/lang/String;
            5  102     5  initialize_dataset  Z
            6  102     6               bench  Lorg/hsqldb/test/TestBench;
            7   61     7                   i  I
           99  101     7                   E  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          95    97      98  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      Args  

  public void doBench(java.lang.String, java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=5
        start local 0 // org.hsqldb.test.TestBench this
        start local 1 // java.lang.String url
        start local 2 // java.lang.String user
        start local 3 // java.lang.String password
        start local 4 // boolean init
         0: .line 206
            aconst_null
            astore 5 /* guardian */
        start local 5 // java.sql.Connection guardian
         1: .line 209
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 6 /* start */
        start local 6 // java.util.Date start
         2: .line 211
            iload 4 /* init */
            ifeq 13
         3: .line 212
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Start: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* start */
            invokevirtual java.util.Date.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 213
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Initializing dataset..."
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         5: .line 214
            aload 0 /* this */
            aload 1 /* url */
            aload 2 /* user */
            aload 3 /* password */
            invokevirtual org.hsqldb.test.TestBench.createDatabase:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         6: .line 216
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 6 /* start */
            invokevirtual java.util.Date.getTime:()J
            lsub
            l2d
         7: .line 217
            ldc 1000.0
         8: .line 216
            ddiv
            dstore 7 /* seconds */
        start local 7 // double seconds
         9: .line 219
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "done. in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            dload 7 /* seconds */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc " seconds\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 220
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Complete: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 221
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            invokevirtual java.util.Date.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 220
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 7 // double seconds
        13: .line 224
      StackMap locals: java.sql.Connection java.util.Date
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "* Starting Benchmark Run *"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 226
            aload 0 /* this */
            new org.hsqldb.test.TestBench$MemoryWatcherThread
            dup
            aload 0 /* this */
            invokespecial org.hsqldb.test.TestBench$MemoryWatcherThread.<init>:(Lorg/hsqldb/test/TestBench;)V
            putfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
        15: .line 228
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
            invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.start:()V
        16: .line 230
            aload 1 /* url */
            aload 2 /* user */
            aload 3 /* password */
            invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
            astore 5 /* guardian */
        17: .line 232
            aload 0 /* this */
            aload 5 /* guardian */
            invokevirtual org.hsqldb.test.TestBench.checkSumsDetails:(Ljava/sql/Connection;)Z
            istore 7 /* checkResult */
        start local 7 // boolean checkResult
        18: .line 234
            iload 7 /* checkResult */
            ifne 20
        19: .line 235
            iconst_0
            invokestatic java.lang.System.exit:(I)V
        20: .line 238
      StackMap locals: int
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 8 /* startTime */
        start local 8 // long startTime
        21: .line 240
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        22: goto 25
        23: .line 241
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* url */
            aload 2 /* user */
            aload 3 /* password */
            invokevirtual org.hsqldb.test.TestBench.oneRound:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        24: .line 240
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 10 /* i */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.rounds:I
            if_icmplt 23
        end local 10 // int i
        26: .line 244
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 8 /* startTime */
            lsub
            lstore 10 /* tempTime */
        start local 10 // long tempTime
        27: .line 246
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 8 /* startTime */
        28: .line 247
            aload 1 /* url */
            aload 2 /* user */
            aload 3 /* password */
            invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
            astore 5 /* guardian */
        29: .line 249
            aload 0 /* this */
            aload 5 /* guardian */
            invokevirtual org.hsqldb.test.TestBench.checkSumsDetails:(Ljava/sql/Connection;)Z
            pop
        30: .line 250
            aload 5 /* guardian */
            invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
        31: .line 251
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Total time: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 10 /* tempTime */
            l2d
            ldc 1000.0
            ddiv
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc " seconds"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        32: .line 252
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "sum check time: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        33: .line 253
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 8 /* startTime */
            lsub
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        34: .line 254
            ldc " milliseconds"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        35: .line 252
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 10 // long tempTime
        end local 8 // long startTime
        end local 7 // boolean checkResult
        end local 6 // java.util.Date start
        36: .line 255
            goto 62
      StackMap locals: org.hsqldb.test.TestBench java.lang.String java.lang.String java.lang.String int java.sql.Connection
      StackMap stack: java.lang.Exception
        37: astore 6 /* E */
        start local 6 // java.lang.Exception E
        38: .line 256
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 6 /* E */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 257
            aload 6 /* E */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 6 // java.lang.Exception E
        40: .line 259
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
            invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.end:()V
        41: .line 262
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
            invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.join:()V
        42: .line 264
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 72
        43: .line 265
            aload 1 /* url */
            aload 2 /* user */
            aload 3 /* password */
            invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
            astore 5 /* guardian */
        44: .line 267
            aload 5 /* guardian */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 13 /* Stmt */
        start local 13 // java.sql.Statement Stmt
        45: .line 269
            aload 13 /* Stmt */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        46: .line 270
            aload 13 /* Stmt */
            invokeinterface java.sql.Statement.close:()V
        47: .line 271
            aload 5 /* guardian */
            invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
        end local 13 // java.sql.Statement Stmt
        48: .line 273
            goto 72
      StackMap locals:
      StackMap stack: java.lang.Exception
        49: pop
            goto 72
        50: .line 258
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        51: .line 259
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
            invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.end:()V
        52: .line 262
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
            invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.join:()V
        53: .line 264
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 61
        54: .line 265
            aload 1 /* url */
            aload 2 /* user */
            aload 3 /* password */
            invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
            astore 5 /* guardian */
        55: .line 267
            aload 5 /* guardian */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 13 /* Stmt */
        start local 13 // java.sql.Statement Stmt
        56: .line 269
            aload 13 /* Stmt */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        57: .line 270
            aload 13 /* Stmt */
            invokeinterface java.sql.Statement.close:()V
        58: .line 271
            aload 5 /* guardian */
            invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
        end local 13 // java.sql.Statement Stmt
        59: .line 273
            goto 61
      StackMap locals: org.hsqldb.test.TestBench java.lang.String java.lang.String java.lang.String int java.sql.Connection top top top top top top java.lang.Throwable
      StackMap stack: java.lang.Exception
        60: pop
        61: .line 276
      StackMap locals:
      StackMap stack:
            aload 12
            athrow
        62: .line 259
      StackMap locals: org.hsqldb.test.TestBench java.lang.String java.lang.String java.lang.String int java.sql.Connection
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
            invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.end:()V
        63: .line 262
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
            invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.join:()V
        64: .line 264
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 72
        65: .line 265
            aload 1 /* url */
            aload 2 /* user */
            aload 3 /* password */
            invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
            astore 5 /* guardian */
        66: .line 267
            aload 5 /* guardian */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 13 /* Stmt */
        start local 13 // java.sql.Statement Stmt
        67: .line 269
            aload 13 /* Stmt */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        68: .line 270
            aload 13 /* Stmt */
            invokeinterface java.sql.Statement.close:()V
        69: .line 271
            aload 5 /* guardian */
            invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
        end local 13 // java.sql.Statement Stmt
        70: .line 273
            goto 72
      StackMap locals:
      StackMap stack: java.lang.Exception
        71: pop
        72: .line 277
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.sql.Connection guardian
        end local 4 // boolean init
        end local 3 // java.lang.String password
        end local 2 // java.lang.String user
        end local 1 // java.lang.String url
        end local 0 // org.hsqldb.test.TestBench this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   73     0         this  Lorg/hsqldb/test/TestBench;
            0   73     1          url  Ljava/lang/String;
            0   73     2         user  Ljava/lang/String;
            0   73     3     password  Ljava/lang/String;
            0   73     4         init  Z
            1   73     5     guardian  Ljava/sql/Connection;
            2   36     6        start  Ljava/util/Date;
            9   13     7      seconds  D
           18   36     7  checkResult  Z
           21   36     8    startTime  J
           22   26    10            i  I
           27   36    10     tempTime  J
           38   40     6            E  Ljava/lang/Exception;
           45   48    13         Stmt  Ljava/sql/Statement;
           56   59    13         Stmt  Ljava/sql/Statement;
           67   70    13         Stmt  Ljava/sql/Statement;
      Exception table:
        from    to  target  type
           1    36      37  Class java.lang.Exception
          41    48      49  Class java.lang.Exception
           1    40      50  any
          52    59      60  Class java.lang.Exception
          63    70      71  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      url       
      user      
      password  
      init      

  void oneRound(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=9, args_size=4
        start local 0 // org.hsqldb.test.TestBench this
        start local 1 // java.lang.String url
        start local 2 // java.lang.String user
        start local 3 // java.lang.String password
         0: .line 282
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 4 /* vClient */
        start local 4 // java.util.Vector vClient
         1: .line 283
            aconst_null
            astore 5 /* Client */
        start local 5 // java.lang.Thread Client
         2: .line 284
            aconst_null
            astore 6 /* e */
        start local 6 // java.util.Enumeration e
         3: .line 285
            aconst_null
            astore 7 /* guardian */
        start local 7 // java.sql.Connection guardian
         4: .line 288
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield org.hsqldb.test.TestBench.start_time:J
         5: .line 290
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         6: goto 20
         7: .line 291
      StackMap locals: org.hsqldb.test.TestBench java.lang.String java.lang.String java.lang.String java.util.Vector java.lang.Thread java.util.Enumeration java.sql.Connection int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.useStoredProcedure:Z
            ifeq 13
         8: .line 292
            new org.hsqldb.test.TestBench$ClientThreadProcedure
            dup
            aload 0 /* this */
         9: .line 293
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.n_txn_per_client:I
            aload 1 /* url */
            aload 2 /* user */
            aload 3 /* password */
        10: .line 294
            iconst_2
        11: .line 292
            invokespecial org.hsqldb.test.TestBench$ClientThreadProcedure.<init>:(Lorg/hsqldb/test/TestBench;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
            astore 5 /* Client */
        12: .line 295
            goto 17
        13: .line 297
      StackMap locals:
      StackMap stack:
            new org.hsqldb.test.TestBench$ClientThread
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.n_txn_per_client:I
            aload 1 /* url */
            aload 2 /* user */
            aload 3 /* password */
        14: .line 298
            iconst_2
        15: .line 297
            invokespecial org.hsqldb.test.TestBench$ClientThread.<init>:(Lorg/hsqldb/test/TestBench;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
        16: .line 296
            astore 5 /* Client */
        17: .line 301
      StackMap locals:
      StackMap stack:
            aload 5 /* Client */
            invokevirtual java.lang.Thread.start:()V
        18: .line 302
            aload 4 /* vClient */
            aload 5 /* Client */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        19: .line 290
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 8 /* i */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.n_clients:I
            if_icmplt 7
        end local 8 // int i
        21: .line 308
            aload 4 /* vClient */
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 6 /* e */
        22: .line 310
            goto 25
        23: .line 311
      StackMap locals:
      StackMap stack:
            aload 6 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.Thread
            astore 5 /* Client */
        24: .line 313
            aload 5 /* Client */
            invokevirtual java.lang.Thread.join:()V
        25: .line 310
      StackMap locals:
      StackMap stack:
            aload 6 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 23
        26: .line 316
            aload 4 /* vClient */
            invokevirtual java.util.Vector.removeAllElements:()V
        27: .line 317
            aload 0 /* this */
            invokevirtual org.hsqldb.test.TestBench.reportDone:()V
        28: .line 319
            aload 1 /* url */
            aload 2 /* user */
            aload 3 /* password */
            invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
            astore 7 /* guardian */
        29: .line 321
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.count_results:Z
            ifeq 31
        30: .line 322
            aload 0 /* this */
            aload 7 /* guardian */
            invokevirtual org.hsqldb.test.TestBench.checkSumsDetails:(Ljava/sql/Connection;)Z
            pop
        31: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.perform_special:Z
            ifeq 33
        32: .line 326
            aload 0 /* this */
            aload 7 /* guardian */
            invokevirtual org.hsqldb.test.TestBench.performSpecial:(Ljava/sql/Connection;)V
        33: .line 329
      StackMap locals:
      StackMap stack:
            aload 7 /* guardian */
            invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
        34: .line 330
            return
        end local 7 // java.sql.Connection guardian
        end local 6 // java.util.Enumeration e
        end local 5 // java.lang.Thread Client
        end local 4 // java.util.Vector vClient
        end local 3 // java.lang.String password
        end local 2 // java.lang.String user
        end local 1 // java.lang.String url
        end local 0 // org.hsqldb.test.TestBench this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   35     0      this  Lorg/hsqldb/test/TestBench;
            0   35     1       url  Ljava/lang/String;
            0   35     2      user  Ljava/lang/String;
            0   35     3  password  Ljava/lang/String;
            1   35     4   vClient  Ljava/util/Vector;
            2   35     5    Client  Ljava/lang/Thread;
            3   35     6         e  Ljava/util/Enumeration;
            4   35     7  guardian  Ljava/sql/Connection;
            6   21     8         i  I
    Exceptions:
      throws java.lang.InterruptedException, java.sql.SQLException
    MethodParameters:
          Name  Flags
      url       
      user      
      password  

  public void reportDone();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=1
        start local 0 // org.hsqldb.test.TestBench this
         0: .line 334
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 1 /* end_time */
        start local 1 // long end_time
         1: .line 335
            lload 1 /* end_time */
            l2d
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.start_time:J
            l2d
            dsub
         2: .line 336
            ldc 1000.0
         3: .line 335
            ddiv
            dstore 3 /* completion_time */
        start local 3 // double completion_time
         4: .line 338
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "\n* Benchmark Report *"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 339
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "\n--------------------"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 340
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Time to execute "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.transaction_count:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         7: .line 341
            ldc " transactions: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            dload 3 /* completion_time */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
         8: .line 342
            ldc " seconds."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 340
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 343
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Max/Min memory usage: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 344
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
            getfield org.hsqldb.test.TestBench$MemoryWatcherThread.max:J
            ldc 1024
            ldiv
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " / "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 345
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
            getfield org.hsqldb.test.TestBench$MemoryWatcherThread.min:J
            ldc 1024
            ldiv
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " kb"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 343
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 346
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.failed_transactions:I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " / "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.transaction_count:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        15: .line 347
            ldc " failed to complete."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 346
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        17: .line 349
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.transaction_count:I
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.failed_transactions:I
            isub
            i2d
        18: .line 350
            dload 3 /* completion_time */
        19: .line 349
            ddiv
            dstore 5 /* rate */
        start local 5 // double rate
        20: .line 352
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Transaction rate: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            dload 5 /* rate */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc " txn/sec."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        21: .line 353
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
            getfield org.hsqldb.test.TestBench$MemoryWatcherThread.max:J
            ldc 1024
            ldiv
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 354
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
            getfield org.hsqldb.test.TestBench$MemoryWatcherThread.min:J
            ldc 1024
            ldiv
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 355
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.failed_transactions:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            dload 5 /* rate */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 353
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        25: .line 357
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.test.TestBench.transaction_count:I
        26: .line 358
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.test.TestBench.failed_transactions:I
        27: .line 360
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
            invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.reset:()V
        28: .line 361
            return
        end local 5 // double rate
        end local 3 // double completion_time
        end local 1 // long end_time
        end local 0 // org.hsqldb.test.TestBench this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   29     0             this  Lorg/hsqldb/test/TestBench;
            1   29     1         end_time  J
            4   29     3  completion_time  D
           20   29     5             rate  D

  public synchronized void incrementTransactionCount();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hsqldb.test.TestBench this
         0: .line 364
            aload 0 /* this */
            dup
            getfield org.hsqldb.test.TestBench.transaction_count:I
            iconst_1
            iadd
            putfield org.hsqldb.test.TestBench.transaction_count:I
         1: .line 365
            return
        end local 0 // org.hsqldb.test.TestBench this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/test/TestBench;

  public synchronized void incrementFailedTransactionCount();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hsqldb.test.TestBench this
         0: .line 368
            aload 0 /* this */
            dup
            getfield org.hsqldb.test.TestBench.failed_transactions:I
            iconst_1
            iadd
            putfield org.hsqldb.test.TestBench.failed_transactions:I
         1: .line 369
            return
        end local 0 // org.hsqldb.test.TestBench this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/test/TestBench;

  void createDatabase(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // org.hsqldb.test.TestBench this
        start local 1 // java.lang.String url
        start local 2 // java.lang.String user
        start local 3 // java.lang.String password
         0: .line 374
            aload 1 /* url */
            aload 2 /* user */
            aload 3 /* password */
            invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
            astore 4 /* Conn */
        start local 4 // java.sql.Connection Conn
         1: .line 375
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.getMetaData:()Ljava/sql/DatabaseMetaData;
            invokeinterface java.sql.DatabaseMetaData.getDatabaseProductName:()Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
         2: .line 377
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "DBMS: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 380
            aload 4 /* Conn */
            iconst_0
            invokeinterface java.sql.Connection.setAutoCommit:(Z)V
         4: .line 381
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "In transaction mode"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 382
            goto 7
      StackMap locals: org.hsqldb.test.TestBench java.lang.String java.lang.String java.lang.String java.sql.Connection java.lang.String
      StackMap stack: java.sql.SQLException
         6: pop
         7: .line 385
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* accountsnb */
        start local 6 // int accountsnb
         8: .line 386
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 7 /* Stmt */
        start local 7 // java.sql.Statement Stmt
         9: .line 393
            ldc "SELECT count(*) "
            astore 8 /* Query */
        start local 8 // java.lang.String Query
        10: .line 394
            new java.lang.StringBuilder
            dup
            aload 8 /* Query */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "FROM   accounts"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* Query */
        11: .line 396
            aload 7 /* Stmt */
            aload 8 /* Query */
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 9 /* RS */
        start local 9 // java.sql.ResultSet RS
        12: .line 398
            aload 7 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        13: .line 400
            goto 15
        14: .line 401
      StackMap locals: org.hsqldb.test.TestBench java.lang.String java.lang.String java.lang.String java.sql.Connection java.lang.String int java.sql.Statement java.lang.String java.sql.ResultSet
      StackMap stack:
            aload 9 /* RS */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 6 /* accountsnb */
        15: .line 400
      StackMap locals:
      StackMap stack:
            aload 9 /* RS */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 14
        16: .line 404
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.commit:()V
        17: .line 405
            aload 7 /* Stmt */
            invokeinterface java.sql.Statement.close:()V
        18: .line 407
            iload 6 /* accountsnb */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.naccounts:I
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.tps:I
            imul
            if_icmpne 23
        19: .line 408
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Already initialized"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        20: .line 409
            aload 4 /* Conn */
            invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
        21: .line 411
            return
        end local 9 // java.sql.ResultSet RS
        end local 8 // java.lang.String Query
        end local 7 // java.sql.Statement Stmt
        end local 6 // int accountsnb
        22: .line 413
      StackMap locals: org.hsqldb.test.TestBench java.lang.String java.lang.String java.lang.String java.sql.Connection java.lang.String
      StackMap stack: java.lang.Exception
            pop
        23: .line 415
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Drop old tables if they exist"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        24: .line 418
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 6 /* Stmt */
        start local 6 // java.sql.Statement Stmt
        25: .line 421
            aload 1 /* url */
            ldc "hsqldb"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 30
        26: .line 423
            ldc "DROP PROCEDURE UPDATE_PROC"
            astore 7 /* Query */
        start local 7 // java.lang.String Query
        27: .line 425
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        28: .line 426
            goto 30
        end local 7 // java.lang.String Query
      StackMap locals: org.hsqldb.test.TestBench java.lang.String java.lang.String java.lang.String java.sql.Connection java.lang.String java.sql.Statement
      StackMap stack: java.lang.Exception
        29: pop
        30: .line 429
      StackMap locals:
      StackMap stack:
            ldc "DROP TABLE history"
            astore 7 /* Query */
        start local 7 // java.lang.String Query
        31: .line 431
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        32: .line 432
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        33: .line 434
            ldc "DROP TABLE accounts"
            astore 7 /* Query */
        34: .line 436
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        35: .line 437
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        36: .line 439
            ldc "DROP TABLE tellers"
            astore 7 /* Query */
        37: .line 441
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        38: .line 442
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        39: .line 444
            ldc "DROP TABLE branches"
            astore 7 /* Query */
        40: .line 446
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        41: .line 447
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        42: .line 448
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.commit:()V
        43: .line 449
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.close:()V
        end local 7 // java.lang.String Query
        end local 6 // java.sql.Statement Stmt
        44: .line 450
            goto 46
      StackMap locals: org.hsqldb.test.TestBench java.lang.String java.lang.String java.lang.String java.sql.Connection java.lang.String
      StackMap stack: java.lang.Exception
        45: pop
        46: .line 452
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Creates tables"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        47: .line 455
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 6 /* Stmt */
        start local 6 // java.sql.Statement Stmt
        48: .line 458
            ldc "SET FILES SPACE 1"
            astore 7 /* Query */
        start local 7 // java.lang.String Query
        49: .line 460
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        50: .line 461
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        51: .line 463
            ldc "CREATE TABLE branches ( Bid         INTEGER NOT NULL PRIMARY KEY, Bbalance    BIGINT,filler      VARCHAR(88))"
            astore 7 /* Query */
        52: .line 467
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        53: .line 468
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        54: .line 470
            ldc "CREATE TABLE tellers (Tid         INTEGER NOT NULL PRIMARY KEY,Bid         INTEGER,Tbalance    INTEGER,filler      VARCHAR(84))"
            astore 7 /* Query */
        55: .line 475
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.createExtension:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 57
        56: .line 476
            new java.lang.StringBuilder
            dup
            aload 7 /* Query */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.createExtension:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        57: .line 479
      StackMap locals: java.sql.Statement java.lang.String
      StackMap stack:
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        58: .line 480
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        59: .line 482
            ldc "CREATE TABLE accounts (Aid         INTEGER NOT NULL PRIMARY KEY, Bid         INTEGER, Abalance    INTEGER, filler      VARCHAR(84))"
            astore 7 /* Query */
        60: .line 487
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.createExtension:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 62
        61: .line 488
            new java.lang.StringBuilder
            dup
            aload 7 /* Query */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.createExtension:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        62: .line 491
      StackMap locals:
      StackMap stack:
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        63: .line 492
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        64: .line 494
            ldc "SET TABLE accounts NEW SPACE"
            astore 7 /* Query */
        65: .line 496
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        66: .line 497
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        67: .line 499
            ldc "CREATE TABLE history (Tid         INTEGER, Bid         INTEGER, Aid         INTEGER, delta       INTEGER, tstime        TIMESTAMP, filler      VARCHAR(22))"
            astore 7 /* Query */
        68: .line 504
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        69: .line 505
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        70: .line 507
            ldc "SET TABLE history NEW SPACE"
            astore 7 /* Query */
        71: .line 509
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        72: .line 510
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        73: .line 513
            ldc "CREATE PROCEDURE UPDATE_PROC(IN paid INT, IN ptid INT, IN pbid INT, IN pdelta INT, OUT pbalance INT) MODIFIES SQL DATA DYNAMIC RESULT SETS 1 BEGIN ATOMIC DECLARE account CURSOR WITH RETURN FOR SELECT Abalance FROM accounts WHERE  Aid = paid;UPDATE accounts SET Abalance = abalance + pdelta WHERE  aid = paid;OPEN account;SELECT Abalance INTO pbalance FROM  accounts WHERE  Aid = paid;UPDATE tellers SET Tbalance = Tbalance + pdelta WHERE  Tid = ptid;UPDATE branches SET Bbalance = Bbalance + pdelta WHERE  Bid = pbid;INSERT INTO history(Tid, Bid, Aid, delta) VALUES (ptid,pbid,paid,pdelta);END"
        74: .line 512
            astore 7 /* Query */
        75: .line 525
            aload 1 /* url */
            ldc "hsqldb"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 80
        76: .line 526
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        77: .line 528
            goto 80
      StackMap locals:
      StackMap stack: java.sql.SQLException
        78: astore 8 /* e */
        start local 8 // java.sql.SQLException e
        79: .line 529
            aload 8 /* e */
            invokevirtual java.sql.SQLException.printStackTrace:()V
        end local 8 // java.sql.SQLException e
        80: .line 538
      StackMap locals:
      StackMap stack:
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.commit:()V
        81: .line 539
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.close:()V
        end local 7 // java.lang.String Query
        end local 6 // java.sql.Statement Stmt
        82: .line 540
            goto 87
      StackMap locals: org.hsqldb.test.TestBench java.lang.String java.lang.String java.lang.String java.sql.Connection java.lang.String
      StackMap stack: java.lang.Exception
        83: pop
        84: .line 541
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        85: .line 542
            ldc "Delete elements in table in case Drop didn't work"
        86: .line 541
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        87: .line 546
      StackMap locals:
      StackMap stack:
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 6 /* Stmt */
        start local 6 // java.sql.Statement Stmt
        88: .line 549
            ldc "DELETE FROM history"
            astore 7 /* Query */
        start local 7 // java.lang.String Query
        89: .line 551
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        90: .line 552
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        91: .line 554
            ldc "DELETE FROM accounts"
            astore 7 /* Query */
        92: .line 556
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        93: .line 557
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        94: .line 559
            ldc "DELETE FROM tellers"
            astore 7 /* Query */
        95: .line 561
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        96: .line 562
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        97: .line 564
            ldc "DELETE FROM branches"
            astore 7 /* Query */
        98: .line 566
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        99: .line 567
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
       100: .line 568
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.commit:()V
       101: .line 575
            aconst_null
            astore 8 /* pstmt */
        start local 8 // java.sql.PreparedStatement pstmt
       102: .line 577
            ldc "INSERT INTO branches(Bid,Bbalance) VALUES (?,0)"
            astore 7 /* Query */
       103: .line 578
            aload 4 /* Conn */
            aload 7 /* Query */
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 8 /* pstmt */
       104: .line 580
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Insert data in branches table"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       105: .line 582
            iconst_0
            istore 9 /* i */
        start local 9 // int i
       106: goto 113
       107: .line 583
      StackMap locals: org.hsqldb.test.TestBench java.lang.String java.lang.String java.lang.String java.sql.Connection java.lang.String java.sql.Statement java.lang.String java.sql.PreparedStatement int
      StackMap stack:
            aload 8 /* pstmt */
            iconst_1
            iload 9 /* i */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
       108: .line 584
            aload 8 /* pstmt */
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            pop
       109: .line 585
            aload 8 /* pstmt */
            invokeinterface java.sql.PreparedStatement.clearWarnings:()V
       110: .line 587
            iload 9 /* i */
            bipush 100
            irem
            ifne 112
       111: .line 588
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.commit:()V
       112: .line 582
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
       113: iload 9 /* i */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.nbranches:I
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.tps:I
            imul
            if_icmplt 107
        end local 9 // int i
       114: .line 592
            aload 8 /* pstmt */
            invokeinterface java.sql.PreparedStatement.close:()V
       115: .line 593
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.commit:()V
       116: .line 595
            ldc "INSERT INTO tellers(Tid,Bid,Tbalance) VALUES (?,?,0)"
            astore 7 /* Query */
       117: .line 596
            aload 4 /* Conn */
            aload 7 /* Query */
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 8 /* pstmt */
       118: .line 598
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Insert data in tellers table"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       119: .line 600
            iconst_0
            istore 9 /* i */
        start local 9 // int i
       120: goto 128
       121: .line 601
      StackMap locals:
      StackMap stack:
            aload 8 /* pstmt */
            iconst_1
            iload 9 /* i */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
       122: .line 602
            aload 8 /* pstmt */
            iconst_2
            iload 9 /* i */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.ntellers:I
            idiv
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
       123: .line 603
            aload 8 /* pstmt */
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            pop
       124: .line 604
            aload 8 /* pstmt */
            invokeinterface java.sql.PreparedStatement.clearWarnings:()V
       125: .line 606
            iload 9 /* i */
            bipush 100
            irem
            ifne 127
       126: .line 607
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.commit:()V
       127: .line 600
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
       128: iload 9 /* i */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.ntellers:I
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.tps:I
            imul
            if_icmplt 121
        end local 9 // int i
       129: .line 611
            aload 8 /* pstmt */
            invokeinterface java.sql.PreparedStatement.close:()V
       130: .line 612
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.commit:()V
       131: .line 614
            ldc "INSERT INTO accounts(Aid,Bid,Abalance) VALUES (?,?,0)"
            astore 7 /* Query */
       132: .line 615
            aload 4 /* Conn */
            aload 7 /* Query */
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            astore 8 /* pstmt */
       133: .line 617
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Insert data in accounts table"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       134: .line 619
            iconst_0
            istore 9 /* i */
        start local 9 // int i
       135: goto 145
       136: .line 620
      StackMap locals:
      StackMap stack:
            aload 8 /* pstmt */
            iconst_1
            iload 9 /* i */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
       137: .line 621
            aload 8 /* pstmt */
            iconst_2
            iload 9 /* i */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.naccounts:I
            idiv
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
       138: .line 622
            aload 8 /* pstmt */
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            pop
       139: .line 623
            aload 8 /* pstmt */
            invokeinterface java.sql.PreparedStatement.clearWarnings:()V
       140: .line 625
            iload 9 /* i */
            sipush 10000
            irem
            ifne 142
       141: .line 626
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.commit:()V
       142: .line 629
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            ifle 144
            iload 9 /* i */
            ldc 100000
            irem
            ifne 144
       143: .line 630
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 9 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "\t records inserted"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       144: .line 619
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
       145: iload 9 /* i */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.naccounts:I
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.tps:I
            imul
            if_icmplt 136
        end local 9 // int i
       146: .line 634
            aload 8 /* pstmt */
            invokeinterface java.sql.PreparedStatement.close:()V
       147: .line 635
            aload 4 /* Conn */
            invokeinterface java.sql.Connection.commit:()V
       148: .line 636
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.naccounts:I
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.tps:I
            imul
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
       149: .line 637
            ldc "\t records inserted"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       150: .line 636
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       151: .line 640
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 154
       152: .line 641
            aload 6 /* Stmt */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
       153: .line 642
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "database shutdown"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       154: .line 645
      StackMap locals:
      StackMap stack:
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.close:()V
        end local 8 // java.sql.PreparedStatement pstmt
        end local 7 // java.lang.String Query
        end local 6 // java.sql.Statement Stmt
       155: .line 646
            goto 159
      StackMap locals: org.hsqldb.test.TestBench java.lang.String java.lang.String java.lang.String java.sql.Connection java.lang.String
      StackMap stack: java.lang.Exception
       156: astore 6 /* E */
        start local 6 // java.lang.Exception E
       157: .line 647
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 6 /* E */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       158: .line 648
            aload 6 /* E */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 6 // java.lang.Exception E
       159: .line 651
      StackMap locals:
      StackMap stack:
            aload 4 /* Conn */
            invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
       160: .line 652
            return
        end local 5 // java.lang.String s
        end local 4 // java.sql.Connection Conn
        end local 3 // java.lang.String password
        end local 2 // java.lang.String user
        end local 1 // java.lang.String url
        end local 0 // org.hsqldb.test.TestBench this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0  161     0        this  Lorg/hsqldb/test/TestBench;
            0  161     1         url  Ljava/lang/String;
            0  161     2        user  Ljava/lang/String;
            0  161     3    password  Ljava/lang/String;
            1  161     4        Conn  Ljava/sql/Connection;
            2  161     5           s  Ljava/lang/String;
            8   22     6  accountsnb  I
            9   22     7        Stmt  Ljava/sql/Statement;
           10   22     8       Query  Ljava/lang/String;
           12   22     9          RS  Ljava/sql/ResultSet;
           25   44     6        Stmt  Ljava/sql/Statement;
           27   29     7       Query  Ljava/lang/String;
           31   44     7       Query  Ljava/lang/String;
           48   82     6        Stmt  Ljava/sql/Statement;
           49   82     7       Query  Ljava/lang/String;
           79   80     8           e  Ljava/sql/SQLException;
           88  155     6        Stmt  Ljava/sql/Statement;
           89  155     7       Query  Ljava/lang/String;
          102  155     8       pstmt  Ljava/sql/PreparedStatement;
          106  114     9           i  I
          120  129     9           i  I
          135  146     9           i  I
          157  159     6           E  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     5       6  Class java.sql.SQLException
           7    21      22  Class java.lang.Exception
          26    28      29  Class java.lang.Exception
          24    44      45  Class java.lang.Exception
          75    77      78  Class java.sql.SQLException
          47    82      83  Class java.lang.Exception
          87   155     156  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      url       
      user      
      password  

  public static int getRandomInt(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // int lo
        start local 1 // int hi
         0: .line 656
            iconst_0
            istore 2 /* ret */
        start local 2 // int ret
         1: .line 658
            invokestatic java.lang.Math.random:()D
            iload 1 /* hi */
            iload 0 /* lo */
            isub
            iconst_1
            iadd
            i2d
            dmul
            d2i
            istore 2 /* ret */
         2: .line 659
            iload 2 /* ret */
            iload 0 /* lo */
            iadd
            istore 2 /* ret */
         3: .line 661
            iload 2 /* ret */
            ireturn
        end local 2 // int ret
        end local 1 // int hi
        end local 0 // int lo
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    lo  I
            0    4     1    hi  I
            1    4     2   ret  I
    MethodParameters:
      Name  Flags
      lo    
      hi    

  public int getRandomID(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.hsqldb.test.TestBench this
        start local 1 // int type
         0: .line 669
            iconst_0
            istore 2 /* min */
        start local 2 // int min
         1: .line 670
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.naccounts:I
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.tps:I
            imul
            iconst_1
            isub
            istore 3 /* max */
        start local 3 // int max
         2: .line 671
            iload 2 /* min */
            iload 3 /* max */
            invokestatic org.hsqldb.test.TestBench.getRandomInt:(II)I
            istore 4 /* account */
        start local 4 // int account
         3: .line 673
            iload 1 /* type */
            tableswitch { // 0 - 0
                    0: 4
              default: 6
          }
         4: .line 676
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.ntellers:I
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.tps:I
            imul
            iconst_1
            isub
            istore 3 /* max */
         5: .line 678
            iload 2 /* min */
            iload 3 /* max */
            invokestatic org.hsqldb.test.TestBench.getRandomInt:(II)I
            ireturn
         6: .line 681
      StackMap locals:
      StackMap stack:
            iload 4 /* account */
            ireturn
        end local 4 // int account
        end local 3 // int max
        end local 2 // int min
        end local 1 // int type
        end local 0 // org.hsqldb.test.TestBench this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/hsqldb/test/TestBench;
            0    7     1     type  I
            1    7     2      min  I
            2    7     3      max  I
            3    7     4  account  I
    MethodParameters:
      Name  Flags
      type  

  public static java.sql.Connection connect(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.String DBUrl
        start local 1 // java.lang.String DBUser
        start local 2 // java.lang.String DBPassword
         0: .line 688
            aload 0 /* DBUrl */
            aload 1 /* DBUser */
         1: .line 689
            aload 2 /* DBPassword */
         2: .line 688
            invokestatic java.sql.DriverManager.getConnection:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
            astore 3 /* conn */
        start local 3 // java.sql.Connection conn
         3: .line 691
            aload 3 /* conn */
         4: areturn
        end local 3 // java.sql.Connection conn
         5: .line 692
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* E */
        start local 3 // java.lang.Exception E
         6: .line 693
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 3 /* E */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 694
            aload 3 /* E */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 3 // java.lang.Exception E
         8: .line 697
            aconst_null
            areturn
        end local 2 // java.lang.String DBPassword
        end local 1 // java.lang.String DBUser
        end local 0 // java.lang.String DBUrl
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0       DBUrl  Ljava/lang/String;
            0    9     1      DBUser  Ljava/lang/String;
            0    9     2  DBPassword  Ljava/lang/String;
            3    5     3        conn  Ljava/sql/Connection;
            6    8     3           E  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      DBUrl       
      DBUser      
      DBPassword  

  public static void connectClose(java.sql.Connection);
    descriptor: (Ljava/sql/Connection;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.sql.Connection c
         0: .line 702
            aload 0 /* c */
            ifnonnull 2
         1: .line 703
            return
         2: .line 707
      StackMap locals:
      StackMap stack:
            aload 0 /* c */
            invokeinterface java.sql.Connection.close:()V
         3: .line 708
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: astore 1 /* E */
        start local 1 // java.lang.Exception E
         5: .line 709
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* E */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 710
            aload 1 /* E */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 1 // java.lang.Exception E
         7: .line 712
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.sql.Connection c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     c  Ljava/sql/Connection;
            5    7     1     E  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      c     

  boolean checkSums(java.sql.Connection);
    descriptor: (Ljava/sql/Connection;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // org.hsqldb.test.TestBench this
        start local 1 // java.sql.Connection conn
         0: .line 716
            aconst_null
            astore 2 /* st1 */
        start local 2 // java.sql.Statement st1
         1: .line 717
            aconst_null
            astore 3 /* rs */
        start local 3 // java.sql.ResultSet rs
         2: .line 727
            iconst_0
            istore 10 /* result */
        start local 10 // boolean result
         3: .line 730
            aload 1 /* conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 2 /* st1 */
         4: .line 731
            aload 2 /* st1 */
            ldc "select sum(bbalance) from branches"
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
         5: .line 733
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
         6: .line 735
            aload 3 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 4 /* bbalancesum */
        start local 4 // int bbalancesum
         7: .line 737
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
         8: .line 739
            aload 2 /* st1 */
            ldc "select sum(tbalance) from tellers"
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
         9: .line 741
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
        10: .line 743
            aload 3 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 5 /* tbalancesum */
        start local 5 // int tbalancesum
        11: .line 745
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        12: .line 747
            aload 2 /* st1 */
        13: .line 748
            ldc "select sum(abalance), count(abalance) from accounts"
        14: .line 747
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
        15: .line 750
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
        16: .line 752
            aload 3 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 6 /* abalancesum */
        start local 6 // int abalancesum
        17: .line 753
            aload 3 /* rs */
            iconst_2
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 7 /* abalancecount */
        start local 7 // int abalancecount
        18: .line 755
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        19: .line 757
            aload 2 /* st1 */
            ldc "select sum(delta) from history"
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
        20: .line 759
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
        21: .line 761
            aload 3 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            i2l
            lstore 8 /* deltasum */
        start local 8 // long deltasum
        22: .line 763
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        23: .line 765
            aconst_null
            astore 3 /* rs */
        24: .line 767
            aload 2 /* st1 */
            invokeinterface java.sql.Statement.close:()V
        25: .line 769
            aconst_null
            astore 2 /* st1 */
        26: .line 771
            aload 1 /* conn */
            invokeinterface java.sql.Connection.commit:()V
        27: .line 773
            iload 6 /* abalancesum */
            iload 4 /* bbalancesum */
            if_icmpne 29
            iload 4 /* bbalancesum */
            iload 5 /* tbalancesum */
            if_icmpne 29
        28: .line 774
            iload 5 /* tbalancesum */
            i2l
            lload 8 /* deltasum */
            lcmp
            ifeq 31
        29: .line 775
      StackMap locals: org.hsqldb.test.TestBench java.sql.Connection java.sql.Statement java.sql.ResultSet int int int int long int
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "sums don't match!"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        30: .line 776
            goto 33
        31: .line 777
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "sums match!"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        32: .line 779
            iconst_1
            istore 10 /* result */
        33: .line 782
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "AC "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* abalancecount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " A "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* abalancesum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        34: .line 783
            ldc " B "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* bbalancesum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " T "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* tbalancesum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        35: .line 784
            ldc " H "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 8 /* deltasum */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 782
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        37: .line 785
            goto 42
        end local 8 // long deltasum
        end local 7 // int abalancecount
        end local 6 // int abalancesum
        end local 5 // int tbalancesum
        end local 4 // int bbalancesum
      StackMap locals: org.hsqldb.test.TestBench java.sql.Connection java.sql.Statement java.sql.ResultSet top top top top top top int
      StackMap stack: java.lang.Throwable
        38: astore 11
        39: .line 786
            aload 2 /* st1 */
            ifnull 41
        40: .line 787
            aload 2 /* st1 */
            invokeinterface java.sql.Statement.close:()V
        41: .line 789
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 11
            athrow
        start local 4 // int bbalancesum
        start local 5 // int tbalancesum
        start local 6 // int abalancesum
        start local 7 // int abalancecount
        start local 8 // long deltasum
        42: .line 786
      StackMap locals: org.hsqldb.test.TestBench java.sql.Connection java.sql.Statement java.sql.ResultSet int int int int long int
      StackMap stack:
            aload 2 /* st1 */
            ifnull 44
        43: .line 787
            aload 2 /* st1 */
            invokeinterface java.sql.Statement.close:()V
        44: .line 791
      StackMap locals:
      StackMap stack:
            iload 10 /* result */
            ireturn
        end local 10 // boolean result
        end local 8 // long deltasum
        end local 7 // int abalancecount
        end local 6 // int abalancesum
        end local 5 // int tbalancesum
        end local 4 // int bbalancesum
        end local 3 // java.sql.ResultSet rs
        end local 2 // java.sql.Statement st1
        end local 1 // java.sql.Connection conn
        end local 0 // org.hsqldb.test.TestBench this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   45     0           this  Lorg/hsqldb/test/TestBench;
            0   45     1           conn  Ljava/sql/Connection;
            1   45     2            st1  Ljava/sql/Statement;
            2   45     3             rs  Ljava/sql/ResultSet;
            7   38     4    bbalancesum  I
           42   45     4    bbalancesum  I
           11   38     5    tbalancesum  I
           42   45     5    tbalancesum  I
           17   38     6    abalancesum  I
           42   45     6    abalancesum  I
           18   38     7  abalancecount  I
           42   45     7  abalancecount  I
           22   38     8       deltasum  J
           42   45     8       deltasum  J
            3   45    10         result  Z
      Exception table:
        from    to  target  type
           3    38      38  any
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      conn  

  boolean checkSumsDetails(java.sql.Connection);
    descriptor: (Ljava/sql/Connection;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=16, args_size=2
        start local 0 // org.hsqldb.test.TestBench this
        start local 1 // java.sql.Connection conn
         0: .line 800
            aconst_null
            astore 2 /* st1 */
        start local 2 // java.sql.Statement st1
         1: .line 801
            aconst_null
            astore 3 /* rs */
        start local 3 // java.sql.ResultSet rs
         2: .line 812
            aload 1 /* conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 2 /* st1 */
         3: .line 813
            aload 2 /* st1 */
         4: .line 814
            ldc "select sum(bbalance), count(bbalance) from branches"
         5: .line 813
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
         6: .line 816
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
         7: .line 818
            aload 3 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 4 /* bbalancesum */
        start local 4 // int bbalancesum
         8: .line 819
            aload 3 /* rs */
            iconst_2
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 5 /* bbalancecount */
        start local 5 // int bbalancecount
         9: .line 821
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        10: .line 823
            aload 2 /* st1 */
            ldc "select sum(tbalance) from tellers"
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
        11: .line 825
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
        12: .line 827
            aload 3 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 6 /* tbalancesum */
        start local 6 // int tbalancesum
        13: .line 829
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        14: .line 831
            aload 2 /* st1 */
        15: .line 832
            ldc "select sum(abalance), count(abalance) from accounts"
        16: .line 831
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
        17: .line 834
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
        18: .line 836
            aload 3 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 7 /* abalancesum */
        start local 7 // int abalancesum
        19: .line 837
            aload 3 /* rs */
            iconst_2
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 8 /* abalancecount */
        start local 8 // int abalancecount
        20: .line 839
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        21: .line 841
            aload 2 /* st1 */
        22: .line 842
            ldc "select sum(delta), count(delta) from history"
        23: .line 841
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
        24: .line 844
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
        25: .line 846
            aload 3 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getLong:(I)J
            lstore 9 /* deltasum */
        start local 9 // long deltasum
        26: .line 847
            aload 3 /* rs */
            iconst_2
            invokeinterface java.sql.ResultSet.getLong:(I)J
            lstore 11 /* deltacount */
        start local 11 // long deltacount
        27: .line 849
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        28: .line 851
            aconst_null
            astore 3 /* rs */
        29: .line 853
            aload 2 /* st1 */
            invokeinterface java.sql.Statement.close:()V
        30: .line 855
            aconst_null
            astore 2 /* st1 */
        31: .line 857
            aload 1 /* conn */
            invokeinterface java.sql.Connection.commit:()V
        32: .line 859
            iload 7 /* abalancesum */
            iload 4 /* bbalancesum */
            if_icmpne 34
            iload 4 /* bbalancesum */
            iload 6 /* tbalancesum */
            if_icmpne 34
        33: .line 860
            iload 6 /* tbalancesum */
            i2l
            lload 9 /* deltasum */
            lcmp
            ifeq 37
        34: .line 861
      StackMap locals: org.hsqldb.test.TestBench java.sql.Connection java.sql.Statement java.sql.ResultSet int int int int int long long
      StackMap stack:
            iconst_0
            istore 13 /* result */
        start local 13 // boolean result
        35: .line 863
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "sums don't match!"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        36: .line 864
            goto 39
        end local 13 // boolean result
        37: .line 865
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 13 /* result */
        start local 13 // boolean result
        38: .line 867
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "sums match!"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 870
      StackMap locals: int
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "AC "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* abalancecount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " A "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 7 /* abalancesum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        40: .line 871
            ldc " BC "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* bbalancecount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " B "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* bbalancesum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        41: .line 872
            ldc " T "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* tbalancesum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " HC "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 11 /* deltacount */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        42: .line 873
            ldc " H "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 9 /* deltasum */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 870
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        44: .line 875
            iload 13 /* result */
            istore 15
        45: .line 877
            aload 2 /* st1 */
            ifnull 47
        46: .line 878
            aload 2 /* st1 */
            invokeinterface java.sql.Statement.close:()V
        47: .line 875
      StackMap locals: org.hsqldb.test.TestBench java.sql.Connection java.sql.Statement java.sql.ResultSet int int int int int long long int top int
      StackMap stack:
            iload 15
            ireturn
        end local 13 // boolean result
        end local 11 // long deltacount
        end local 9 // long deltasum
        end local 8 // int abalancecount
        end local 7 // int abalancesum
        end local 6 // int tbalancesum
        end local 5 // int bbalancecount
        end local 4 // int bbalancesum
        48: .line 876
      StackMap locals: org.hsqldb.test.TestBench java.sql.Connection java.sql.Statement java.sql.ResultSet
      StackMap stack: java.lang.Throwable
            astore 14
        49: .line 877
            aload 2 /* st1 */
            ifnull 51
        50: .line 878
            aload 2 /* st1 */
            invokeinterface java.sql.Statement.close:()V
        51: .line 880
      StackMap locals: org.hsqldb.test.TestBench java.sql.Connection java.sql.Statement java.sql.ResultSet top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 14
            athrow
        end local 3 // java.sql.ResultSet rs
        end local 2 // java.sql.Statement st1
        end local 1 // java.sql.Connection conn
        end local 0 // org.hsqldb.test.TestBench this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   52     0           this  Lorg/hsqldb/test/TestBench;
            0   52     1           conn  Ljava/sql/Connection;
            1   52     2            st1  Ljava/sql/Statement;
            2   52     3             rs  Ljava/sql/ResultSet;
            8   48     4    bbalancesum  I
            9   48     5  bbalancecount  I
           13   48     6    tbalancesum  I
           19   48     7    abalancesum  I
           20   48     8  abalancecount  I
           26   48     9       deltasum  J
           27   48    11     deltacount  J
           35   37    13         result  Z
           38   48    13         result  Z
      Exception table:
        from    to  target  type
           2    45      48  any
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      conn  

  void performSpecial(java.sql.Connection);
    descriptor: (Ljava/sql/Connection;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.hsqldb.test.TestBench this
        start local 1 // java.sql.Connection conn
         0: .line 885
            aconst_null
            astore 2 /* st1 */
        start local 2 // java.sql.Statement st1
         1: .line 894
            aload 1 /* conn */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 2 /* st1 */
         2: .line 896
            aload 2 /* st1 */
            new java.lang.StringBuilder
            dup
            ldc "set database transaction control "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.txmode:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         3: .line 897
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "tx control "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.txmode:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 899
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench.txmode:Ljava/lang/String;
            ldc "mvcc"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 900
            aload 0 /* this */
            ldc "locks"
            putfield org.hsqldb.test.TestBench.txmode:Ljava/lang/String;
         6: .line 901
            goto 13
         7: .line 902
      StackMap locals: java.sql.Statement
      StackMap stack:
            aload 0 /* this */
            ldc "mvcc"
            putfield org.hsqldb.test.TestBench.txmode:Ljava/lang/String;
         8: .line 904
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3
        10: .line 905
            aload 2 /* st1 */
            ifnull 12
        11: .line 906
            aload 2 /* st1 */
            invokeinterface java.sql.Statement.close:()V
        12: .line 908
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
        13: .line 905
      StackMap locals:
      StackMap stack:
            aload 2 /* st1 */
            ifnull 15
        14: .line 906
            aload 2 /* st1 */
            invokeinterface java.sql.Statement.close:()V
        15: .line 909
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.sql.Statement st1
        end local 1 // java.sql.Connection conn
        end local 0 // org.hsqldb.test.TestBench this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/hsqldb/test/TestBench;
            0   16     1  conn  Ljava/sql/Connection;
            1   16     2   st1  Ljava/sql/Statement;
      Exception table:
        from    to  target  type
           1     9       9  any
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      conn  
}
SourceFile: "TestBench.java"
NestMembers:
  org.hsqldb.test.TestBench$ClientThread  org.hsqldb.test.TestBench$ClientThreadProcedure  org.hsqldb.test.TestBench$MemoryWatcherThread
InnerClasses:
  ClientThread = org.hsqldb.test.TestBench$ClientThread of org.hsqldb.test.TestBench
  ClientThreadProcedure = org.hsqldb.test.TestBench$ClientThreadProcedure of org.hsqldb.test.TestBench
  MemoryWatcherThread = org.hsqldb.test.TestBench$MemoryWatcherThread of org.hsqldb.test.TestBench