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 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield org.hsqldb.test.TestBench.tps:I
2: aload 0
iconst_1
putfield org.hsqldb.test.TestBench.nbranches:I
3: aload 0
bipush 10
putfield org.hsqldb.test.TestBench.ntellers:I
4: aload 0
ldc 100000
putfield org.hsqldb.test.TestBench.naccounts:I
5: aload 0
ldc 864000
putfield org.hsqldb.test.TestBench.nhistory:I
6: aload 0
bipush 10
putfield org.hsqldb.test.TestBench.rounds:I
7: aload 0
iconst_0
putfield org.hsqldb.test.TestBench.failed_transactions:I
8: aload 0
iconst_0
putfield org.hsqldb.test.TestBench.transaction_count:I
9: aload 0
bipush 10
putfield org.hsqldb.test.TestBench.n_clients:I
10: aload 0
bipush 10
putfield org.hsqldb.test.TestBench.n_txn_per_client:I
11: aload 0
iconst_0
putfield org.hsqldb.test.TestBench.check_updates:Z
12: aload 0
iconst_0
putfield org.hsqldb.test.TestBench.count_results:Z
13: aload 0
iconst_0
putfield org.hsqldb.test.TestBench.perform_special:Z
14: aload 0
lconst_0
putfield org.hsqldb.test.TestBench.start_time:J
15: aload 0
ldc ""
putfield org.hsqldb.test.TestBench.tableExtension:Ljava/lang/String;
16: aload 0
ldc ""
putfield org.hsqldb.test.TestBench.createExtension:Ljava/lang/String;
17: aload 0
ldc ""
putfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
18: aload 0
ldc "mvcc"
putfield org.hsqldb.test.TestBench.txmode:Ljava/lang/String;
19: aload 0
iconst_0
putfield org.hsqldb.test.TestBench.useStoredProcedure:Z
20: aload 0
iconst_1
putfield org.hsqldb.test.TestBench.verbose:Z
21: aload 0
iconst_0
putfield org.hsqldb.test.TestBench.selectOnly:Z
22: return
end local 0 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 0: ldc ""
astore 1
start local 1 1: ldc ""
astore 2
start local 2 2: ldc ""
astore 3
start local 3 3: ldc ""
astore 4
start local 4 4: iconst_1
istore 5
start local 5 5: new org.hsqldb.test.TestBench
dup
invokespecial org.hsqldb.test.TestBench.<init>:()V
astore 6
start local 6 6: iconst_0
istore 7
start local 7 7: goto 60
8: 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
iload 7
aaload
ldc "-clients"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
9: iload 7
iconst_1
iadd
aload 0
arraylength
if_icmpge 59
10: iinc 7 1
11: aload 6
aload 0
iload 7
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield org.hsqldb.test.TestBench.n_clients:I
12: goto 59
StackMap locals:
StackMap stack:
13: aload 0
iload 7
aaload
ldc "-driver"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
14: iload 7
iconst_1
iadd
aload 0
arraylength
if_icmpge 59
15: iinc 7 1
16: aload 0
iload 7
aaload
astore 1
17: goto 59
StackMap locals:
StackMap stack:
18: aload 0
iload 7
aaload
ldc "-url"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
19: iload 7
iconst_1
iadd
aload 0
arraylength
if_icmpge 59
20: iinc 7 1
21: aload 0
iload 7
aaload
astore 2
22: goto 59
StackMap locals:
StackMap stack:
23: aload 0
iload 7
aaload
ldc "-user"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 28
24: iload 7
iconst_1
iadd
aload 0
arraylength
if_icmpge 59
25: iinc 7 1
26: aload 0
iload 7
aaload
astore 3
27: goto 59
StackMap locals:
StackMap stack:
28: aload 0
iload 7
aaload
ldc "-password"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 33
29: iload 7
iconst_1
iadd
aload 0
arraylength
if_icmpge 59
30: iinc 7 1
31: aload 0
iload 7
aaload
astore 4
32: goto 59
StackMap locals:
StackMap stack:
33: aload 0
iload 7
aaload
ldc "-tpc"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 38
34: iload 7
iconst_1
iadd
aload 0
arraylength
if_icmpge 59
35: iinc 7 1
36: aload 6
aload 0
iload 7
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield org.hsqldb.test.TestBench.n_txn_per_client:I
37: goto 59
StackMap locals:
StackMap stack:
38: aload 0
iload 7
aaload
ldc "-init"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 41
39: iconst_1
istore 5
40: goto 59
StackMap locals:
StackMap stack:
41: aload 0
iload 7
aaload
ldc "-select"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 44
42: aload 6
iconst_1
putfield org.hsqldb.test.TestBench.selectOnly:Z
43: goto 59
StackMap locals:
StackMap stack:
44: aload 0
iload 7
aaload
ldc "-tps"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 49
45: iload 7
iconst_1
iadd
aload 0
arraylength
if_icmpge 59
46: iinc 7 1
47: aload 6
aload 0
iload 7
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield org.hsqldb.test.TestBench.tps:I
48: goto 59
StackMap locals:
StackMap stack:
49: aload 0
iload 7
aaload
ldc "-rounds"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 54
50: iload 7
iconst_1
iadd
aload 0
arraylength
if_icmpge 59
51: iinc 7 1
52: aload 6
aload 0
iload 7
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield org.hsqldb.test.TestBench.rounds:I
53: goto 59
StackMap locals:
StackMap stack:
54: aload 0
iload 7
aaload
ldc "-sp"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 57
55: aload 6
iconst_1
putfield org.hsqldb.test.TestBench.useStoredProcedure:Z
56: goto 59
StackMap locals:
StackMap stack:
57: aload 0
iload 7
aaload
ldc "-v"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 59
58: aload 6
iconst_1
putfield org.hsqldb.test.TestBench.verbose:Z
59: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
60: iload 7
aload 0
arraylength
if_icmplt 8
end local 7 61: aload 1
invokevirtual java.lang.String.length:()I
ifeq 62
aload 2
invokevirtual java.lang.String.length:()I
ifne 71
62: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
63: ldc "usage: java TestBench -driver [driver_class_name] -url [url_to_db] -user [username] -password [password] [-v] [-init] [-tpc n] [-clients n]"
64: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
65: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
66: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "-v verbose error messages"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
67: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "-init initialize the tables"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
68: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "-tpc transactions per client"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
69: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "-clients number of simultaneous clients"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
70: iconst_m1
invokestatic java.lang.System.exit:(I)V
71: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
72: ldc "*********************************************************"
73: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
74: getstatic java.lang.System.out:Ljava/io/PrintStream;
75: ldc "* TestBench v1.1 *"
76: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
77: getstatic java.lang.System.out:Ljava/io/PrintStream;
78: ldc "*********************************************************"
79: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
80: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
81: 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
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: 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
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: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
84: 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
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: 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
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: 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: aload 6
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: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
89: 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
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: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
91: aload 1
ldc "org.hsqldb.jdbc.JDBCDriver"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 93
92: aload 1
ldc "org.hsqldb.jdbcDriver"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 95
93: StackMap locals:
StackMap stack:
aload 2
ldc "mem:"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 95
94: aload 6
ldc "SHUTDOWN"
putfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
95: StackMap locals:
StackMap stack:
aload 1
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
pop
96: aload 6
aload 2
aload 3
aload 4
iload 5
invokevirtual org.hsqldb.test.TestBench.doBench:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
97: goto 101
StackMap locals:
StackMap stack: java.lang.Exception
98: astore 7
start local 7 99: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 7
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
100: aload 7
invokevirtual java.lang.Exception.printStackTrace:()V
end local 7 101: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
astore 6
start local 6 2: iload 4
ifeq 13
3: 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
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: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Initializing dataset..."
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
5: aload 0
aload 1
aload 2
aload 3
invokevirtual org.hsqldb.test.TestBench.createDatabase:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
6: invokestatic java.lang.System.currentTimeMillis:()J
aload 6
invokevirtual java.util.Date.getTime:()J
lsub
l2d
7: ldc 1000.0
8: ddiv
dstore 7
start local 7 9: 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
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: 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: 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: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 7 13: 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: aload 0
new org.hsqldb.test.TestBench$MemoryWatcherThread
dup
aload 0
invokespecial org.hsqldb.test.TestBench$MemoryWatcherThread.<init>:(Lorg/hsqldb/test/TestBench;)V
putfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
15: aload 0
getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.start:()V
16: aload 1
aload 2
aload 3
invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
astore 5
17: aload 0
aload 5
invokevirtual org.hsqldb.test.TestBench.checkSumsDetails:(Ljava/sql/Connection;)Z
istore 7
start local 7 18: iload 7
ifne 20
19: iconst_0
invokestatic java.lang.System.exit:(I)V
20: StackMap locals: int
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 8
start local 8 21: iconst_0
istore 10
start local 10 22: goto 25
23: StackMap locals: long int
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual org.hsqldb.test.TestBench.oneRound:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
24: iinc 10 1
StackMap locals:
StackMap stack:
25: iload 10
aload 0
getfield org.hsqldb.test.TestBench.rounds:I
if_icmplt 23
end local 10 26: invokestatic java.lang.System.currentTimeMillis:()J
lload 8
lsub
lstore 10
start local 10 27: invokestatic java.lang.System.currentTimeMillis:()J
lstore 8
28: aload 1
aload 2
aload 3
invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
astore 5
29: aload 0
aload 5
invokevirtual org.hsqldb.test.TestBench.checkSumsDetails:(Ljava/sql/Connection;)Z
pop
30: aload 5
invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
31: 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
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: 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: invokestatic java.lang.System.currentTimeMillis:()J
lload 8
lsub
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
34: ldc " milliseconds"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
35: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 10 end local 8 end local 7 end local 6 36: 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
start local 6 38: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 6
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: aload 6
invokevirtual java.lang.Exception.printStackTrace:()V
end local 6 40: aload 0
getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.end:()V
41: aload 0
getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.join:()V
42: aload 0
getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 72
43: aload 1
aload 2
aload 3
invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
astore 5
44: aload 5
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 13
start local 13 45: aload 13
aload 0
getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
46: aload 13
invokeinterface java.sql.Statement.close:()V
47: aload 5
invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
end local 13 48: goto 72
StackMap locals:
StackMap stack: java.lang.Exception
49: pop
goto 72
50: StackMap locals:
StackMap stack: java.lang.Throwable
astore 12
51: aload 0
getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.end:()V
52: aload 0
getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.join:()V
53: aload 0
getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 61
54: aload 1
aload 2
aload 3
invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
astore 5
55: aload 5
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 13
start local 13 56: aload 13
aload 0
getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
57: aload 13
invokeinterface java.sql.Statement.close:()V
58: aload 5
invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
end local 13 59: 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: StackMap locals:
StackMap stack:
aload 12
athrow
62: StackMap locals: org.hsqldb.test.TestBench java.lang.String java.lang.String java.lang.String int java.sql.Connection
StackMap stack:
aload 0
getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.end:()V
63: aload 0
getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.join:()V
64: aload 0
getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 72
65: aload 1
aload 2
aload 3
invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
astore 5
66: aload 5
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 13
start local 13 67: aload 13
aload 0
getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
68: aload 13
invokeinterface java.sql.Statement.close:()V
69: aload 5
invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
end local 13 70: goto 72
StackMap locals:
StackMap stack: java.lang.Exception
71: pop
72: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: aconst_null
astore 7
start local 7 4: aload 0
invokestatic java.lang.System.currentTimeMillis:()J
putfield org.hsqldb.test.TestBench.start_time:J
5: iconst_0
istore 8
start local 8 6: goto 20
7: 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
getfield org.hsqldb.test.TestBench.useStoredProcedure:Z
ifeq 13
8: new org.hsqldb.test.TestBench$ClientThreadProcedure
dup
aload 0
9: aload 0
getfield org.hsqldb.test.TestBench.n_txn_per_client:I
aload 1
aload 2
aload 3
10: iconst_2
11: invokespecial org.hsqldb.test.TestBench$ClientThreadProcedure.<init>:(Lorg/hsqldb/test/TestBench;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
astore 5
12: goto 17
13: StackMap locals:
StackMap stack:
new org.hsqldb.test.TestBench$ClientThread
dup
aload 0
aload 0
getfield org.hsqldb.test.TestBench.n_txn_per_client:I
aload 1
aload 2
aload 3
14: iconst_2
15: invokespecial org.hsqldb.test.TestBench$ClientThread.<init>:(Lorg/hsqldb/test/TestBench;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
16: astore 5
17: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.Thread.start:()V
18: aload 4
aload 5
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
19: iinc 8 1
StackMap locals:
StackMap stack:
20: iload 8
aload 0
getfield org.hsqldb.test.TestBench.n_clients:I
if_icmplt 7
end local 8 21: aload 4
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 6
22: goto 25
23: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.Thread
astore 5
24: aload 5
invokevirtual java.lang.Thread.join:()V
25: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 23
26: aload 4
invokevirtual java.util.Vector.removeAllElements:()V
27: aload 0
invokevirtual org.hsqldb.test.TestBench.reportDone:()V
28: aload 1
aload 2
aload 3
invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
astore 7
29: aload 0
getfield org.hsqldb.test.TestBench.count_results:Z
ifeq 31
30: aload 0
aload 7
invokevirtual org.hsqldb.test.TestBench.checkSumsDetails:(Ljava/sql/Connection;)Z
pop
31: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.test.TestBench.perform_special:Z
ifeq 33
32: aload 0
aload 7
invokevirtual org.hsqldb.test.TestBench.performSpecial:(Ljava/sql/Connection;)V
33: StackMap locals:
StackMap stack:
aload 7
invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
34: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: invokestatic java.lang.System.currentTimeMillis:()J
lstore 1
start local 1 1: lload 1
l2d
aload 0
getfield org.hsqldb.test.TestBench.start_time:J
l2d
dsub
2: ldc 1000.0
3: ddiv
dstore 3
start local 3 4: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\n* Benchmark Report *"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\n--------------------"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: 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
getfield org.hsqldb.test.TestBench.transaction_count:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
7: ldc " transactions: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
dload 3
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
8: ldc " seconds."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: 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: aload 0
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: aload 0
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: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 0
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
getfield org.hsqldb.test.TestBench.transaction_count:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
15: ldc " failed to complete."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: aload 0
getfield org.hsqldb.test.TestBench.transaction_count:I
aload 0
getfield org.hsqldb.test.TestBench.failed_transactions:I
isub
i2d
18: dload 3
19: ddiv
dstore 5
start local 5 20: 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
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: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
aload 0
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: aload 0
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: aload 0
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
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: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
25: aload 0
iconst_0
putfield org.hsqldb.test.TestBench.transaction_count:I
26: aload 0
iconst_0
putfield org.hsqldb.test.TestBench.failed_transactions:I
27: aload 0
getfield org.hsqldb.test.TestBench.MemoryWatcher:Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.reset:()V
28: return
end local 5 end local 3 end local 1 end local 0 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 0: aload 0
dup
getfield org.hsqldb.test.TestBench.transaction_count:I
iconst_1
iadd
putfield org.hsqldb.test.TestBench.transaction_count:I
1: return
end local 0 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 0: aload 0
dup
getfield org.hsqldb.test.TestBench.failed_transactions:I
iconst_1
iadd
putfield org.hsqldb.test.TestBench.failed_transactions:I
1: return
end local 0 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 start local 1 start local 2 start local 3 0: aload 1
aload 2
aload 3
invokestatic org.hsqldb.test.TestBench.connect:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
astore 4
start local 4 1: aload 4
invokeinterface java.sql.Connection.getMetaData:()Ljava/sql/DatabaseMetaData;
invokeinterface java.sql.DatabaseMetaData.getDatabaseProductName:()Ljava/lang/String;
astore 5
start local 5 2: 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
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: aload 4
iconst_0
invokeinterface java.sql.Connection.setAutoCommit:(Z)V
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "In transaction mode"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: 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: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 8: aload 4
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 7
start local 7 9: ldc "SELECT count(*) "
astore 8
start local 8 10: new java.lang.StringBuilder
dup
aload 8
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
11: aload 7
aload 8
invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 9
start local 9 12: aload 7
invokeinterface java.sql.Statement.clearWarnings:()V
13: goto 15
14: 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
iconst_1
invokeinterface java.sql.ResultSet.getInt:(I)I
istore 6
15: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.sql.ResultSet.next:()Z
ifne 14
16: aload 4
invokeinterface java.sql.Connection.commit:()V
17: aload 7
invokeinterface java.sql.Statement.close:()V
18: iload 6
aload 0
getfield org.hsqldb.test.TestBench.naccounts:I
aload 0
getfield org.hsqldb.test.TestBench.tps:I
imul
if_icmpne 23
19: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Already initialized"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
20: aload 4
invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
21: return
end local 9 end local 8 end local 7 end local 6 22: 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: 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: aload 4
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 6
start local 6 25: aload 1
ldc "hsqldb"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 30
26: ldc "DROP PROCEDURE UPDATE_PROC"
astore 7
start local 7 27: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
28: goto 30
end local 7 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: StackMap locals:
StackMap stack:
ldc "DROP TABLE history"
astore 7
start local 7 31: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
32: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
33: ldc "DROP TABLE accounts"
astore 7
34: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
35: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
36: ldc "DROP TABLE tellers"
astore 7
37: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
38: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
39: ldc "DROP TABLE branches"
astore 7
40: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
41: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
42: aload 4
invokeinterface java.sql.Connection.commit:()V
43: aload 6
invokeinterface java.sql.Statement.close:()V
end local 7 end local 6 44: 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: 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: aload 4
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 6
start local 6 48: ldc "SET FILES SPACE 1"
astore 7
start local 7 49: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
50: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
51: ldc "CREATE TABLE branches ( Bid INTEGER NOT NULL PRIMARY KEY, Bbalance BIGINT,filler VARCHAR(88))"
astore 7
52: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
53: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
54: ldc "CREATE TABLE tellers (Tid INTEGER NOT NULL PRIMARY KEY,Bid INTEGER,Tbalance INTEGER,filler VARCHAR(84))"
astore 7
55: aload 0
getfield org.hsqldb.test.TestBench.createExtension:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 57
56: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
57: StackMap locals: java.sql.Statement java.lang.String
StackMap stack:
aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
58: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
59: ldc "CREATE TABLE accounts (Aid INTEGER NOT NULL PRIMARY KEY, Bid INTEGER, Abalance INTEGER, filler VARCHAR(84))"
astore 7
60: aload 0
getfield org.hsqldb.test.TestBench.createExtension:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 62
61: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
62: StackMap locals:
StackMap stack:
aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
63: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
64: ldc "SET TABLE accounts NEW SPACE"
astore 7
65: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
66: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
67: ldc "CREATE TABLE history (Tid INTEGER, Bid INTEGER, Aid INTEGER, delta INTEGER, tstime TIMESTAMP, filler VARCHAR(22))"
astore 7
68: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
69: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
70: ldc "SET TABLE history NEW SPACE"
astore 7
71: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
72: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
73: 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: astore 7
75: aload 1
ldc "hsqldb"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 80
76: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
77: goto 80
StackMap locals:
StackMap stack: java.sql.SQLException
78: astore 8
start local 8 79: aload 8
invokevirtual java.sql.SQLException.printStackTrace:()V
end local 8 80: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.sql.Connection.commit:()V
81: aload 6
invokeinterface java.sql.Statement.close:()V
end local 7 end local 6 82: 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: getstatic java.lang.System.out:Ljava/io/PrintStream;
85: ldc "Delete elements in table in case Drop didn't work"
86: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
87: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 6
start local 6 88: ldc "DELETE FROM history"
astore 7
start local 7 89: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
90: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
91: ldc "DELETE FROM accounts"
astore 7
92: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
93: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
94: ldc "DELETE FROM tellers"
astore 7
95: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
96: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
97: ldc "DELETE FROM branches"
astore 7
98: aload 6
aload 7
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
99: aload 6
invokeinterface java.sql.Statement.clearWarnings:()V
100: aload 4
invokeinterface java.sql.Connection.commit:()V
101: aconst_null
astore 8
start local 8 102: ldc "INSERT INTO branches(Bid,Bbalance) VALUES (?,0)"
astore 7
103: aload 4
aload 7
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 8
104: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Insert data in branches table"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
105: iconst_0
istore 9
start local 9 106: goto 113
107: 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
iconst_1
iload 9
invokeinterface java.sql.PreparedStatement.setInt:(II)V
108: aload 8
invokeinterface java.sql.PreparedStatement.executeUpdate:()I
pop
109: aload 8
invokeinterface java.sql.PreparedStatement.clearWarnings:()V
110: iload 9
bipush 100
irem
ifne 112
111: aload 4
invokeinterface java.sql.Connection.commit:()V
112: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
113: iload 9
aload 0
getfield org.hsqldb.test.TestBench.nbranches:I
aload 0
getfield org.hsqldb.test.TestBench.tps:I
imul
if_icmplt 107
end local 9 114: aload 8
invokeinterface java.sql.PreparedStatement.close:()V
115: aload 4
invokeinterface java.sql.Connection.commit:()V
116: ldc "INSERT INTO tellers(Tid,Bid,Tbalance) VALUES (?,?,0)"
astore 7
117: aload 4
aload 7
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 8
118: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Insert data in tellers table"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
119: iconst_0
istore 9
start local 9 120: goto 128
121: StackMap locals:
StackMap stack:
aload 8
iconst_1
iload 9
invokeinterface java.sql.PreparedStatement.setInt:(II)V
122: aload 8
iconst_2
iload 9
aload 0
getfield org.hsqldb.test.TestBench.ntellers:I
idiv
invokeinterface java.sql.PreparedStatement.setInt:(II)V
123: aload 8
invokeinterface java.sql.PreparedStatement.executeUpdate:()I
pop
124: aload 8
invokeinterface java.sql.PreparedStatement.clearWarnings:()V
125: iload 9
bipush 100
irem
ifne 127
126: aload 4
invokeinterface java.sql.Connection.commit:()V
127: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
128: iload 9
aload 0
getfield org.hsqldb.test.TestBench.ntellers:I
aload 0
getfield org.hsqldb.test.TestBench.tps:I
imul
if_icmplt 121
end local 9 129: aload 8
invokeinterface java.sql.PreparedStatement.close:()V
130: aload 4
invokeinterface java.sql.Connection.commit:()V
131: ldc "INSERT INTO accounts(Aid,Bid,Abalance) VALUES (?,?,0)"
astore 7
132: aload 4
aload 7
invokeinterface java.sql.Connection.prepareStatement:(Ljava/lang/String;)Ljava/sql/PreparedStatement;
astore 8
133: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Insert data in accounts table"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
134: iconst_0
istore 9
start local 9 135: goto 145
136: StackMap locals:
StackMap stack:
aload 8
iconst_1
iload 9
invokeinterface java.sql.PreparedStatement.setInt:(II)V
137: aload 8
iconst_2
iload 9
aload 0
getfield org.hsqldb.test.TestBench.naccounts:I
idiv
invokeinterface java.sql.PreparedStatement.setInt:(II)V
138: aload 8
invokeinterface java.sql.PreparedStatement.executeUpdate:()I
pop
139: aload 8
invokeinterface java.sql.PreparedStatement.clearWarnings:()V
140: iload 9
sipush 10000
irem
ifne 142
141: aload 4
invokeinterface java.sql.Connection.commit:()V
142: StackMap locals:
StackMap stack:
iload 9
ifle 144
iload 9
ldc 100000
irem
ifne 144
143: 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
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: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
145: iload 9
aload 0
getfield org.hsqldb.test.TestBench.naccounts:I
aload 0
getfield org.hsqldb.test.TestBench.tps:I
imul
if_icmplt 136
end local 9 146: aload 8
invokeinterface java.sql.PreparedStatement.close:()V
147: aload 4
invokeinterface java.sql.Connection.commit:()V
148: 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
getfield org.hsqldb.test.TestBench.naccounts:I
aload 0
getfield org.hsqldb.test.TestBench.tps:I
imul
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
149: ldc "\t records inserted"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
150: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
151: aload 0
getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 154
152: aload 6
aload 0
getfield org.hsqldb.test.TestBench.shutdownCommand:Ljava/lang/String;
invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
pop
153: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "database shutdown"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
154: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.sql.Statement.close:()V
end local 8 end local 7 end local 6 155: 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
start local 6 157: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 6
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
158: aload 6
invokevirtual java.lang.Exception.printStackTrace:()V
end local 6 159: StackMap locals:
StackMap stack:
aload 4
invokestatic org.hsqldb.test.TestBench.connectClose:(Ljava/sql/Connection;)V
160: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: iconst_0
istore 2
start local 2 1: invokestatic java.lang.Math.random:()D
iload 1
iload 0
isub
iconst_1
iadd
i2d
dmul
d2i
istore 2
2: iload 2
iload 0
iadd
istore 2
3: iload 2
ireturn
end local 2 end local 1 end local 0 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 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield org.hsqldb.test.TestBench.naccounts:I
aload 0
getfield org.hsqldb.test.TestBench.tps:I
imul
iconst_1
isub
istore 3
start local 3 2: iload 2
iload 3
invokestatic org.hsqldb.test.TestBench.getRandomInt:(II)I
istore 4
start local 4 3: iload 1
tableswitch { // 0 - 0
0: 4
default: 6
}
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield org.hsqldb.test.TestBench.ntellers:I
aload 0
getfield org.hsqldb.test.TestBench.tps:I
imul
iconst_1
isub
istore 3
5: iload 2
iload 3
invokestatic org.hsqldb.test.TestBench.getRandomInt:(II)I
ireturn
6: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
1: aload 2
2: invokestatic java.sql.DriverManager.getConnection:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
astore 3
start local 3 3: aload 3
4: areturn
end local 3 5: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 6: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 3
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: aload 3
invokevirtual java.lang.Exception.printStackTrace:()V
end local 3 8: aconst_null
areturn
end local 2 end local 1 end local 0 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 0: aload 0
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.sql.Connection.close:()V
3: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
4: astore 1
start local 1 5: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 1
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: aload 1
invokevirtual java.lang.Exception.printStackTrace:()V
end local 1 7: StackMap locals:
StackMap stack:
return
end local 0 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 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: iconst_0
istore 10
start local 10 3: aload 1
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 2
4: aload 2
ldc "select sum(bbalance) from branches"
invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 3
5: aload 3
invokeinterface java.sql.ResultSet.next:()Z
pop
6: aload 3
iconst_1
invokeinterface java.sql.ResultSet.getInt:(I)I
istore 4
start local 4 7: aload 3
invokeinterface java.sql.ResultSet.close:()V
8: aload 2
ldc "select sum(tbalance) from tellers"
invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 3
9: aload 3
invokeinterface java.sql.ResultSet.next:()Z
pop
10: aload 3
iconst_1
invokeinterface java.sql.ResultSet.getInt:(I)I
istore 5
start local 5 11: aload 3
invokeinterface java.sql.ResultSet.close:()V
12: aload 2
13: ldc "select sum(abalance), count(abalance) from accounts"
14: invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 3
15: aload 3
invokeinterface java.sql.ResultSet.next:()Z
pop
16: aload 3
iconst_1
invokeinterface java.sql.ResultSet.getInt:(I)I
istore 6
start local 6 17: aload 3
iconst_2
invokeinterface java.sql.ResultSet.getInt:(I)I
istore 7
start local 7 18: aload 3
invokeinterface java.sql.ResultSet.close:()V
19: aload 2
ldc "select sum(delta) from history"
invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 3
20: aload 3
invokeinterface java.sql.ResultSet.next:()Z
pop
21: aload 3
iconst_1
invokeinterface java.sql.ResultSet.getInt:(I)I
i2l
lstore 8
start local 8 22: aload 3
invokeinterface java.sql.ResultSet.close:()V
23: aconst_null
astore 3
24: aload 2
invokeinterface java.sql.Statement.close:()V
25: aconst_null
astore 2
26: aload 1
invokeinterface java.sql.Connection.commit:()V
27: iload 6
iload 4
if_icmpne 29
iload 4
iload 5
if_icmpne 29
28: iload 5
i2l
lload 8
lcmp
ifeq 31
29: 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: goto 33
31: 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: iconst_1
istore 10
33: 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
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " A "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
34: ldc " B "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " T "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
35: ldc " H "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 8
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
37: goto 42
end local 8 end local 7 end local 6 end local 5 end local 4 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: aload 2
ifnull 41
40: aload 2
invokeinterface java.sql.Statement.close:()V
41: StackMap locals: java.lang.Throwable
StackMap stack:
aload 11
athrow
start local 4 start local 5 start local 6 start local 7 start local 8 42: 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
ifnull 44
43: aload 2
invokeinterface java.sql.Statement.close:()V
44: StackMap locals:
StackMap stack:
iload 10
ireturn
end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 1
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 2
3: aload 2
4: ldc "select sum(bbalance), count(bbalance) from branches"
5: invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 3
6: aload 3
invokeinterface java.sql.ResultSet.next:()Z
pop
7: aload 3
iconst_1
invokeinterface java.sql.ResultSet.getInt:(I)I
istore 4
start local 4 8: aload 3
iconst_2
invokeinterface java.sql.ResultSet.getInt:(I)I
istore 5
start local 5 9: aload 3
invokeinterface java.sql.ResultSet.close:()V
10: aload 2
ldc "select sum(tbalance) from tellers"
invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 3
11: aload 3
invokeinterface java.sql.ResultSet.next:()Z
pop
12: aload 3
iconst_1
invokeinterface java.sql.ResultSet.getInt:(I)I
istore 6
start local 6 13: aload 3
invokeinterface java.sql.ResultSet.close:()V
14: aload 2
15: ldc "select sum(abalance), count(abalance) from accounts"
16: invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 3
17: aload 3
invokeinterface java.sql.ResultSet.next:()Z
pop
18: aload 3
iconst_1
invokeinterface java.sql.ResultSet.getInt:(I)I
istore 7
start local 7 19: aload 3
iconst_2
invokeinterface java.sql.ResultSet.getInt:(I)I
istore 8
start local 8 20: aload 3
invokeinterface java.sql.ResultSet.close:()V
21: aload 2
22: ldc "select sum(delta), count(delta) from history"
23: invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
astore 3
24: aload 3
invokeinterface java.sql.ResultSet.next:()Z
pop
25: aload 3
iconst_1
invokeinterface java.sql.ResultSet.getLong:(I)J
lstore 9
start local 9 26: aload 3
iconst_2
invokeinterface java.sql.ResultSet.getLong:(I)J
lstore 11
start local 11 27: aload 3
invokeinterface java.sql.ResultSet.close:()V
28: aconst_null
astore 3
29: aload 2
invokeinterface java.sql.Statement.close:()V
30: aconst_null
astore 2
31: aload 1
invokeinterface java.sql.Connection.commit:()V
32: iload 7
iload 4
if_icmpne 34
iload 4
iload 6
if_icmpne 34
33: iload 6
i2l
lload 9
lcmp
ifeq 37
34: 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
start local 13 35: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "sums don't match!"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
36: goto 39
end local 13 37: StackMap locals:
StackMap stack:
iconst_1
istore 13
start local 13 38: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "sums match!"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: 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
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " A "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
40: ldc " BC "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " B "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
41: ldc " T "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " HC "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 11
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
42: ldc " H "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 9
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
43: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
44: iload 13
istore 15
45: aload 2
ifnull 47
46: aload 2
invokeinterface java.sql.Statement.close:()V
47: 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 end local 11 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 48: StackMap locals: org.hsqldb.test.TestBench java.sql.Connection java.sql.Statement java.sql.ResultSet
StackMap stack: java.lang.Throwable
astore 14
49: aload 2
ifnull 51
50: aload 2
invokeinterface java.sql.Statement.close:()V
51: 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 end local 2 end local 1 end local 0 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 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
astore 2
2: aload 2
new java.lang.StringBuilder
dup
ldc "set database transaction control "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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: 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
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: aload 0
getfield org.hsqldb.test.TestBench.txmode:Ljava/lang/String;
ldc "mvcc"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 0
ldc "locks"
putfield org.hsqldb.test.TestBench.txmode:Ljava/lang/String;
6: goto 13
7: StackMap locals: java.sql.Statement
StackMap stack:
aload 0
ldc "mvcc"
putfield org.hsqldb.test.TestBench.txmode:Ljava/lang/String;
8: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
10: aload 2
ifnull 12
11: aload 2
invokeinterface java.sql.Statement.close:()V
12: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
athrow
13: StackMap locals:
StackMap stack:
aload 2
ifnull 15
14: aload 2
invokeinterface java.sql.Statement.close:()V
15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 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