public class org.h2.bnf.context.DbContents
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.bnf.context.DbContents
  super_class: java.lang.Object
{
  private org.h2.bnf.context.DbSchema[] schemas;
    descriptor: [Lorg/h2/bnf/context/DbSchema;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.bnf.context.DbSchema defaultSchema;
    descriptor: Lorg/h2/bnf/context/DbSchema;
    flags: (0x0002) ACC_PRIVATE

  private boolean isOracle;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isH2;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isPostgreSQL;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isDerby;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isSQLite;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isMySQL;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isFirebird;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isMSSQLServer;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean isDB2;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean databaseToUpper;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean databaseToLower;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.bnf.context.DbContents this
         0: .line 23
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/bnf/context/DbContents;

  public org.h2.bnf.context.DbSchema getDefaultSchema();
    descriptor: ()Lorg/h2/bnf/context/DbSchema;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.bnf.context.DbContents this
         0: .line 43
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.defaultSchema:Lorg/h2/bnf/context/DbSchema;
            areturn
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/bnf/context/DbContents;

  public boolean isDerby();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.bnf.context.DbContents this
         0: .line 50
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isDerby:Z
            ireturn
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/bnf/context/DbContents;

  public boolean isFirebird();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.bnf.context.DbContents this
         0: .line 57
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isFirebird:Z
            ireturn
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/bnf/context/DbContents;

  public boolean isH2();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.bnf.context.DbContents this
         0: .line 64
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isH2:Z
            ireturn
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/bnf/context/DbContents;

  public boolean isMSSQLServer();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.bnf.context.DbContents this
         0: .line 71
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isMSSQLServer:Z
            ireturn
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/bnf/context/DbContents;

  public boolean isMySQL();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.bnf.context.DbContents this
         0: .line 78
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isMySQL:Z
            ireturn
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/bnf/context/DbContents;

  public boolean isOracle();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.bnf.context.DbContents this
         0: .line 85
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isOracle:Z
            ireturn
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/bnf/context/DbContents;

  public boolean isPostgreSQL();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.bnf.context.DbContents this
         0: .line 92
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isPostgreSQL:Z
            ireturn
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/bnf/context/DbContents;

  public boolean isSQLite();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.bnf.context.DbContents this
         0: .line 99
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isSQLite:Z
            ireturn
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/bnf/context/DbContents;

  public boolean isDB2();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.bnf.context.DbContents this
         0: .line 106
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isDB2:Z
            ireturn
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/bnf/context/DbContents;

  public org.h2.bnf.context.DbSchema[] getSchemas();
    descriptor: ()[Lorg/h2/bnf/context/DbSchema;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.bnf.context.DbContents this
         0: .line 113
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.schemas:[Lorg/h2/bnf/context/DbSchema;
            areturn
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/bnf/context/DbContents;

  public synchronized void readContents(java.lang.String, java.sql.Connection);
    descriptor: (Ljava/lang/String;Ljava/sql/Connection;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // org.h2.bnf.context.DbContents this
        start local 1 // java.lang.String url
        start local 2 // java.sql.Connection conn
         0: .line 124
            aload 0 /* this */
            aload 1 /* url */
            ldc "jdbc:h2:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            putfield org.h2.bnf.context.DbContents.isH2:Z
         1: .line 125
            aload 0 /* this */
            aload 1 /* url */
            ldc "jdbc:db2:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            putfield org.h2.bnf.context.DbContents.isDB2:Z
         2: .line 126
            aload 0 /* this */
            aload 1 /* url */
            ldc "jdbc:sqlite:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            putfield org.h2.bnf.context.DbContents.isSQLite:Z
         3: .line 127
            aload 0 /* this */
            aload 1 /* url */
            ldc "jdbc:oracle:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            putfield org.h2.bnf.context.DbContents.isOracle:Z
         4: .line 129
            aload 0 /* this */
            aload 1 /* url */
            ldc "jdbc:postgresql:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 5
            aload 1 /* url */
            ldc "jdbc:vertica:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack: org.h2.bnf.context.DbContents
         5: iconst_1
      StackMap locals: org.h2.bnf.context.DbContents java.lang.String java.sql.Connection
      StackMap stack: org.h2.bnf.context.DbContents int
         6: putfield org.h2.bnf.context.DbContents.isPostgreSQL:Z
         7: .line 131
            aload 0 /* this */
            aload 1 /* url */
            ldc "jdbc:mysql:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            putfield org.h2.bnf.context.DbContents.isMySQL:Z
         8: .line 132
            aload 0 /* this */
            aload 1 /* url */
            ldc "jdbc:derby:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            putfield org.h2.bnf.context.DbContents.isDerby:Z
         9: .line 133
            aload 0 /* this */
            aload 1 /* url */
            ldc "jdbc:firebirdsql:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            putfield org.h2.bnf.context.DbContents.isFirebird:Z
        10: .line 134
            aload 0 /* this */
            aload 1 /* url */
            ldc "jdbc:sqlserver:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            putfield org.h2.bnf.context.DbContents.isMSSQLServer:Z
        11: .line 135
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isH2:Z
            ifeq 16
        12: .line 136
            aload 2 /* conn */
            checkcast org.h2.jdbc.JdbcConnection
            invokevirtual org.h2.jdbc.JdbcConnection.getSettings:()Lorg/h2/jdbc/JdbcConnection$Settings;
            astore 3 /* settings */
        start local 3 // org.h2.jdbc.JdbcConnection$Settings settings
        13: .line 137
            aload 0 /* this */
            aload 3 /* settings */
            getfield org.h2.jdbc.JdbcConnection$Settings.databaseToUpper:Z
            putfield org.h2.bnf.context.DbContents.databaseToUpper:Z
        14: .line 138
            aload 0 /* this */
            aload 3 /* settings */
            getfield org.h2.jdbc.JdbcConnection$Settings.databaseToLower:Z
            putfield org.h2.bnf.context.DbContents.databaseToLower:Z
        end local 3 // org.h2.jdbc.JdbcConnection$Settings settings
        15: .line 139
            goto 22
      StackMap locals:
      StackMap stack:
        16: aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isMySQL:Z
            ifne 17
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isPostgreSQL:Z
            ifeq 20
        17: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.h2.bnf.context.DbContents.databaseToUpper:Z
        18: .line 141
            aload 0 /* this */
            iconst_1
            putfield org.h2.bnf.context.DbContents.databaseToLower:Z
        19: .line 142
            goto 22
        20: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.h2.bnf.context.DbContents.databaseToUpper:Z
        21: .line 144
            aload 0 /* this */
            iconst_0
            putfield org.h2.bnf.context.DbContents.databaseToLower:Z
        22: .line 146
      StackMap locals:
      StackMap stack:
            aload 2 /* conn */
            invokeinterface java.sql.Connection.getMetaData:()Ljava/sql/DatabaseMetaData;
            astore 3 /* meta */
        start local 3 // java.sql.DatabaseMetaData meta
        23: .line 147
            aload 0 /* this */
            aload 3 /* meta */
            invokevirtual org.h2.bnf.context.DbContents.getDefaultSchemaName:(Ljava/sql/DatabaseMetaData;)Ljava/lang/String;
            astore 4 /* defaultSchemaName */
        start local 4 // java.lang.String defaultSchemaName
        24: .line 148
            aload 0 /* this */
            aload 3 /* meta */
            invokevirtual org.h2.bnf.context.DbContents.getSchemaNames:(Ljava/sql/DatabaseMetaData;)[Ljava/lang/String;
            astore 5 /* schemaNames */
        start local 5 // java.lang.String[] schemaNames
        25: .line 149
            aload 0 /* this */
            aload 5 /* schemaNames */
            arraylength
            anewarray org.h2.bnf.context.DbSchema
            putfield org.h2.bnf.context.DbContents.schemas:[Lorg/h2/bnf/context/DbSchema;
        26: .line 150
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        27: goto 45
        28: .line 151
      StackMap locals: org.h2.bnf.context.DbContents java.lang.String java.sql.Connection java.sql.DatabaseMetaData java.lang.String java.lang.String[] int
      StackMap stack:
            aload 5 /* schemaNames */
            iload 6 /* i */
            aaload
            astore 7 /* schemaName */
        start local 7 // java.lang.String schemaName
        29: .line 152
            aload 4 /* defaultSchemaName */
            ifnull 32
        30: .line 153
            aload 4 /* defaultSchemaName */
            aload 7 /* schemaName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 32
        31: .line 152
            iconst_0
            goto 33
      StackMap locals: java.lang.String
      StackMap stack:
        32: iconst_1
      StackMap locals:
      StackMap stack: int
        33: istore 8 /* isDefault */
        start local 8 // boolean isDefault
        34: .line 154
            new org.h2.bnf.context.DbSchema
            dup
            aload 0 /* this */
            aload 7 /* schemaName */
            iload 8 /* isDefault */
            invokespecial org.h2.bnf.context.DbSchema.<init>:(Lorg/h2/bnf/context/DbContents;Ljava/lang/String;Z)V
            astore 9 /* schema */
        start local 9 // org.h2.bnf.context.DbSchema schema
        35: .line 155
            iload 8 /* isDefault */
            ifeq 37
        36: .line 156
            aload 0 /* this */
            aload 9 /* schema */
            putfield org.h2.bnf.context.DbContents.defaultSchema:Lorg/h2/bnf/context/DbSchema;
        37: .line 158
      StackMap locals: int org.h2.bnf.context.DbSchema
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.schemas:[Lorg/h2/bnf/context/DbSchema;
            iload 6 /* i */
            aload 9 /* schema */
            aastore
        38: .line 159
            bipush 7
            anewarray java.lang.String
            dup
            iconst_0
            ldc "TABLE"
            aastore
            dup
            iconst_1
            ldc "SYSTEM TABLE"
            aastore
            dup
            iconst_2
            ldc "VIEW"
            aastore
            dup
            iconst_3
        39: .line 160
            ldc "SYSTEM VIEW"
            aastore
            dup
            iconst_4
            ldc "TABLE LINK"
            aastore
            dup
            iconst_5
            ldc "SYNONYM"
            aastore
            dup
            bipush 6
            ldc "EXTERNAL"
            aastore
        40: .line 159
            astore 10 /* tableTypes */
        start local 10 // java.lang.String[] tableTypes
        41: .line 161
            aload 9 /* schema */
            aload 3 /* meta */
            aload 10 /* tableTypes */
            invokevirtual org.h2.bnf.context.DbSchema.readTables:(Ljava/sql/DatabaseMetaData;[Ljava/lang/String;)V
        42: .line 162
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isPostgreSQL:Z
            ifne 44
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isDB2:Z
            ifne 44
        43: .line 163
            aload 9 /* schema */
            aload 3 /* meta */
            invokevirtual org.h2.bnf.context.DbSchema.readProcedures:(Ljava/sql/DatabaseMetaData;)V
        end local 10 // java.lang.String[] tableTypes
        end local 9 // org.h2.bnf.context.DbSchema schema
        end local 8 // boolean isDefault
        end local 7 // java.lang.String schemaName
        44: .line 150
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 6 /* i */
            aload 5 /* schemaNames */
            arraylength
            if_icmplt 28
        end local 6 // int i
        46: .line 166
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.defaultSchema:Lorg/h2/bnf/context/DbSchema;
            ifnonnull 60
        47: .line 167
            aconst_null
            astore 6 /* best */
        start local 6 // java.lang.String best
        48: .line 168
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.schemas:[Lorg/h2/bnf/context/DbSchema;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 59
      StackMap locals: org.h2.bnf.context.DbContents java.lang.String java.sql.Connection java.sql.DatabaseMetaData java.lang.String java.lang.String[] java.lang.String top int int org.h2.bnf.context.DbSchema[]
      StackMap stack:
        49: aload 10
            iload 8
            aaload
            astore 7 /* schema */
        start local 7 // org.h2.bnf.context.DbSchema schema
        50: .line 169
            ldc "dbo"
            aload 7 /* schema */
            getfield org.h2.bnf.context.DbSchema.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 53
        51: .line 171
            aload 0 /* this */
            aload 7 /* schema */
            putfield org.h2.bnf.context.DbContents.defaultSchema:Lorg/h2/bnf/context/DbSchema;
        52: .line 172
            goto 60
        53: .line 174
      StackMap locals: org.h2.bnf.context.DbContents java.lang.String java.sql.Connection java.sql.DatabaseMetaData java.lang.String java.lang.String[] java.lang.String org.h2.bnf.context.DbSchema int int org.h2.bnf.context.DbSchema[]
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.defaultSchema:Lorg/h2/bnf/context/DbSchema;
            ifnull 56
        54: .line 175
            aload 6 /* best */
            ifnull 56
        55: .line 176
            aload 7 /* schema */
            getfield org.h2.bnf.context.DbSchema.name:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            aload 6 /* best */
            invokevirtual java.lang.String.length:()I
            if_icmpge 58
        56: .line 177
      StackMap locals:
      StackMap stack:
            aload 7 /* schema */
            getfield org.h2.bnf.context.DbSchema.name:Ljava/lang/String;
            astore 6 /* best */
        57: .line 178
            aload 0 /* this */
            aload 7 /* schema */
            putfield org.h2.bnf.context.DbContents.defaultSchema:Lorg/h2/bnf/context/DbSchema;
        end local 7 // org.h2.bnf.context.DbSchema schema
        58: .line 168
      StackMap locals: org.h2.bnf.context.DbContents java.lang.String java.sql.Connection java.sql.DatabaseMetaData java.lang.String java.lang.String[] java.lang.String top int int org.h2.bnf.context.DbSchema[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        59: iload 8
            iload 9
            if_icmplt 49
        end local 6 // java.lang.String best
        60: .line 182
      StackMap locals: org.h2.bnf.context.DbContents java.lang.String java.sql.Connection java.sql.DatabaseMetaData java.lang.String java.lang.String[]
      StackMap stack:
            return
        end local 5 // java.lang.String[] schemaNames
        end local 4 // java.lang.String defaultSchemaName
        end local 3 // java.sql.DatabaseMetaData meta
        end local 2 // java.sql.Connection conn
        end local 1 // java.lang.String url
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   61     0               this  Lorg/h2/bnf/context/DbContents;
            0   61     1                url  Ljava/lang/String;
            0   61     2               conn  Ljava/sql/Connection;
           13   15     3           settings  Lorg/h2/jdbc/JdbcConnection$Settings;
           23   61     3               meta  Ljava/sql/DatabaseMetaData;
           24   61     4  defaultSchemaName  Ljava/lang/String;
           25   61     5        schemaNames  [Ljava/lang/String;
           27   46     6                  i  I
           29   44     7         schemaName  Ljava/lang/String;
           34   44     8          isDefault  Z
           35   44     9             schema  Lorg/h2/bnf/context/DbSchema;
           41   44    10         tableTypes  [Ljava/lang/String;
           48   60     6               best  Ljava/lang/String;
           50   58     7             schema  Lorg/h2/bnf/context/DbSchema;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      url   
      conn  

  private java.lang.String[] getSchemaNames(java.sql.DatabaseMetaData);
    descriptor: (Ljava/sql/DatabaseMetaData;)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // org.h2.bnf.context.DbContents this
        start local 1 // java.sql.DatabaseMetaData meta
         0: .line 185
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isMySQL:Z
            ifne 1
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isSQLite:Z
            ifeq 2
         1: .line 186
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc ""
            aastore
            areturn
         2: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isFirebird:Z
            ifeq 4
         3: .line 188
            iconst_1
            anewarray java.lang.String
            areturn
         4: .line 190
      StackMap locals:
      StackMap stack:
            aload 1 /* meta */
            invokeinterface java.sql.DatabaseMetaData.getSchemas:()Ljava/sql/ResultSet;
            astore 2 /* rs */
        start local 2 // java.sql.ResultSet rs
         5: .line 191
            invokestatic org.h2.util.Utils.newSmallArrayList:()Ljava/util/ArrayList;
            astore 3 /* schemaList */
        start local 3 // java.util.ArrayList schemaList
         6: .line 192
            goto 41
         7: .line 193
      StackMap locals: java.sql.ResultSet java.util.ArrayList
      StackMap stack:
            aload 2 /* rs */
            ldc "TABLE_SCHEM"
            invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* schema */
        start local 4 // java.lang.String schema
         8: .line 194
            aconst_null
            astore 5 /* ignoreNames */
        start local 5 // java.lang.String[] ignoreNames
         9: .line 195
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isOracle:Z
            ifeq 17
        10: .line 196
            bipush 21
            anewarray java.lang.String
            dup
            iconst_0
            ldc "CTXSYS"
            aastore
            dup
            iconst_1
            ldc "DIP"
            aastore
            dup
            iconst_2
            ldc "DBSNMP"
            aastore
            dup
            iconst_3
        11: .line 197
            ldc "DMSYS"
            aastore
            dup
            iconst_4
            ldc "EXFSYS"
            aastore
            dup
            iconst_5
            ldc "FLOWS_020100"
            aastore
            dup
            bipush 6
            ldc "FLOWS_FILES"
            aastore
            dup
            bipush 7
        12: .line 198
            ldc "MDDATA"
            aastore
            dup
            bipush 8
            ldc "MDSYS"
            aastore
            dup
            bipush 9
            ldc "MGMT_VIEW"
            aastore
            dup
            bipush 10
            ldc "OLAPSYS"
            aastore
            dup
            bipush 11
            ldc "ORDSYS"
            aastore
            dup
            bipush 12
        13: .line 199
            ldc "ORDPLUGINS"
            aastore
            dup
            bipush 13
            ldc "OUTLN"
            aastore
            dup
            bipush 14
            ldc "SI_INFORMTN_SCHEMA"
            aastore
            dup
            bipush 15
            ldc "SYS"
            aastore
            dup
            bipush 16
        14: .line 200
            ldc "SYSMAN"
            aastore
            dup
            bipush 17
            ldc "SYSTEM"
            aastore
            dup
            bipush 18
            ldc "TSMSYS"
            aastore
            dup
            bipush 19
            ldc "WMSYS"
            aastore
            dup
            bipush 20
            ldc "XDB"
            aastore
        15: .line 196
            astore 5 /* ignoreNames */
        16: .line 201
            goto 30
      StackMap locals: java.lang.String java.lang.String[]
      StackMap stack:
        17: aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isMSSQLServer:Z
            ifeq 24
        18: .line 202
            bipush 10
            anewarray java.lang.String
            dup
            iconst_0
            ldc "sys"
            aastore
            dup
            iconst_1
            ldc "db_accessadmin"
            aastore
            dup
            iconst_2
        19: .line 203
            ldc "db_backupoperator"
            aastore
            dup
            iconst_3
            ldc "db_datareader"
            aastore
            dup
            iconst_4
            ldc "db_datawriter"
            aastore
            dup
            iconst_5
        20: .line 204
            ldc "db_ddladmin"
            aastore
            dup
            bipush 6
            ldc "db_denydatareader"
            aastore
            dup
            bipush 7
        21: .line 205
            ldc "db_denydatawriter"
            aastore
            dup
            bipush 8
            ldc "db_owner"
            aastore
            dup
            bipush 9
            ldc "db_securityadmin"
            aastore
        22: .line 202
            astore 5 /* ignoreNames */
        23: .line 206
            goto 30
      StackMap locals:
      StackMap stack:
        24: aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isDB2:Z
            ifeq 30
        25: .line 207
            bipush 11
            anewarray java.lang.String
            dup
            iconst_0
            ldc "NULLID"
            aastore
            dup
            iconst_1
            ldc "SYSFUN"
            aastore
            dup
            iconst_2
        26: .line 208
            ldc "SYSIBMINTERNAL"
            aastore
            dup
            iconst_3
            ldc "SYSIBMTS"
            aastore
            dup
            iconst_4
            ldc "SYSPROC"
            aastore
            dup
            iconst_5
            ldc "SYSPUBLIC"
            aastore
            dup
            bipush 6
        27: .line 210
            ldc "SYSCAT"
            aastore
            dup
            bipush 7
            ldc "SYSIBM"
            aastore
            dup
            bipush 8
            ldc "SYSIBMADM"
            aastore
            dup
            bipush 9
        28: .line 211
            ldc "SYSSTAT"
            aastore
            dup
            bipush 10
            ldc "SYSTOOLS"
            aastore
        29: .line 207
            astore 5 /* ignoreNames */
        30: .line 215
      StackMap locals:
      StackMap stack:
            aload 5 /* ignoreNames */
            ifnull 38
        31: .line 216
            aload 5 /* ignoreNames */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 37
      StackMap locals: org.h2.bnf.context.DbContents java.sql.DatabaseMetaData java.sql.ResultSet java.util.ArrayList java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        32: aload 9
            iload 7
            aaload
            astore 6 /* ignore */
        start local 6 // java.lang.String ignore
        33: .line 217
            aload 6 /* ignore */
            aload 4 /* schema */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 36
        34: .line 218
            aconst_null
            astore 4 /* schema */
        35: .line 219
            goto 38
        end local 6 // java.lang.String ignore
        36: .line 216
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        37: iload 7
            iload 8
            if_icmplt 32
        38: .line 223
      StackMap locals: org.h2.bnf.context.DbContents java.sql.DatabaseMetaData java.sql.ResultSet java.util.ArrayList java.lang.String java.lang.String[]
      StackMap stack:
            aload 4 /* schema */
            ifnonnull 40
        39: .line 224
            goto 41
        40: .line 226
      StackMap locals:
      StackMap stack:
            aload 3 /* schemaList */
            aload 4 /* schema */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.String[] ignoreNames
        end local 4 // java.lang.String schema
        41: .line 192
      StackMap locals:
      StackMap stack:
            aload 2 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 7
        42: .line 228
            aload 2 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        43: .line 229
            aload 3 /* schemaList */
            iconst_0
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 3 // java.util.ArrayList schemaList
        end local 2 // java.sql.ResultSet rs
        end local 1 // java.sql.DatabaseMetaData meta
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   44     0         this  Lorg/h2/bnf/context/DbContents;
            0   44     1         meta  Ljava/sql/DatabaseMetaData;
            5   44     2           rs  Ljava/sql/ResultSet;
            6   44     3   schemaList  Ljava/util/ArrayList<Ljava/lang/String;>;
            8   41     4       schema  Ljava/lang/String;
            9   41     5  ignoreNames  [Ljava/lang/String;
           33   36     6       ignore  Ljava/lang/String;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      meta  

  private java.lang.String getDefaultSchemaName(java.sql.DatabaseMetaData);
    descriptor: (Ljava/sql/DatabaseMetaData;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.h2.bnf.context.DbContents this
        start local 1 // java.sql.DatabaseMetaData meta
         0: .line 233
            ldc ""
            astore 2 /* defaultSchemaName */
        start local 2 // java.lang.String defaultSchemaName
         1: .line 235
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isOracle:Z
            ifeq 4
         2: .line 236
            aload 1 /* meta */
            invokeinterface java.sql.DatabaseMetaData.getUserName:()Ljava/lang/String;
         3: areturn
         4: .line 237
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isPostgreSQL:Z
            ifeq 6
         5: .line 238
            ldc "public"
            areturn
         6: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isMySQL:Z
            ifeq 8
         7: .line 240
            ldc ""
            areturn
         8: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isDerby:Z
            ifeq 11
         9: .line 242
            aload 1 /* meta */
            invokeinterface java.sql.DatabaseMetaData.getUserName:()Ljava/lang/String;
            invokestatic org.h2.util.StringUtils.toUpperEnglish:(Ljava/lang/String;)Ljava/lang/String;
        10: areturn
        11: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.isFirebird:Z
            ifeq 13
        12: .line 244
            aconst_null
            areturn
        13: .line 246
      StackMap locals:
      StackMap stack:
            aload 1 /* meta */
            invokeinterface java.sql.DatabaseMetaData.getSchemas:()Ljava/sql/ResultSet;
            astore 3 /* rs */
        start local 3 // java.sql.ResultSet rs
        14: .line 247
            aload 3 /* rs */
            ldc "IS_DEFAULT"
            invokeinterface java.sql.ResultSet.findColumn:(Ljava/lang/String;)I
            istore 4 /* index */
        start local 4 // int index
        15: .line 248
            goto 18
        16: .line 249
      StackMap locals: java.sql.ResultSet int
      StackMap stack:
            aload 3 /* rs */
            iload 4 /* index */
            invokeinterface java.sql.ResultSet.getBoolean:(I)Z
            ifeq 18
        17: .line 250
            aload 3 /* rs */
            ldc "TABLE_SCHEM"
            invokeinterface java.sql.ResultSet.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* defaultSchemaName */
        18: .line 248
      StackMap locals:
      StackMap stack:
            aload 3 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 16
        end local 4 // int index
        end local 3 // java.sql.ResultSet rs
        19: .line 253
            goto 21
      StackMap locals: org.h2.bnf.context.DbContents java.sql.DatabaseMetaData java.lang.String
      StackMap stack: java.sql.SQLException
        20: pop
        21: .line 256
      StackMap locals:
      StackMap stack:
            aload 2 /* defaultSchemaName */
            areturn
        end local 2 // java.lang.String defaultSchemaName
        end local 1 // java.sql.DatabaseMetaData meta
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Lorg/h2/bnf/context/DbContents;
            0   22     1               meta  Ljava/sql/DatabaseMetaData;
            1   22     2  defaultSchemaName  Ljava/lang/String;
           14   19     3                 rs  Ljava/sql/ResultSet;
           15   19     4              index  I
      Exception table:
        from    to  target  type
           1     3      20  Class java.sql.SQLException
           4     5      20  Class java.sql.SQLException
           6     7      20  Class java.sql.SQLException
           8    10      20  Class java.sql.SQLException
          11    12      20  Class java.sql.SQLException
          13    19      20  Class java.sql.SQLException
    MethodParameters:
      Name  Flags
      meta  

  public java.lang.String quoteIdentifier(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.h2.bnf.context.DbContents this
        start local 1 // java.lang.String identifier
         0: .line 266
            aload 1 /* identifier */
            ifnonnull 2
         1: .line 267
            aconst_null
            areturn
         2: .line 269
      StackMap locals:
      StackMap stack:
            aload 1 /* identifier */
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.databaseToUpper:Z
            aload 0 /* this */
            getfield org.h2.bnf.context.DbContents.databaseToLower:Z
            invokestatic org.h2.util.ParserUtil.isSimpleIdentifier:(Ljava/lang/String;ZZ)Z
            ifeq 4
         3: .line 270
            aload 1 /* identifier */
            areturn
         4: .line 272
      StackMap locals:
      StackMap stack:
            aload 1 /* identifier */
            invokestatic org.h2.util.StringUtils.quoteIdentifier:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String identifier
        end local 0 // org.h2.bnf.context.DbContents this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/h2/bnf/context/DbContents;
            0    5     1  identifier  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      identifier  
}
SourceFile: "DbContents.java"
InnerClasses:
  public final Settings = org.h2.jdbc.JdbcConnection$Settings of org.h2.jdbc.JdbcConnection