public class org.hsqldb.test.TestHarness extends javax.swing.JFrame
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.test.TestHarness
  super_class: javax.swing.JFrame
{
  protected java.lang.String dbURL;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected javax.swing.JTextArea textArea;
    descriptor: Ljavax/swing/JTextArea;
    flags: (0x0004) ACC_PROTECTED

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 72
            aload 0 /* args */
            arraylength
            ifne 2
         1: .line 73
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "testrecovery"
            aastore
            astore 0 /* args */
         2: .line 77
      StackMap locals:
      StackMap stack:
            ldc "org.hsqldb.jdbc.JDBCDriver"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            pop
         3: .line 78
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: astore 1 /* e */
        start local 1 // java.lang.Exception e
         5: .line 79
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "ERROR: failed to load HSQLDB JDBC driver."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 80
            aload 1 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
         7: .line 82
            return
        end local 1 // java.lang.Exception e
         8: .line 85
      StackMap locals:
      StackMap stack:
            new org.hsqldb.test.TestHarness
            new java.lang.StringBuilder
            dup
            ldc "jdbc:hsqldb:file:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* args */
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hsqldb.test.TestHarness.<init>:(Ljava/lang/String;)V
         9: .line 86
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  args  [Ljava/lang/String;
            5    8     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      args  

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hsqldb.test.TestHarness this
        start local 1 // java.lang.String url
         0: .line 90
            aload 0 /* this */
            ldc "HSQLDB Test Harness"
            invokespecial javax.swing.JFrame.<init>:(Ljava/lang/String;)V
         1: .line 92
            aload 0 /* this */
            aload 1 /* url */
            putfield org.hsqldb.test.TestHarness.dbURL:Ljava/lang/String;
         2: .line 94
            aload 0 /* this */
            iconst_0
            invokevirtual org.hsqldb.test.TestHarness.setDefaultCloseOperation:(I)V
         3: .line 95
            aload 0 /* this */
            new org.hsqldb.test.TestHarness$1
            dup
            aload 0 /* this */
            invokespecial org.hsqldb.test.TestHarness$1.<init>:(Lorg/hsqldb/test/TestHarness;)V
            invokevirtual org.hsqldb.test.TestHarness.addWindowListener:(Ljava/awt/event/WindowListener;)V
         4: .line 101
            aload 0 /* this */
            invokevirtual org.hsqldb.test.TestHarness.initComponents:()V
         5: .line 102
            aload 0 /* this */
            sipush 400
            sipush 400
            invokevirtual org.hsqldb.test.TestHarness.setSize:(II)V
         6: .line 103
            aload 0 /* this */
            sipush 200
            sipush 200
            invokevirtual org.hsqldb.test.TestHarness.setLocation:(II)V
         7: .line 104
            aload 0 /* this */
            iconst_1
            invokevirtual org.hsqldb.test.TestHarness.setVisible:(Z)V
         8: .line 107
            aload 0 /* this */
            ldc "sa"
            ldc "password"
            iconst_1
            invokevirtual org.hsqldb.test.TestHarness.getConnection:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/sql/Connection;
            astore 2 /* c */
        start local 2 // java.sql.Connection c
         9: .line 109
            aload 0 /* this */
            getfield org.hsqldb.test.TestHarness.textArea:Ljavax/swing/JTextArea;
            ldc "Database already exists."
            invokevirtual javax.swing.JTextArea.setText:(Ljava/lang/String;)V
        10: .line 110
            aload 2 /* c */
            invokeinterface java.sql.Connection.close:()V
        end local 2 // java.sql.Connection c
        11: .line 111
            goto 14
      StackMap locals: org.hsqldb.test.TestHarness java.lang.String
      StackMap stack: java.sql.SQLException
        12: pop
        13: .line 112
            aload 0 /* this */
            invokevirtual org.hsqldb.test.TestHarness.doCreate:()V
        14: .line 114
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String url
        end local 0 // org.hsqldb.test.TestHarness this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/hsqldb/test/TestHarness;
            0   15     1   url  Ljava/lang/String;
            9   11     2     c  Ljava/sql/Connection;
      Exception table:
        from    to  target  type
           8    11      12  Class java.sql.SQLException
    MethodParameters:
      Name  Flags
      url   

  protected void initComponents();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.hsqldb.test.TestHarness this
         0: .line 118
            aload 0 /* this */
            invokevirtual org.hsqldb.test.TestHarness.getContentPane:()Ljava/awt/Container;
            astore 1 /* main */
        start local 1 // java.awt.Container main
         1: .line 120
            aload 0 /* this */
            new javax.swing.JTextArea
            dup
            invokespecial javax.swing.JTextArea.<init>:()V
            putfield org.hsqldb.test.TestHarness.textArea:Ljavax/swing/JTextArea;
         2: .line 122
            new javax.swing.JPanel
            dup
            new java.awt.FlowLayout
            dup
            invokespecial java.awt.FlowLayout.<init>:()V
            invokespecial javax.swing.JPanel.<init>:(Ljava/awt/LayoutManager;)V
            astore 2 /* buttons */
        start local 2 // javax.swing.JPanel buttons
         3: .line 123
            new javax.swing.JButton
            dup
            ldc "Close Gracefully"
            invokespecial javax.swing.JButton.<init>:(Ljava/lang/String;)V
            astore 3 /* close */
        start local 3 // javax.swing.JButton close
         4: .line 125
            aload 3 /* close */
            new org.hsqldb.test.TestHarness$2
            dup
            aload 0 /* this */
            invokespecial org.hsqldb.test.TestHarness$2.<init>:(Lorg/hsqldb/test/TestHarness;)V
            invokevirtual javax.swing.JButton.addActionListener:(Ljava/awt/event/ActionListener;)V
         5: .line 132
            new javax.swing.JButton
            dup
            ldc "Add Row"
            invokespecial javax.swing.JButton.<init>:(Ljava/lang/String;)V
            astore 4 /* create */
        start local 4 // javax.swing.JButton create
         6: .line 134
            aload 4 /* create */
            new org.hsqldb.test.TestHarness$3
            dup
            aload 0 /* this */
            invokespecial org.hsqldb.test.TestHarness$3.<init>:(Lorg/hsqldb/test/TestHarness;)V
            invokevirtual javax.swing.JButton.addActionListener:(Ljava/awt/event/ActionListener;)V
         7: .line 141
            new javax.swing.JButton
            dup
            ldc "List Data"
            invokespecial javax.swing.JButton.<init>:(Ljava/lang/String;)V
            astore 5 /* list */
        start local 5 // javax.swing.JButton list
         8: .line 143
            aload 5 /* list */
            new org.hsqldb.test.TestHarness$4
            dup
            aload 0 /* this */
            invokespecial org.hsqldb.test.TestHarness$4.<init>:(Lorg/hsqldb/test/TestHarness;)V
            invokevirtual javax.swing.JButton.addActionListener:(Ljava/awt/event/ActionListener;)V
         9: .line 150
            new javax.swing.JButton
            dup
            ldc "Kill"
            invokespecial javax.swing.JButton.<init>:(Ljava/lang/String;)V
            astore 6 /* kill */
        start local 6 // javax.swing.JButton kill
        10: .line 152
            aload 6 /* kill */
            new org.hsqldb.test.TestHarness$5
            dup
            aload 0 /* this */
            invokespecial org.hsqldb.test.TestHarness$5.<init>:(Lorg/hsqldb/test/TestHarness;)V
            invokevirtual javax.swing.JButton.addActionListener:(Ljava/awt/event/ActionListener;)V
        11: .line 158
            aload 2 /* buttons */
            aload 4 /* create */
            invokevirtual javax.swing.JPanel.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        12: .line 159
            aload 2 /* buttons */
            aload 5 /* list */
            invokevirtual javax.swing.JPanel.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        13: .line 160
            aload 2 /* buttons */
            aload 6 /* kill */
            invokevirtual javax.swing.JPanel.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        14: .line 161
            aload 2 /* buttons */
            aload 3 /* close */
            invokevirtual javax.swing.JPanel.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        15: .line 162
            aload 1 /* main */
            new javax.swing.JScrollPane
            dup
            aload 0 /* this */
            getfield org.hsqldb.test.TestHarness.textArea:Ljavax/swing/JTextArea;
            invokespecial javax.swing.JScrollPane.<init>:(Ljava/awt/Component;)V
            ldc "Center"
            invokevirtual java.awt.Container.add:(Ljava/awt/Component;Ljava/lang/Object;)V
        16: .line 163
            aload 1 /* main */
            aload 2 /* buttons */
            ldc "South"
            invokevirtual java.awt.Container.add:(Ljava/awt/Component;Ljava/lang/Object;)V
        17: .line 164
            return
        end local 6 // javax.swing.JButton kill
        end local 5 // javax.swing.JButton list
        end local 4 // javax.swing.JButton create
        end local 3 // javax.swing.JButton close
        end local 2 // javax.swing.JPanel buttons
        end local 1 // java.awt.Container main
        end local 0 // org.hsqldb.test.TestHarness this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lorg/hsqldb/test/TestHarness;
            1   18     1     main  Ljava/awt/Container;
            3   18     2  buttons  Ljavax/swing/JPanel;
            4   18     3    close  Ljavax/swing/JButton;
            6   18     4   create  Ljavax/swing/JButton;
            8   18     5     list  Ljavax/swing/JButton;
           10   18     6     kill  Ljavax/swing/JButton;

  protected void doInsert();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.hsqldb.test.TestHarness this
         0: .line 169
            aload 0 /* this */
            ldc "ABCD"
            ldc "dcba"
            iconst_0
            invokevirtual org.hsqldb.test.TestHarness.getConnection:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/sql/Connection;
            astore 1 /* con */
        start local 1 // java.sql.Connection con
         1: .line 171
            aload 1 /* con */
            ifnull 17
         2: .line 172
            aload 1 /* con */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 2 /* stmt */
        start local 2 // java.sql.Statement stmt
         3: .line 173
            aload 2 /* stmt */
         4: .line 174
            ldc "SELECT NEXT VALUE FOR MySeq FROM Dummy"
         5: .line 173
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
        start local 3 // java.sql.ResultSet rs
         6: .line 176
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            pop
         7: .line 178
            aload 3 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 4 /* id */
        start local 4 // int id
         8: .line 180
            aload 2 /* stmt */
            new java.lang.StringBuilder
            dup
            ldc "INSERT INTO MyTable (Id, Name) VALUES ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 181
            iload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", 'This is row #"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* id */
            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;
        10: .line 180
            invokeinterface java.sql.Statement.executeUpdate:(Ljava/lang/String;)I
            pop
        11: .line 182
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Row #"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " added"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hsqldb.test.TestHarness.append:(Ljava/lang/String;)V
        12: .line 183
            aload 2 /* stmt */
            invokeinterface java.sql.Statement.close:()V
        13: .line 184
            aload 1 /* con */
            invokeinterface java.sql.Connection.close:()V
        end local 4 // int id
        end local 3 // java.sql.ResultSet rs
        end local 2 // java.sql.Statement stmt
        end local 1 // java.sql.Connection con
        14: .line 186
            goto 17
      StackMap locals:
      StackMap stack: java.sql.SQLException
        15: astore 1 /* e */
        start local 1 // java.sql.SQLException e
        16: .line 187
            aload 1 /* e */
            invokevirtual java.sql.SQLException.printStackTrace:()V
        end local 1 // java.sql.SQLException e
        17: .line 189
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.test.TestHarness this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lorg/hsqldb/test/TestHarness;
            1   14     1   con  Ljava/sql/Connection;
            3   14     2  stmt  Ljava/sql/Statement;
            6   14     3    rs  Ljava/sql/ResultSet;
            8   14     4    id  I
           16   17     1     e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0    14      15  Class java.sql.SQLException

  protected void doListing();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.hsqldb.test.TestHarness this
         0: .line 194
            aload 0 /* this */
            ldc "ABCD"
            ldc "dcba"
            iconst_0
            invokevirtual org.hsqldb.test.TestHarness.getConnection:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/sql/Connection;
            astore 1 /* con */
        start local 1 // java.sql.Connection con
         1: .line 196
            aload 1 /* con */
            ifnull 16
         2: .line 197
            aload 1 /* con */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 2 /* stmt */
        start local 2 // java.sql.Statement stmt
         3: .line 198
            aload 2 /* stmt */
         4: .line 199
            ldc "SELECT * FROM MyTable ORDER BY Id ASC"
         5: .line 198
            invokeinterface java.sql.Statement.executeQuery:(Ljava/lang/String;)Ljava/sql/ResultSet;
            astore 3 /* rs */
        start local 3 // java.sql.ResultSet rs
         6: .line 201
            aload 0 /* this */
            ldc "Listing 'MyTable'...."
            invokevirtual org.hsqldb.test.TestHarness.append:(Ljava/lang/String;)V
         7: .line 203
            goto 9
         8: .line 204
      StackMap locals: java.sql.Connection java.sql.Statement java.sql.ResultSet
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* rs */
            iconst_1
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* rs */
            iconst_2
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hsqldb.test.TestHarness.append:(Ljava/lang/String;)V
         9: .line 203
      StackMap locals:
      StackMap stack:
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 8
        10: .line 207
            aload 0 /* this */
            ldc "...done."
            invokevirtual org.hsqldb.test.TestHarness.append:(Ljava/lang/String;)V
        11: .line 208
            aload 2 /* stmt */
            invokeinterface java.sql.Statement.close:()V
        12: .line 209
            aload 1 /* con */
            invokeinterface java.sql.Connection.close:()V
        end local 3 // java.sql.ResultSet rs
        end local 2 // java.sql.Statement stmt
        end local 1 // java.sql.Connection con
        13: .line 211
            goto 16
      StackMap locals: org.hsqldb.test.TestHarness
      StackMap stack: java.sql.SQLException
        14: astore 1 /* e */
        start local 1 // java.sql.SQLException e
        15: .line 212
            aload 1 /* e */
            invokevirtual java.sql.SQLException.printStackTrace:()V
        end local 1 // java.sql.SQLException e
        16: .line 214
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.test.TestHarness this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/hsqldb/test/TestHarness;
            1   13     1   con  Ljava/sql/Connection;
            3   13     2  stmt  Ljava/sql/Statement;
            6   13     3    rs  Ljava/sql/ResultSet;
           15   16     1     e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0    13      14  Class java.sql.SQLException

  private void append(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hsqldb.test.TestHarness this
        start local 1 // java.lang.String s
         0: .line 217
            aload 0 /* this */
            getfield org.hsqldb.test.TestHarness.textArea:Ljavax/swing/JTextArea;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.hsqldb.test.TestHarness.textArea:Ljavax/swing/JTextArea;
            invokevirtual javax.swing.JTextArea.getText:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual javax.swing.JTextArea.setText:(Ljava/lang/String;)V
         1: .line 218
            return
        end local 1 // java.lang.String s
        end local 0 // org.hsqldb.test.TestHarness this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/test/TestHarness;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  protected void doClose();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.hsqldb.test.TestHarness this
         0: .line 223
            aload 0 /* this */
            ldc "sa"
            ldc "password"
            iconst_0
            invokevirtual org.hsqldb.test.TestHarness.getConnection:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/sql/Connection;
            astore 1 /* con */
        start local 1 // java.sql.Connection con
         1: .line 225
            aload 1 /* con */
            ifnull 9
         2: .line 226
            aload 1 /* con */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 2 /* stmt */
        start local 2 // java.sql.Statement stmt
         3: .line 228
            aload 2 /* stmt */
            ldc "SHUTDOWN"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         4: .line 229
            aload 2 /* stmt */
            invokeinterface java.sql.Statement.close:()V
         5: .line 230
            aload 1 /* con */
            invokeinterface java.sql.Connection.close:()V
        end local 2 // java.sql.Statement stmt
        end local 1 // java.sql.Connection con
         6: .line 232
            goto 9
      StackMap locals:
      StackMap stack: java.sql.SQLException
         7: astore 1 /* e */
        start local 1 // java.sql.SQLException e
         8: .line 233
            aload 1 /* e */
            invokevirtual java.sql.SQLException.printStackTrace:()V
        end local 1 // java.sql.SQLException e
         9: .line 236
      StackMap locals:
      StackMap stack:
            iconst_0
            invokestatic java.lang.System.exit:(I)V
        10: .line 237
            return
        end local 0 // org.hsqldb.test.TestHarness this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/hsqldb/test/TestHarness;
            1    6     1   con  Ljava/sql/Connection;
            3    6     2  stmt  Ljava/sql/Statement;
            8    9     1     e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0     6       7  Class java.sql.SQLException

  protected void doCreate();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.hsqldb.test.TestHarness this
         0: .line 242
            aload 0 /* this */
            ldc "sa"
            ldc ""
            iconst_0
            invokevirtual org.hsqldb.test.TestHarness.getConnection:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/sql/Connection;
            astore 1 /* con */
        start local 1 // java.sql.Connection con
         1: .line 244
            aload 1 /* con */
            ifnull 22
         2: .line 245
            aload 1 /* con */
            invokeinterface java.sql.Connection.createStatement:()Ljava/sql/Statement;
            astore 2 /* stmt */
        start local 2 // java.sql.Statement stmt
         3: .line 247
            aload 2 /* stmt */
            ldc "SET PASSWORD 'password'"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         4: .line 248
            aload 2 /* stmt */
            ldc "CREATE USER abcd PASSWORD 'dcba'"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         5: .line 249
            aload 2 /* stmt */
            ldc "CREATE SEQUENCE MySeq"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         6: .line 250
            aload 2 /* stmt */
         7: .line 251
            ldc "CREATE TABLE MyTable (Id INT PRIMARY KEY, Name VARCHAR(100) NOT NULL)"
         8: .line 250
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
         9: .line 252
            aload 2 /* stmt */
            ldc "CREATE TABLE Dummy (Blah VARCHAR(100) NOT NULL)"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        10: .line 253
            aload 2 /* stmt */
        11: .line 254
            ldc "INSERT INTO Dummy (Blah) VALUES ('dummy value')"
        12: .line 253
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        13: .line 255
            aload 2 /* stmt */
            ldc "GRANT ALL ON MyTable TO abcd"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        14: .line 256
            aload 2 /* stmt */
            ldc "GRANT ALL ON Dummy TO abcd"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        15: .line 257
            aload 2 /* stmt */
            ldc "GRANT ALL ON SEQUENCE MySeq TO abcd"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        16: .line 258
            aload 2 /* stmt */
            invokeinterface java.sql.Statement.close:()V
        17: .line 259
            aload 1 /* con */
            invokeinterface java.sql.Connection.close:()V
        18: .line 260
            aload 0 /* this */
            getfield org.hsqldb.test.TestHarness.textArea:Ljavax/swing/JTextArea;
            ldc "Database created."
            invokevirtual javax.swing.JTextArea.setText:(Ljava/lang/String;)V
        end local 2 // java.sql.Statement stmt
        end local 1 // java.sql.Connection con
        19: .line 262
            goto 22
      StackMap locals:
      StackMap stack: java.sql.SQLException
        20: astore 1 /* e */
        start local 1 // java.sql.SQLException e
        21: .line 263
            aload 1 /* e */
            invokevirtual java.sql.SQLException.printStackTrace:()V
        end local 1 // java.sql.SQLException e
        22: .line 265
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.test.TestHarness this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Lorg/hsqldb/test/TestHarness;
            1   19     1   con  Ljava/sql/Connection;
            3   19     2  stmt  Ljava/sql/Statement;
           21   22     1     e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0    19      20  Class java.sql.SQLException

  protected java.sql.Connection getConnection(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Ljava/sql/Connection;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.hsqldb.test.TestHarness this
        start local 1 // java.lang.String username
        start local 2 // java.lang.String password
        start local 3 // boolean ifExists
         0: .line 270
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 4 /* props */
        start local 4 // java.util.Properties props
         1: .line 272
            aload 4 /* props */
            ldc "user"
            aload 1 /* username */
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 273
            aload 4 /* props */
            ldc "password"
            aload 2 /* password */
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 274
            aload 4 /* props */
            ldc "ifexists"
            iload 3 /* ifExists */
            invokestatic java.lang.String.valueOf:(Z)Ljava/lang/String;
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 276
            aload 0 /* this */
            getfield org.hsqldb.test.TestHarness.dbURL:Ljava/lang/String;
            aload 4 /* props */
            invokestatic java.sql.DriverManager.getConnection:(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;
            areturn
        end local 4 // java.util.Properties props
        end local 3 // boolean ifExists
        end local 2 // java.lang.String password
        end local 1 // java.lang.String username
        end local 0 // org.hsqldb.test.TestHarness this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/hsqldb/test/TestHarness;
            0    5     1  username  Ljava/lang/String;
            0    5     2  password  Ljava/lang/String;
            0    5     3  ifExists  Z
            1    5     4     props  Ljava/util/Properties;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
          Name  Flags
      username  
      password  
      ifExists  
}
SourceFile: "TestHarness.java"
NestMembers:
  org.hsqldb.test.TestHarness$1  org.hsqldb.test.TestHarness$2  org.hsqldb.test.TestHarness$3  org.hsqldb.test.TestHarness$4  org.hsqldb.test.TestHarness$5
InnerClasses:
  org.hsqldb.test.TestHarness$1
  org.hsqldb.test.TestHarness$2
  org.hsqldb.test.TestHarness$3
  org.hsqldb.test.TestHarness$4
  org.hsqldb.test.TestHarness$5