public class org.hsqldb.sample.Testdb
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.sample.Testdb
  super_class: java.lang.Object
{
  java.sql.Connection conn;
    descriptor: Ljava/sql/Connection;
    flags: (0x0000) 

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hsqldb.sample.Testdb this
        start local 1 // java.lang.String db_file_name_prefix
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            ldc "org.hsqldb.jdbc.JDBCDriver"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            pop
         2: .line 68
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "jdbc:hsqldb:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 69
            aload 1 /* db_file_name_prefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 70
            ldc "SA"
         5: .line 71
            ldc ""
         6: .line 68
            invokestatic java.sql.DriverManager.getConnection:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
            putfield org.hsqldb.sample.Testdb.conn:Ljava/sql/Connection;
         7: .line 72
            return
        end local 1 // java.lang.String db_file_name_prefix
        end local 0 // org.hsqldb.sample.Testdb this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Lorg/hsqldb/sample/Testdb;
            0    8     1  db_file_name_prefix  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                     Name  Flags
      db_file_name_prefix  

  public void shutdown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hsqldb.sample.Testdb this
         0: .line 76
            aload 0 /* this */
            getfield org.hsqldb.sample.Testdb.conn:Ljava/sql/Connection;
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 1 /* st */
        start local 1 // java.sql.Statement st
         1: .line 81
            aload 1 /* st */
            ldc "SHUTDOWN"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         2: .line 82
            aload 0 /* this */
            getfield org.hsqldb.sample.Testdb.conn:Ljava/sql/Connection;
            invokeinterface java.sql.Connection.close:()V
         3: .line 83
            return
        end local 1 // java.sql.Statement st
        end local 0 // org.hsqldb.sample.Testdb this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hsqldb/sample/Testdb;
            1    4     1    st  Ljava/sql/Statement;
    Exceptions:
      throws java.sql.SQLException

  public synchronized void query(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.hsqldb.sample.Testdb this
        start local 1 // java.lang.String expression
         0: .line 88
            aconst_null
            astore 2 /* st */
        start local 2 // java.sql.Statement st
         1: .line 89
            aconst_null
            astore 3 /* rs */
        start local 3 // java.sql.ResultSet rs
         2: .line 91
            aload 0 /* this */
            getfield org.hsqldb.sample.Testdb.conn:Ljava/sql/Connection;
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 2 /* st */
         3: .line 95
            aload 2 /* st */
            aload 1 /* expression */
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
         4: .line 98
            aload 3 /* rs */
            invokestatic org.hsqldb.sample.Testdb.dump:(Ljava/sql/ResultSet;)V
         5: .line 99
            aload 2 /* st */
            invokeinterface java.sql.Statement.close:()V
         6: .line 106
            return
        end local 3 // java.sql.ResultSet rs
        end local 2 // java.sql.Statement st
        end local 1 // java.lang.String expression
        end local 0 // org.hsqldb.sample.Testdb this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/hsqldb/sample/Testdb;
            0    7     1  expression  Ljava/lang/String;
            1    7     2          st  Ljava/sql/Statement;
            2    7     3          rs  Ljava/sql/ResultSet;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
            Name  Flags
      expression  

  public synchronized void update(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.hsqldb.sample.Testdb this
        start local 1 // java.lang.String expression
         0: .line 111
            aconst_null
            astore 2 /* st */
        start local 2 // java.sql.Statement st
         1: .line 113
            aload 0 /* this */
            getfield org.hsqldb.sample.Testdb.conn:Ljava/sql/Connection;
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 2 /* st */
         2: .line 115
            aload 2 /* st */
            aload 1 /* expression */
            invokeinterface java.sql.Statement.executeUpdate:(Ljava/lang/String;)I
            istore 3 /* i */
        start local 3 // int i
         3: .line 117
            iload 3 /* i */
            iconst_m1
            if_icmpne 5
         4: .line 118
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "db error : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* expression */
            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
         5: .line 121
      StackMap locals: java.sql.Statement int
      StackMap stack:
            aload 2 /* st */
            invokeinterface java.sql.Statement.close:()V
         6: .line 122
            return
        end local 3 // int i
        end local 2 // java.sql.Statement st
        end local 1 // java.lang.String expression
        end local 0 // org.hsqldb.sample.Testdb this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/hsqldb/sample/Testdb;
            0    7     1  expression  Ljava/lang/String;
            1    7     2          st  Ljava/sql/Statement;
            3    7     3           i  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
            Name  Flags
      expression  

  public static void dump(java.sql.ResultSet);
    descriptor: (Ljava/sql/ResultSet;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.sql.ResultSet rs
         0: .line 128
            aload 0 /* rs */
            invokeinterface java.sql.ResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
            astore 1 /* meta */
        start local 1 // java.sql.ResultSetMetaData meta
         1: .line 129
            aload 1 /* meta */
            invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
            istore 2 /* colmax */
        start local 2 // int colmax
         2: .line 131
            aconst_null
            astore 4 /* o */
        start local 4 // java.lang.Object o
         3: .line 138
            goto 11
         4: .line 139
      StackMap locals: java.sql.ResultSet java.sql.ResultSetMetaData int top java.lang.Object
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 9
         6: .line 140
      StackMap locals: java.sql.ResultSet java.sql.ResultSetMetaData int int java.lang.Object
      StackMap stack:
            aload 0 /* rs */
            iload 3 /* i */
            iconst_1
            iadd
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            astore 4 /* o */
         7: .line 143
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 4 /* o */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         8: .line 139
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* colmax */
            if_icmplt 6
        10: .line 146
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc " "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // int i
        11: .line 138
      StackMap locals: java.sql.ResultSet java.sql.ResultSetMetaData int top java.lang.Object
      StackMap stack:
            aload 0 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 4
        12: .line 148
            return
        end local 4 // java.lang.Object o
        end local 2 // int colmax
        end local 1 // java.sql.ResultSetMetaData meta
        end local 0 // java.sql.ResultSet rs
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0      rs  Ljava/sql/ResultSet;
            1   13     1    meta  Ljava/sql/ResultSetMetaData;
            2   13     2  colmax  I
            5   11     3       i  I
            3   13     4       o  Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      rs    

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 152
            aconst_null
            astore 1 /* db */
        start local 1 // org.hsqldb.sample.Testdb db
         1: .line 155
            new org.hsqldb.sample.Testdb
            dup
            ldc "db_file"
            invokespecial org.hsqldb.sample.Testdb.<init>:(Ljava/lang/String;)V
            astore 1 /* db */
         2: .line 156
            goto 6
      StackMap locals: java.lang.String[] org.hsqldb.sample.Testdb
      StackMap stack: java.lang.Exception
         3: astore 2 /* ex1 */
        start local 2 // java.lang.Exception ex1
         4: .line 157
            aload 2 /* ex1 */
            invokevirtual java.lang.Exception.printStackTrace:()V
         5: .line 159
            return
        end local 2 // java.lang.Exception ex1
         6: .line 168
      StackMap locals:
      StackMap stack:
            aload 1 /* db */
         7: .line 169
            ldc "CREATE TABLE sample_table ( id INTEGER IDENTITY, str_col VARCHAR(256), num_col INTEGER)"
         8: .line 168
            invokevirtual org.hsqldb.sample.Testdb.update:(Ljava/lang/String;)V
         9: .line 170
            goto 11
      StackMap locals:
      StackMap stack: java.sql.SQLException
        10: pop
        11: .line 184
      StackMap locals:
      StackMap stack:
            aload 1 /* db */
        12: .line 185
            ldc "INSERT INTO sample_table(str_col,num_col) VALUES('Ford', 100)"
        13: .line 184
            invokevirtual org.hsqldb.sample.Testdb.update:(Ljava/lang/String;)V
        14: .line 186
            aload 1 /* db */
        15: .line 187
            ldc "INSERT INTO sample_table(str_col,num_col) VALUES('Toyota', 200)"
        16: .line 186
            invokevirtual org.hsqldb.sample.Testdb.update:(Ljava/lang/String;)V
        17: .line 188
            aload 1 /* db */
        18: .line 189
            ldc "INSERT INTO sample_table(str_col,num_col) VALUES('Honda', 300)"
        19: .line 188
            invokevirtual org.hsqldb.sample.Testdb.update:(Ljava/lang/String;)V
        20: .line 190
            aload 1 /* db */
        21: .line 191
            ldc "INSERT INTO sample_table(str_col,num_col) VALUES('GM', 400)"
        22: .line 190
            invokevirtual org.hsqldb.sample.Testdb.update:(Ljava/lang/String;)V
        23: .line 194
            aload 1 /* db */
            ldc "SELECT * FROM sample_table WHERE num_col < 250"
            invokevirtual org.hsqldb.sample.Testdb.query:(Ljava/lang/String;)V
        24: .line 197
            aload 1 /* db */
            invokevirtual org.hsqldb.sample.Testdb.shutdown:()V
        25: .line 198
            goto 28
      StackMap locals:
      StackMap stack: java.sql.SQLException
        26: astore 2 /* ex3 */
        start local 2 // java.sql.SQLException ex3
        27: .line 199
            aload 2 /* ex3 */
            invokevirtual java.sql.SQLException.printStackTrace:()V
        end local 2 // java.sql.SQLException ex3
        28: .line 201
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hsqldb.sample.Testdb db
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   29     0  args  [Ljava/lang/String;
            1   29     1    db  Lorg/hsqldb/sample/Testdb;
            4    6     2   ex1  Ljava/lang/Exception;
           27   28     2   ex3  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
           6     9      10  Class java.sql.SQLException
          11    25      26  Class java.sql.SQLException
    MethodParameters:
      Name  Flags
      args  
}
SourceFile: "Testdb.java"