class org.hsqldb.util.DatabaseManagerCommon
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.hsqldb.util.DatabaseManagerCommon
  super_class: java.lang.Object
{
  private static java.util.Random rRandom;
    descriptor: Ljava/util/Random;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static java.lang.String[] selectHelp;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String[] insertHelp;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String[] updateHelp;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String[] deleteHelp;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String[] createTableHelp;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String[] dropTableHelp;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String[] createIndexHelp;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String[] dropIndexHelp;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String[] checkpointHelp;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String[] scriptHelp;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String[] shutdownHelp;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String[] setHelp;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String[] testHelp;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static java.lang.String[] testDataSql;
    descriptor: [Ljava/lang/String;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 100
            new java.util.Random
            dup
            ldc 100
            invokespecial java.util.Random.<init>:(J)V
            putstatic org.hsqldb.util.DatabaseManagerCommon.rRandom:Ljava/util/Random;
         1: .line 101
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         2: .line 102
            ldc "SELECT * FROM "
            aastore
            dup
            iconst_1
         3: .line 104
            ldc "SELECT [LIMIT n m] [DISTINCT] \n{ selectExpression | table.* | * } [, ... ] \n[INTO [CACHED|TEMP|TEXT] newTable] \nFROM tableList \n[WHERE Expression] \n[ORDER BY selectExpression [{ASC | DESC}] [, ...] ] \n[GROUP BY Expression [, ...] ] \n[UNION [ALL] selectStatement]"
            aastore
         4: .line 101
            putstatic org.hsqldb.util.DatabaseManagerCommon.selectHelp:[Ljava/lang/String;
         5: .line 112
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         6: .line 113
            ldc "INSERT INTO "
            aastore
            dup
            iconst_1
         7: .line 114
            ldc "INSERT INTO table [ (column [,...] ) ] \n{ VALUES(Expression [,...]) [,...] | SelectStatement }"
            aastore
         8: .line 112
            putstatic org.hsqldb.util.DatabaseManagerCommon.insertHelp:[Ljava/lang/String;
         9: .line 117
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        10: .line 118
            ldc "UPDATE "
            aastore
            dup
            iconst_1
        11: .line 119
            ldc "UPDATE table SET column = Expression [, ...] \n[WHERE Expression]"
            aastore
        12: .line 117
            putstatic org.hsqldb.util.DatabaseManagerCommon.updateHelp:[Ljava/lang/String;
        13: .line 122
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        14: .line 123
            ldc "DELETE FROM "
            aastore
            dup
            iconst_1
            ldc "DELETE FROM table [WHERE Expression]"
            aastore
        15: .line 122
            putstatic org.hsqldb.util.DatabaseManagerCommon.deleteHelp:[Ljava/lang/String;
        16: .line 125
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        17: .line 126
            ldc "CREATE TABLE "
            aastore
            dup
            iconst_1
        18: .line 127
            ldc "CREATE [TEMP] [CACHED|MEMORY|TEXT] TABLE name \n( columnDefinition [, ...] ) \n\ncolumnDefinition: \ncolumn DataType [ [NOT] NULL] [PRIMARY KEY] \nDataType: \n{ INTEGER | DOUBLE | VARCHAR | DATE | TIME |... }"
            aastore
        19: .line 125
            putstatic org.hsqldb.util.DatabaseManagerCommon.createTableHelp:[Ljava/lang/String;
        20: .line 132
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        21: .line 133
            ldc "DROP TABLE "
            aastore
            dup
            iconst_1
            ldc "DROP TABLE table"
            aastore
        22: .line 132
            putstatic org.hsqldb.util.DatabaseManagerCommon.dropTableHelp:[Ljava/lang/String;
        23: .line 135
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        24: .line 136
            ldc "CREATE INDEX "
            aastore
            dup
            iconst_1
        25: .line 137
            ldc "CREATE [UNIQUE] INDEX index ON \ntable (column [, ...])"
            aastore
        26: .line 135
            putstatic org.hsqldb.util.DatabaseManagerCommon.createIndexHelp:[Ljava/lang/String;
        27: .line 139
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        28: .line 140
            ldc "DROP INDEX "
            aastore
            dup
            iconst_1
            ldc "DROP INDEX table.index"
            aastore
        29: .line 139
            putstatic org.hsqldb.util.DatabaseManagerCommon.dropIndexHelp:[Ljava/lang/String;
        30: .line 142
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        31: .line 143
            ldc "CHECKPOINT"
            aastore
            dup
            iconst_1
            ldc "(HSQLDB SQL only)"
            aastore
        32: .line 142
            putstatic org.hsqldb.util.DatabaseManagerCommon.checkpointHelp:[Ljava/lang/String;
        33: .line 145
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        34: .line 146
            ldc "SCRIPT"
            aastore
            dup
            iconst_1
            ldc "SCRIPT ['file']\n\n(HSQLDB SQL only)"
            aastore
        35: .line 145
            putstatic org.hsqldb.util.DatabaseManagerCommon.scriptHelp:[Ljava/lang/String;
        36: .line 148
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        37: .line 149
            ldc "SHUTDOWN"
            aastore
            dup
            iconst_1
        38: .line 150
            ldc "SHUTDOWN [COMPACT|IMMEDIATELY|SCRIPT]\n\n(HSQLDB SQL only)"
            aastore
        39: .line 148
            putstatic org.hsqldb.util.DatabaseManagerCommon.shutdownHelp:[Ljava/lang/String;
        40: .line 152
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        41: .line 153
            ldc "SET "
            aastore
            dup
            iconst_1
        42: .line 155
            ldc "SET AUTOCOMMIT { TRUE | FALSE }\nSET DATABASE COLLATION \"<collationname>\"\nSET FILES CHECKPOINT DEFRAG <size>\nSET DATABASE INITIAL SCHEMA <schemaname>\nSET FILES LOG SIZE <size>\nSET MAXROWS maxrows\nSET PASSWORD <password>\nSET FILES READ { ONLY | WRITE }\nSET SCHEMA <schemaname>\nSET TABLE <tablename> READ { ONLY | WRITE }\nSET TABLE <tablename> SOURCE { ON | OFF }\nSET TABLE <tablename> SOURCE \"<file>\" [DESC]\n\n\n(HSQLDB SQL only)"
            aastore
        43: .line 152
            putstatic org.hsqldb.util.DatabaseManagerCommon.setHelp:[Ljava/lang/String;
        44: .line 168
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        45: .line 169
            ldc "-->>>TEST<<<-- ;\n--#1000;\nDROP TABLE Test IF EXISTS;\nCREATE TABLE Test(\n  Id INTEGER PRIMARY KEY,\n  FirstName VARCHAR(20),\n  Name VARCHAR(50),\n  ZIP INTEGER) ;\nINSERT INTO Test \n  VALUES(#,'Julia','Peterson-Clancy',#) ;\nUPDATE Test SET Name='Hans' WHERE Id=# ;\nSELECT * FROM Test WHERE Id=# ;\nDELETE FROM Test WHERE Id=# ;\nDROP TABLE Test IF EXISTS;"
            aastore
            dup
            iconst_1
        46: .line 177
            ldc "This test script is parsed by the DatabaseManager\nIt may be changed manually. Rules:\n- it must start with -->>>TEST<<<--.\n- each line must end with ';' (no spaces after)\n- lines starting with -- are comments\n- lines starting with --#<count> means set new count\n"
            aastore
        47: .line 168
            putstatic org.hsqldb.util.DatabaseManagerCommon.testHelp:[Ljava/lang/String;
        48: .line 184
            bipush 8
            anewarray java.lang.String
            dup
            iconst_0
        49: .line 185
            ldc "SELECT * FROM Product"
            aastore
            dup
            iconst_1
        50: .line 186
            ldc "SELECT * FROM Invoice"
            aastore
            dup
            iconst_2
        51: .line 187
            ldc "SELECT * FROM Item"
            aastore
            dup
            iconst_3
        52: .line 188
            ldc "SELECT * FROM Customer a INNER JOIN Invoice i ON a.ID=i.CustomerID"
            aastore
            dup
            iconst_4
        53: .line 189
            ldc "SELECT * FROM Customer a LEFT OUTER JOIN Invoice i ON a.ID=i.CustomerID"
            aastore
            dup
            iconst_5
        54: .line 190
            ldc "SELECT * FROM Invoice d INNER JOIN Item i ON d.ID=i.InvoiceID"
            aastore
            dup
            bipush 6
        55: .line 191
            ldc "SELECT * FROM Customer WHERE Street LIKE '1%' ORDER BY Lastname"
            aastore
            dup
            bipush 7
        56: .line 192
            ldc "SELECT a.id, a.firstname, a.lastname, count(i.Total) \"COUNT\", COALESCE(sum(i.Total), 0) \"TOTAL\", COALESCE(AVG(i.Total),0) \"AVG\" FROM Customer a LEFT OUTER JOIN Invoice i ON a.ID=i.CustomerID GROUP BY a.id, a.firstname, a.lastname"
            aastore
        57: .line 184
            putstatic org.hsqldb.util.DatabaseManagerCommon.testDataSql:[Ljava/lang/String;
        58: .line 195
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static java.lang.String random(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String[] s
         0: .line 198
            aload 0 /* s */
            aload 0 /* s */
            arraylength
            invokestatic org.hsqldb.util.DatabaseManagerCommon.random:(I)I
            aaload
            areturn
        end local 0 // java.lang.String[] s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  static int random(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int i
         0: .line 202
            getstatic org.hsqldb.util.DatabaseManagerCommon.rRandom:Ljava/util/Random;
            iload 0 /* i */
            invokevirtual java.util.Random.nextInt:(I)I
            ireturn
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     i  I
    MethodParameters:
      Name  Flags
      i     

  static void createTestTables(java.sql.Statement);
    descriptor: (Ljava/sql/Statement;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.sql.Statement sStatement
         0: .line 207
            bipush 8
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 208
            ldc "DROP TABLE Item IF EXISTS;"
            aastore
            dup
            iconst_1
            ldc "DROP TABLE Invoice IF EXISTS;"
            aastore
            dup
            iconst_2
         2: .line 209
            ldc "DROP TABLE Product IF EXISTS;"
            aastore
            dup
            iconst_3
            ldc "DROP TABLE Customer IF EXISTS;"
            aastore
            dup
            iconst_4
         3: .line 210
            ldc "CREATE TABLE Customer(ID INTEGER PRIMARY KEY,FirstName VARCHAR(20),LastName VARCHAR(20),Street VARCHAR(20),City VARCHAR(20));"
            aastore
            dup
            iconst_5
         4: .line 212
            ldc "CREATE TABLE Product(ID INTEGER PRIMARY KEY,Name VARCHAR(20),Price DECIMAL(10,2));"
            aastore
            dup
            bipush 6
         5: .line 214
            ldc "CREATE TABLE Invoice(ID INTEGER PRIMARY KEY,CustomerID INTEGER,Total DECIMAL(10,2), FOREIGN KEY (CustomerId) REFERENCES Customer(ID) ON DELETE CASCADE);"
            aastore
            dup
            bipush 7
         6: .line 217
            ldc "CREATE TABLE Item(InvoiceID INTEGER,Item INTEGER,ProductID INTEGER,Quantity INTEGER,Cost DECIMAL(10,2),PRIMARY KEY(InvoiceID,Item), FOREIGN KEY (InvoiceId) REFERENCES Invoice (ID) ON DELETE CASCADE, FOREIGN KEY (ProductId) REFERENCES Product(ID) ON DELETE CASCADE);"
            aastore
         7: .line 207
            astore 1 /* demo */
        start local 1 // java.lang.String[] demo
         8: .line 225
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         9: goto 14
        10: .line 229
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 0 /* sStatement */
            aload 1 /* demo */
            iload 2 /* i */
            aaload
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        11: .line 230
            goto 13
      StackMap locals:
      StackMap stack: java.sql.SQLException
        12: pop
        13: .line 225
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            aload 1 /* demo */
            arraylength
            if_icmplt 10
        end local 2 // int i
        15: .line 234
            return
        end local 1 // java.lang.String[] demo
        end local 0 // java.sql.Statement sStatement
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0  sStatement  Ljava/sql/Statement;
            8   16     1        demo  [Ljava/lang/String;
            9   15     2           i  I
      Exception table:
        from    to  target  type
          10    11      12  Class java.sql.SQLException
    MethodParameters:
            Name  Flags
      sStatement  

  static java.lang.String createTestData(java.sql.Statement);
    descriptor: (Ljava/sql/Statement;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // java.sql.Statement sStatement
         0: .line 238
            bipush 15
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 239
            ldc "White"
            aastore
            dup
            iconst_1
            ldc "Karsen"
            aastore
            dup
            iconst_2
            ldc "Smith"
            aastore
            dup
            iconst_3
            ldc "Ringer"
            aastore
            dup
            iconst_4
            ldc "May"
            aastore
            dup
            iconst_5
            ldc "King"
            aastore
            dup
            bipush 6
            ldc "Fuller"
            aastore
            dup
            bipush 7
         2: .line 240
            ldc "Miller"
            aastore
            dup
            bipush 8
            ldc "Ott"
            aastore
            dup
            bipush 9
            ldc "Sommer"
            aastore
            dup
            bipush 10
            ldc "Schneider"
            aastore
            dup
            bipush 11
            ldc "Steel"
            aastore
            dup
            bipush 12
            ldc "Peterson"
            aastore
            dup
            bipush 13
         3: .line 241
            ldc "Heiniger"
            aastore
            dup
            bipush 14
            ldc "Clancy"
            aastore
         4: .line 238
            astore 1 /* name */
        start local 1 // java.lang.String[] name
         5: .line 243
            bipush 15
            anewarray java.lang.String
            dup
            iconst_0
         6: .line 244
            ldc "Mary"
            aastore
            dup
            iconst_1
            ldc "James"
            aastore
            dup
            iconst_2
            ldc "Anne"
            aastore
            dup
            iconst_3
            ldc "George"
            aastore
            dup
            iconst_4
            ldc "Sylvia"
            aastore
            dup
            iconst_5
            ldc "Robert"
            aastore
            dup
            bipush 6
            ldc "Janet"
            aastore
            dup
            bipush 7
         7: .line 245
            ldc "Michael"
            aastore
            dup
            bipush 8
            ldc "Andrew"
            aastore
            dup
            bipush 9
            ldc "Bill"
            aastore
            dup
            bipush 10
            ldc "Susanne"
            aastore
            dup
            bipush 11
            ldc "Laura"
            aastore
            dup
            bipush 12
            ldc "Bob"
            aastore
            dup
            bipush 13
            ldc "Julia"
            aastore
            dup
            bipush 14
         8: .line 246
            ldc "John"
            aastore
         9: .line 243
            astore 2 /* firstname */
        start local 2 // java.lang.String[] firstname
        10: .line 248
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
        11: .line 249
            ldc "Upland Pl."
            aastore
            dup
            iconst_1
            ldc "College Av."
            aastore
            dup
            iconst_2
            ldc "- 20th Ave."
            aastore
            dup
            iconst_3
            ldc "Seventh Av."
            aastore
        12: .line 248
            astore 3 /* street */
        start local 3 // java.lang.String[] street
        13: .line 251
            bipush 12
            anewarray java.lang.String
            dup
            iconst_0
        14: .line 252
            ldc "New York"
            aastore
            dup
            iconst_1
            ldc "Dallas"
            aastore
            dup
            iconst_2
            ldc "Boston"
            aastore
            dup
            iconst_3
            ldc "Chicago"
            aastore
            dup
            iconst_4
            ldc "Seattle"
            aastore
            dup
            iconst_5
        15: .line 253
            ldc "San Francisco"
            aastore
            dup
            bipush 6
            ldc "Berne"
            aastore
            dup
            bipush 7
            ldc "Oslo"
            aastore
            dup
            bipush 8
            ldc "Paris"
            aastore
            dup
            bipush 9
            ldc "Lyon"
            aastore
            dup
            bipush 10
            ldc "Palo Alto"
            aastore
            dup
            bipush 11
        16: .line 254
            ldc "Olten"
            aastore
        17: .line 251
            astore 4 /* city */
        start local 4 // java.lang.String[] city
        18: .line 256
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
        19: .line 257
            ldc "Iron"
            aastore
            dup
            iconst_1
            ldc "Ice Tea"
            aastore
            dup
            iconst_2
            ldc "Clock"
            aastore
            dup
            iconst_3
            ldc "Chair"
            aastore
            dup
            iconst_4
            ldc "Telephone"
            aastore
            dup
            iconst_5
            ldc "Shoe"
            aastore
        20: .line 256
            astore 5 /* product */
        start local 5 // java.lang.String[] product
        21: .line 259
            bipush 50
            istore 6 /* max */
        start local 6 // int max
        22: .line 261
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        23: goto 34
        24: .line 262
      StackMap locals: java.sql.Statement java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] java.lang.String[] int int
      StackMap stack:
            aload 0 /* sStatement */
            new java.lang.StringBuilder
            dup
            ldc "INSERT INTO Customer VALUES("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ",'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 263
            aload 2 /* firstname */
            invokestatic org.hsqldb.util.DatabaseManagerCommon.random:([Ljava/lang/String;)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 1 /* name */
            invokestatic org.hsqldb.util.DatabaseManagerCommon.random:([Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 264
            ldc "','"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            sipush 554
            invokestatic org.hsqldb.util.DatabaseManagerCommon.random:(I)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* street */
            invokestatic org.hsqldb.util.DatabaseManagerCommon.random:([Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 265
            ldc "','"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* city */
            invokestatic org.hsqldb.util.DatabaseManagerCommon.random:([Ljava/lang/String;)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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 262
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        29: .line 266
            aload 0 /* sStatement */
            new java.lang.StringBuilder
            dup
            ldc "INSERT INTO Product VALUES("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ",'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 267
            aload 5 /* product */
            invokestatic org.hsqldb.util.DatabaseManagerCommon.random:([Ljava/lang/String;)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 5 /* product */
            invokestatic org.hsqldb.util.DatabaseManagerCommon.random:([Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 268
            ldc "',"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 20
            iconst_2
            bipush 120
            invokestatic org.hsqldb.util.DatabaseManagerCommon.random:(I)I
            imul
            iadd
            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;
        32: .line 266
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        33: .line 261
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 7 /* i */
            iload 6 /* max */
            if_icmplt 24
        end local 7 // int i
        35: .line 271
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        36: goto 49
        37: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* sStatement */
            new java.lang.StringBuilder
            dup
            ldc "INSERT INTO Invoice VALUES("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 273
            iload 6 /* max */
            invokestatic org.hsqldb.util.DatabaseManagerCommon.random:(I)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ",0.0)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        39: .line 272
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        40: .line 275
            bipush 20
            invokestatic org.hsqldb.util.DatabaseManagerCommon.random:(I)I
            iconst_2
            iadd
            istore 8 /* j */
        start local 8 // int j
        41: goto 47
        42: .line 276
      StackMap locals: int
      StackMap stack:
            aload 0 /* sStatement */
            new java.lang.StringBuilder
            dup
            ldc "INSERT INTO Item VALUES("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 8 /* j */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        43: .line 277
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* max */
            invokestatic org.hsqldb.util.DatabaseManagerCommon.random:(I)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        44: .line 278
            iconst_1
            bipush 24
            invokestatic org.hsqldb.util.DatabaseManagerCommon.random:(I)I
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ",1.5)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        45: .line 276
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        46: .line 275
            iinc 8 /* j */ -1
      StackMap locals:
      StackMap stack:
        47: iload 8 /* j */
            ifge 42
        end local 8 // int j
        48: .line 271
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 7 /* i */
            iload 6 /* max */
            if_icmplt 37
        end local 7 // int i
        50: .line 282
            aload 0 /* sStatement */
            ldc "UPDATE Product SET Price=ROUND(Price*.1,2)"
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        51: .line 283
            aload 0 /* sStatement */
        52: .line 284
            ldc "UPDATE Item SET Cost=Cost*(SELECT Price FROM Product prod WHERE ProductID=prod.ID)"
        53: .line 283
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        54: .line 286
            aload 0 /* sStatement */
        55: .line 287
            ldc "UPDATE Invoice SET Total=(SELECT SUM(Cost*Quantity) FROM Item WHERE InvoiceID=Invoice.ID)"
        56: .line 286
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        57: .line 290
            ldc "SELECT * FROM Customer"
            areturn
        end local 6 // int max
        end local 5 // java.lang.String[] product
        end local 4 // java.lang.String[] city
        end local 3 // java.lang.String[] street
        end local 2 // java.lang.String[] firstname
        end local 1 // java.lang.String[] name
        end local 0 // java.sql.Statement sStatement
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   58     0  sStatement  Ljava/sql/Statement;
            5   58     1        name  [Ljava/lang/String;
           10   58     2   firstname  [Ljava/lang/String;
           13   58     3      street  [Ljava/lang/String;
           18   58     4        city  [Ljava/lang/String;
           21   58     5     product  [Ljava/lang/String;
           22   58     6         max  I
           23   35     7           i  I
           36   50     7           i  I
           41   48     8           j  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
            Name  Flags
      sStatement  

  static java.lang.String readFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.String file
         0: .line 302
            new java.io.FileReader
            dup
            aload 0 /* file */
            invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
            astore 1 /* reader */
        start local 1 // java.io.FileReader reader
         1: .line 303
            new java.io.BufferedReader
            dup
            aload 1 /* reader */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 2 /* read */
        start local 2 // java.io.BufferedReader read
         2: .line 304
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* b */
        start local 3 // java.lang.StringBuilder b
         3: .line 305
            aconst_null
            astore 4 /* s */
        start local 4 // java.lang.String s
         4: .line 308
            goto 7
         5: .line 311
      StackMap locals: java.lang.String java.io.FileReader java.io.BufferedReader java.lang.StringBuilder java.lang.String
      StackMap stack:
            aload 3 /* b */
            aload 4 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 312
            aload 3 /* b */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 308
      StackMap locals:
      StackMap stack:
            aload 2 /* read */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 4 /* s */
            ifnonnull 5
         8: .line 315
            aload 2 /* read */
            invokevirtual java.io.BufferedReader.close:()V
         9: .line 316
            aload 1 /* reader */
            invokevirtual java.io.FileReader.close:()V
        10: .line 318
            aload 3 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: areturn
        end local 4 // java.lang.String s
        end local 3 // java.lang.StringBuilder b
        end local 2 // java.io.BufferedReader read
        end local 1 // java.io.FileReader reader
        12: .line 319
      StackMap locals: java.lang.String
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
        13: .line 320
            aload 1 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.io.IOException e
        end local 0 // java.lang.String file
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    file  Ljava/lang/String;
            1   12     1  reader  Ljava/io/FileReader;
            2   12     2    read  Ljava/io/BufferedReader;
            3   12     3       b  Ljava/lang/StringBuilder;
            4   12     4       s  Ljava/lang/String;
           13   14     1       e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    11      12  Class java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  static void writeFile(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String file
        start local 1 // java.lang.String text
         0: .line 327
            new java.io.FileWriter
            dup
            aload 0 /* file */
            invokespecial java.io.FileWriter.<init>:(Ljava/lang/String;)V
            astore 2 /* write */
        start local 2 // java.io.FileWriter write
         1: .line 329
            aload 2 /* write */
            aload 1 /* text */
            invokevirtual java.lang.String.toCharArray:()[C
            invokevirtual java.io.FileWriter.write:([C)V
         2: .line 330
            aload 2 /* write */
            invokevirtual java.io.FileWriter.close:()V
        end local 2 // java.io.FileWriter write
         3: .line 331
            goto 6
      StackMap locals:
      StackMap stack: java.io.IOException
         4: astore 2 /* e */
        start local 2 // java.io.IOException e
         5: .line 332
            aload 2 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 2 // java.io.IOException e
         6: .line 334
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String text
        end local 0 // java.lang.String file
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   file  Ljava/lang/String;
            0    7     1   text  Ljava/lang/String;
            1    3     2  write  Ljava/io/FileWriter;
            5    6     2      e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.io.IOException
    MethodParameters:
      Name  Flags
      file  
      text  

  static long testStatement(java.sql.Statement, java.lang.String, int);
    descriptor: (Ljava/sql/Statement;Ljava/lang/String;I)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.sql.Statement sStatement
        start local 1 // java.lang.String sql
        start local 2 // int max
         0: .line 342
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* start */
        start local 3 // long start
         1: .line 344
            aload 1 /* sql */
            bipush 35
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 3
         2: .line 345
            iconst_1
            istore 2 /* max */
         3: .line 348
      StackMap locals: long
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 20
         5: .line 349
      StackMap locals: int
      StackMap stack:
            aload 1 /* sql */
            astore 6 /* s */
        start local 6 // java.lang.String s
         6: .line 352
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* s */
            ldc "#r#"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 7 /* j */
        start local 7 // int j
         7: .line 354
            iload 7 /* j */
            iconst_m1
            if_icmpne 9
         8: .line 355
            goto 13
         9: .line 358
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 6 /* s */
            iconst_0
            iload 7 /* j */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Math.random:()D
            iload 5 /* i */
            i2d
            dmul
            d2i
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        10: .line 359
            aload 6 /* s */
            iload 7 /* j */
            iconst_3
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 358
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* s */
        end local 7 // int j
        12: .line 351
            goto 6
        13: .line 363
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            bipush 35
            invokevirtual java.lang.String.indexOf:(I)I
            istore 7 /* j */
        start local 7 // int j
        14: .line 365
            iload 7 /* j */
            iconst_m1
            if_icmpne 16
        15: .line 366
            goto 18
        16: .line 369
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 6 /* s */
            iconst_0
            iload 7 /* j */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            aload 6 /* s */
            iload 7 /* j */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* s */
        end local 7 // int j
        17: .line 362
            goto 13
        18: .line 372
      StackMap locals:
      StackMap stack:
            aload 0 /* sStatement */
            aload 6 /* s */
            invokeinterface java.sql.Statement.execute:(Ljava/lang/String;)Z
            pop
        end local 6 // java.lang.String s
        19: .line 348
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 5 /* i */
            iload 2 /* max */
            if_icmplt 5
        end local 5 // int i
        21: .line 375
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 3 /* start */
            lsub
            lreturn
        end local 3 // long start
        end local 2 // int max
        end local 1 // java.lang.String sql
        end local 0 // java.sql.Statement sStatement
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0  sStatement  Ljava/sql/Statement;
            0   22     1         sql  Ljava/lang/String;
            0   22     2         max  I
            1   22     3       start  J
            4   21     5           i  I
            6   19     6           s  Ljava/lang/String;
            7   12     7           j  I
           14   17     7           j  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
            Name  Flags
      sStatement  
      sql         
      max         

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.util.DatabaseManagerCommon this
         0: .line 378
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.hsqldb.util.DatabaseManagerCommon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/util/DatabaseManagerCommon;
}
SourceFile: "DatabaseManagerCommon.java"