class org.hsqldb.test.JDBCBench$ClientThread extends java.lang.Thread
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.hsqldb.test.JDBCBench$ClientThread
  super_class: java.lang.Thread
{
  int ntrans;
    descriptor: I
    flags: (0x0000) 

  java.sql.Connection Conn;
    descriptor: Ljava/sql/Connection;
    flags: (0x0000) 

  java.sql.PreparedStatement pstmt1;
    descriptor: Ljava/sql/PreparedStatement;
    flags: (0x0000) 

  java.sql.PreparedStatement pstmt2;
    descriptor: Ljava/sql/PreparedStatement;
    flags: (0x0000) 

  java.sql.PreparedStatement pstmt3;
    descriptor: Ljava/sql/PreparedStatement;
    flags: (0x0000) 

  java.sql.PreparedStatement pstmt4;
    descriptor: Ljava/sql/PreparedStatement;
    flags: (0x0000) 

  java.sql.PreparedStatement pstmt5;
    descriptor: Ljava/sql/PreparedStatement;
    flags: (0x0000) 

  final org.hsqldb.test.JDBCBench this$0;
    descriptor: Lorg/hsqldb/test/JDBCBench;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(org.hsqldb.test.JDBCBench, int, java.lang.String, java.lang.String, java.lang.String, int);
    descriptor: (Lorg/hsqldb/test/JDBCBench;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=7
        start local 0 // org.hsqldb.test.JDBCBench$ClientThread this
        start local 2 // int number_of_txns
        start local 3 // java.lang.String url
        start local 4 // java.lang.String user
        start local 5 // java.lang.String password
        start local 6 // int transactionMode
         0: .line 861
            aload 0 /* this */
            aload 1
            putfield org.hsqldb.test.JDBCBench$ClientThread.this$0:Lorg/hsqldb/test/JDBCBench;
         1: .line 860
            aload 0 /* this */
            invokespecial java.lang.Thread.<init>:()V
         2: .line 852
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.test.JDBCBench$ClientThread.ntrans:I
         3: .line 854
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.test.JDBCBench$ClientThread.pstmt1:Ljava/sql/PreparedStatement;
         4: .line 855
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.test.JDBCBench$ClientThread.pstmt2:Ljava/sql/PreparedStatement;
         5: .line 856
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.test.JDBCBench$ClientThread.pstmt3:Ljava/sql/PreparedStatement;
         6: .line 857
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.test.JDBCBench$ClientThread.pstmt4:Ljava/sql/PreparedStatement;
         7: .line 858
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.test.JDBCBench$ClientThread.pstmt5:Ljava/sql/PreparedStatement;
         8: .line 863
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            iload 2 /* number_of_txns */
            invokevirtual java.io.PrintStream.println:(I)V
         9: .line 865
            aload 0 /* this */
            iload 2 /* number_of_txns */
            putfield org.hsqldb.test.JDBCBench$ClientThread.ntrans:I
        10: .line 866
            aload 0 /* this */
            aload 3 /* url */
            aload 4 /* user */
            aload 5 /* password */
            invokestatic org.hsqldb.test.JDBCBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
            putfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
        11: .line 868
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
            ifnonnull 13
        12: .line 869
            return
        13: .line 873
      StackMap locals: org.hsqldb.test.JDBCBench$ClientThread org.hsqldb.test.JDBCBench int java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            getstatic org.hsqldb.test.JDBCBench.transactions:Z
            ifeq 15
        14: .line 874
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
            iconst_0
            invokeinterface java.sql.Connection.setAutoCommit:(Z)V
        15: .line 877
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
            iload 6 /* transactionMode */
            invokeinterface java.sql.Connection.setTransactionIsolation:(I)V
        16: .line 879
            getstatic org.hsqldb.test.JDBCBench.prepared_stmt:Z
            ifeq 40
        17: .line 882
            ldc "UPDATE accounts "
            astore 7 /* Query */
        start local 7 // java.lang.String Query
        18: .line 883
            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
            ldc "SET     Abalance = Abalance + ? "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        19: .line 884
            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
            ldc "WHERE   Aid = ?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        20: .line 885
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
            aload 7 /* Query */
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            putfield org.hsqldb.test.JDBCBench$ClientThread.pstmt1:Ljava/sql/PreparedStatement;
        21: .line 886
            ldc "SELECT Abalance "
            astore 7 /* Query */
        22: .line 887
            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
            ldc "FROM   accounts "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        23: .line 888
            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
            ldc "WHERE  Aid = ?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        24: .line 889
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
            aload 7 /* Query */
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            putfield org.hsqldb.test.JDBCBench$ClientThread.pstmt2:Ljava/sql/PreparedStatement;
        25: .line 890
            ldc "UPDATE tellers "
            astore 7 /* Query */
        26: .line 891
            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
            ldc "SET    Tbalance = Tbalance + ? "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        27: .line 892
            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
            ldc "WHERE  Tid = ?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        28: .line 893
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
            aload 7 /* Query */
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            putfield org.hsqldb.test.JDBCBench$ClientThread.pstmt3:Ljava/sql/PreparedStatement;
        29: .line 894
            ldc "UPDATE branches "
            astore 7 /* Query */
        30: .line 895
            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
            ldc "SET    Bbalance = Bbalance + ? "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        31: .line 896
            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
            ldc "WHERE  Bid = ?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        32: .line 897
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
            aload 7 /* Query */
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            putfield org.hsqldb.test.JDBCBench$ClientThread.pstmt4:Ljava/sql/PreparedStatement;
        33: .line 898
            ldc "INSERT INTO history(Tid, Bid, Aid, delta) "
            astore 7 /* Query */
        34: .line 899
            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
            ldc "VALUES (?,?,?,?)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        35: .line 900
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
            aload 7 /* Query */
            invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
            putfield org.hsqldb.test.JDBCBench$ClientThread.pstmt5:Ljava/sql/PreparedStatement;
        end local 7 // java.lang.String Query
        36: .line 902
            goto 40
      StackMap locals:
      StackMap stack: java.lang.Exception
        37: astore 7 /* E */
        start local 7 // java.lang.Exception E
        38: .line 903
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 7 /* E */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 904
            aload 7 /* E */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 7 // java.lang.Exception E
        40: .line 906
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int transactionMode
        end local 5 // java.lang.String password
        end local 4 // java.lang.String user
        end local 3 // java.lang.String url
        end local 2 // int number_of_txns
        end local 0 // org.hsqldb.test.JDBCBench$ClientThread this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   41     0             this  Lorg/hsqldb/test/JDBCBench$ClientThread;
            0   41     2   number_of_txns  I
            0   41     3              url  Ljava/lang/String;
            0   41     4             user  Ljava/lang/String;
            0   41     5         password  Ljava/lang/String;
            0   41     6  transactionMode  I
           18   36     7            Query  Ljava/lang/String;
           38   40     7                E  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          13    36      37  Class java.lang.Exception
    MethodParameters:
                 Name  Flags
      this$0           final
      number_of_txns   
      url              
      user             
      password         
      transactionMode  

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.hsqldb.test.JDBCBench$ClientThread this
         0: .line 910
            goto 7
         1: .line 911
      StackMap locals:
      StackMap stack:
            iconst_2
            invokestatic org.hsqldb.test.JDBCBench.getRandomID:(I)I
            istore 1 /* account */
        start local 1 // int account
         2: .line 912
            iconst_1
            invokestatic org.hsqldb.test.JDBCBench.getRandomID:(I)I
            istore 2 /* branch */
        start local 2 // int branch
         3: .line 913
            iconst_0
            invokestatic org.hsqldb.test.JDBCBench.getRandomID:(I)I
            istore 3 /* teller */
        start local 3 // int teller
         4: .line 914
            iconst_0
            sipush 1000
            invokestatic org.hsqldb.test.JDBCBench.getRandomInt:(II)I
            istore 4 /* delta */
        start local 4 // int delta
         5: .line 916
            aload 0 /* this */
            iload 2 /* branch */
            iload 3 /* teller */
            iload 1 /* account */
            iload 4 /* delta */
            invokevirtual org.hsqldb.test.JDBCBench$ClientThread.doOne:(IIII)I
            pop
         6: .line 917
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.this$0:Lorg/hsqldb/test/JDBCBench;
            invokevirtual org.hsqldb.test.JDBCBench.incrementTransactionCount:()V
        end local 4 // int delta
        end local 3 // int teller
        end local 2 // int branch
        end local 1 // int account
         7: .line 910
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.hsqldb.test.JDBCBench$ClientThread.ntrans:I
            dup_x1
            iconst_1
            isub
            putfield org.hsqldb.test.JDBCBench$ClientThread.ntrans:I
            ifgt 1
         8: .line 920
            getstatic org.hsqldb.test.JDBCBench.prepared_stmt:Z
            ifeq 23
         9: .line 922
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt1:Ljava/sql/PreparedStatement;
            ifnull 11
        10: .line 923
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt1:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.close:()V
        11: .line 926
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt2:Ljava/sql/PreparedStatement;
            ifnull 13
        12: .line 927
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt2:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.close:()V
        13: .line 930
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt3:Ljava/sql/PreparedStatement;
            ifnull 15
        14: .line 931
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt3:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.close:()V
        15: .line 934
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt4:Ljava/sql/PreparedStatement;
            ifnull 17
        16: .line 935
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt4:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.close:()V
        17: .line 938
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt5:Ljava/sql/PreparedStatement;
            ifnull 23
        18: .line 939
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt5:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.close:()V
        19: .line 941
            goto 23
      StackMap locals:
      StackMap stack: java.lang.Exception
        20: astore 1 /* E */
        start local 1 // java.lang.Exception E
        21: .line 942
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* E */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        22: .line 943
            aload 1 /* E */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 1 // java.lang.Exception E
        23: .line 947
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
            invokestatic org.hsqldb.test.JDBCBench.connectClose:(Ljava/sql/Connection;)V
        24: .line 949
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
        25: .line 950
            return
        end local 0 // org.hsqldb.test.JDBCBench$ClientThread this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lorg/hsqldb/test/JDBCBench$ClientThread;
            2    7     1  account  I
            3    7     2   branch  I
            4    7     3   teller  I
            5    7     4    delta  I
           21   23     1        E  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           9    19      20  Class java.lang.Exception

  int doOne(int, int, int, int);
    descriptor: (IIII)I
    flags: (0x0000) 
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // org.hsqldb.test.JDBCBench$ClientThread this
        start local 1 // int bid
        start local 2 // int tid
        start local 3 // int aid
        start local 4 // int delta
         0: .line 957
            iconst_0
            istore 5 /* aBalance */
        start local 5 // int aBalance
         1: .line 959
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
            ifnonnull 4
         2: .line 960
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.this$0:Lorg/hsqldb/test/JDBCBench;
            invokevirtual org.hsqldb.test.JDBCBench.incrementFailedTransactionCount:()V
         3: .line 962
            iconst_0
            ireturn
         4: .line 966
      StackMap locals: int
      StackMap stack:
            getstatic org.hsqldb.test.JDBCBench.prepared_stmt:Z
            ifeq 30
         5: .line 967
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt1:Ljava/sql/PreparedStatement;
            iconst_1
            iload 4 /* delta */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
         6: .line 968
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt1:Ljava/sql/PreparedStatement;
            iconst_2
            iload 3 /* aid */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
         7: .line 969
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt1:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            pop
         8: .line 970
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt1:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.clearWarnings:()V
         9: .line 971
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt2:Ljava/sql/PreparedStatement;
            iconst_1
            iload 3 /* aid */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        10: .line 973
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt2:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.executeQuery:()Ljava/sql/ResultSet;
            astore 6 /* RS */
        start local 6 // java.sql.ResultSet RS
        11: .line 975
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt2:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.clearWarnings:()V
        12: .line 977
            goto 14
        13: .line 978
      StackMap locals: java.sql.ResultSet
      StackMap stack:
            aload 6 /* RS */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 5 /* aBalance */
        14: .line 977
      StackMap locals:
      StackMap stack:
            aload 6 /* RS */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 13
        15: .line 981
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt3:Ljava/sql/PreparedStatement;
            iconst_1
            iload 4 /* delta */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        16: .line 982
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt3:Ljava/sql/PreparedStatement;
            iconst_2
            iload 2 /* tid */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        17: .line 983
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt3:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            pop
        18: .line 984
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt3:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.clearWarnings:()V
        19: .line 985
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt4:Ljava/sql/PreparedStatement;
            iconst_1
            iload 4 /* delta */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        20: .line 986
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt4:Ljava/sql/PreparedStatement;
            iconst_2
            iload 1 /* bid */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        21: .line 987
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt4:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            pop
        22: .line 988
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt4:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.clearWarnings:()V
        23: .line 989
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt5:Ljava/sql/PreparedStatement;
            iconst_1
            iload 2 /* tid */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        24: .line 990
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt5:Ljava/sql/PreparedStatement;
            iconst_2
            iload 1 /* bid */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        25: .line 991
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt5:Ljava/sql/PreparedStatement;
            iconst_3
            iload 3 /* aid */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        26: .line 992
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt5:Ljava/sql/PreparedStatement;
            iconst_4
            iload 4 /* delta */
            invokeinterface java.sql.PreparedStatement.setInt:(II)V
        27: .line 993
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt5:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.executeUpdate:()I
            pop
        28: .line 994
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.pstmt5:Ljava/sql/PreparedStatement;
            invokeinterface java.sql.PreparedStatement.clearWarnings:()V
        end local 6 // java.sql.ResultSet RS
        29: .line 995
            goto 63
        30: .line 996
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 6 /* Stmt */
        start local 6 // java.sql.Statement Stmt
        31: .line 997
            ldc "UPDATE accounts "
            astore 7 /* Query */
        start local 7 // java.lang.String Query
        32: .line 999
            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
            ldc "SET     Abalance = Abalance + "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* delta */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        33: .line 1000
            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
            ldc "WHERE   Aid = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* aid */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        34: .line 1002
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.executeUpdate:(Ljava/lang/String;)I
            pop
        35: .line 1004
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        36: .line 1006
            ldc "SELECT Abalance "
            astore 7 /* Query */
        37: .line 1007
            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
            ldc "FROM   accounts "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        38: .line 1008
            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
            ldc "WHERE  Aid = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* aid */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        39: .line 1010
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 8 /* RS */
        start local 8 // java.sql.ResultSet RS
        40: .line 1012
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        41: .line 1014
            goto 43
        42: .line 1015
      StackMap locals: java.sql.Statement java.lang.String java.sql.ResultSet
      StackMap stack:
            aload 8 /* RS */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 5 /* aBalance */
        43: .line 1014
      StackMap locals:
      StackMap stack:
            aload 8 /* RS */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 42
        44: .line 1018
            ldc "UPDATE tellers "
            astore 7 /* Query */
        45: .line 1019
            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
            ldc "SET    Tbalance = Tbalance + "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* delta */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        46: .line 1020
            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
            ldc "WHERE  Tid = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* tid */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        47: .line 1022
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.executeUpdate:(Ljava/lang/String;)I
            pop
        48: .line 1023
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        49: .line 1025
            ldc "UPDATE branches "
            astore 7 /* Query */
        50: .line 1026
            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
            ldc "SET    Bbalance = Bbalance + "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* delta */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        51: .line 1027
            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
            ldc "WHERE  Bid = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* bid */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        52: .line 1029
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.executeUpdate:(Ljava/lang/String;)I
            pop
        53: .line 1030
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        54: .line 1032
            ldc "INSERT INTO history(Tid, Bid, Aid, delta) "
            astore 7 /* Query */
        55: .line 1033
            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
            ldc "VALUES ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        56: .line 1034
            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
            iload 2 /* tid */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        57: .line 1035
            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
            iload 1 /* bid */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        58: .line 1036
            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
            iload 3 /* aid */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        59: .line 1037
            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
            iload 4 /* delta */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* Query */
        60: .line 1039
            aload 6 /* Stmt */
            aload 7 /* Query */
            invokeinterface java.sql.Statement.executeUpdate:(Ljava/lang/String;)I
            pop
        61: .line 1040
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.clearWarnings:()V
        62: .line 1041
            aload 6 /* Stmt */
            invokeinterface java.sql.Statement.close:()V
        end local 8 // java.sql.ResultSet RS
        end local 7 // java.lang.String Query
        end local 6 // java.sql.Statement Stmt
        63: .line 1044
      StackMap locals:
      StackMap stack:
            getstatic org.hsqldb.test.JDBCBench.transactions:Z
            ifeq 65
        64: .line 1045
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
            invokeinterface java.sql.Connection.commit:()V
        65: .line 1048
      StackMap locals:
      StackMap stack:
            iload 5 /* aBalance */
        66: ireturn
        67: .line 1049
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* E */
        start local 6 // java.lang.Exception E
        68: .line 1050
            getstatic org.hsqldb.test.JDBCBench.verbose:Z
            ifeq 73
        69: .line 1051
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Transaction failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        70: .line 1052
            aload 6 /* E */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        71: .line 1051
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        72: .line 1053
            aload 6 /* E */
            invokevirtual java.lang.Exception.printStackTrace:()V
        73: .line 1056
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.this$0:Lorg/hsqldb/test/JDBCBench;
            invokevirtual org.hsqldb.test.JDBCBench.incrementFailedTransactionCount:()V
        74: .line 1058
            getstatic org.hsqldb.test.JDBCBench.transactions:Z
            ifeq 78
        75: .line 1060
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$ClientThread.Conn:Ljava/sql/Connection;
            invokeinterface java.sql.Connection.rollback:()V
        76: .line 1061
            goto 78
      StackMap locals:
      StackMap stack: java.sql.SQLException
        77: pop
        end local 6 // java.lang.Exception E
        78: .line 1065
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // int aBalance
        end local 4 // int delta
        end local 3 // int aid
        end local 2 // int tid
        end local 1 // int bid
        end local 0 // org.hsqldb.test.JDBCBench$ClientThread this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   79     0      this  Lorg/hsqldb/test/JDBCBench$ClientThread;
            0   79     1       bid  I
            0   79     2       tid  I
            0   79     3       aid  I
            0   79     4     delta  I
            1   79     5  aBalance  I
           11   29     6        RS  Ljava/sql/ResultSet;
           31   63     6      Stmt  Ljava/sql/Statement;
           32   63     7     Query  Ljava/lang/String;
           40   63     8        RS  Ljava/sql/ResultSet;
           68   78     6         E  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4    66      67  Class java.lang.Exception
          75    76      77  Class java.sql.SQLException
    MethodParameters:
       Name  Flags
      bid    
      tid    
      aid    
      delta  
}
SourceFile: "JDBCBench.java"
NestHost: org.hsqldb.test.JDBCBench
InnerClasses:
  ClientThread = org.hsqldb.test.JDBCBench$ClientThread of org.hsqldb.test.JDBCBench