public class org.h2.engine.Database implements org.h2.store.DataHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.engine.Database
  super_class: java.lang.Object
{
  private static int initialPowerOffCount;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final boolean ASSERT;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.ThreadLocal<org.h2.engine.Session> META_LOCK_DEBUGGING;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Lorg/h2/engine/Session;>;

  private static final java.lang.ThreadLocal<org.h2.engine.Database> META_LOCK_DEBUGGING_DB;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Lorg/h2/engine/Database;>;

  private static final java.lang.ThreadLocal<java.lang.Throwable> META_LOCK_DEBUGGING_STACK;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Ljava/lang/Throwable;>;

  private static final org.h2.engine.Session[] EMPTY_SESSION_ARRAY;
    descriptor: [Lorg/h2/engine/Session;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String SYSTEM_USER_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "DBA"

  private final boolean persistent;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String databaseName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String databaseShortName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String databaseURL;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String cipher;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final byte[] filePasswordHash;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final byte[] fileEncryptionKey;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.HashMap<java.lang.String, org.h2.engine.Role> roles;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/engine/Role;>;

  private final java.util.HashMap<java.lang.String, org.h2.engine.User> users;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/engine/User;>;

  private final java.util.HashMap<java.lang.String, org.h2.engine.Setting> settings;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/engine/Setting;>;

  private final java.util.HashMap<java.lang.String, org.h2.schema.Schema> schemas;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/schema/Schema;>;

  private final java.util.HashMap<java.lang.String, org.h2.engine.Right> rights;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/engine/Right;>;

  private final java.util.HashMap<java.lang.String, org.h2.engine.Domain> domains;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/engine/Domain;>;

  private final java.util.HashMap<java.lang.String, org.h2.engine.UserAggregate> aggregates;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/engine/UserAggregate;>;

  private final java.util.HashMap<java.lang.String, org.h2.engine.Comment> comments;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/engine/Comment;>;

  private final java.util.HashMap<java.lang.String, org.h2.api.TableEngine> tableEngines;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/api/TableEngine;>;

  private final java.util.Set<org.h2.engine.Session> userSessions;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/h2/engine/Session;>;

  private final java.util.concurrent.atomic.AtomicReference<org.h2.engine.Session> exclusiveSession;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/h2/engine/Session;>;

  private final java.util.BitSet objectIds;
    descriptor: Ljava/util/BitSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object lobSyncObject;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.h2.schema.Schema mainSchema;
    descriptor: Lorg/h2/schema/Schema;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.schema.Schema infoSchema;
    descriptor: Lorg/h2/schema/Schema;
    flags: (0x0002) ACC_PRIVATE

  private int nextSessionId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int nextTempTableId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.h2.engine.User systemUser;
    descriptor: Lorg/h2/engine/User;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.engine.Session systemSession;
    descriptor: Lorg/h2/engine/Session;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.engine.Session lobSession;
    descriptor: Lorg/h2/engine/Session;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.table.Table meta;
    descriptor: Lorg/h2/table/Table;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.index.Index metaIdIndex;
    descriptor: Lorg/h2/index/Index;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.store.FileLock lock;
    descriptor: Lorg/h2/store/FileLock;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.store.WriterThread writer;
    descriptor: Lorg/h2/store/WriterThread;
    flags: (0x0002) ACC_PRIVATE

  private volatile boolean starting;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private org.h2.message.TraceSystem traceSystem;
    descriptor: Lorg/h2/message/TraceSystem;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.message.Trace trace;
    descriptor: Lorg/h2/message/Trace;
    flags: (0x0002) ACC_PRIVATE

  private final org.h2.store.FileLockMethod fileLockMethod;
    descriptor: Lorg/h2/store/FileLockMethod;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.h2.engine.Role publicRole;
    descriptor: Lorg/h2/engine/Role;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.concurrent.atomic.AtomicLong modificationDataId;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicLong modificationMetaId;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.h2.value.CompareMode compareMode;
    descriptor: Lorg/h2/value/CompareMode;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String cluster;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  private int writeDelay;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.h2.api.DatabaseEventListener eventListener;
    descriptor: Lorg/h2/api/DatabaseEventListener;
    flags: (0x0002) ACC_PRIVATE

  private int maxMemoryRows;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int maxMemoryUndo;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int lockMode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int maxLengthInplaceLob;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int allowLiterals;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int powerOffCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private volatile int closeDelay;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private org.h2.engine.DelayedDatabaseCloser delayedCloser;
    descriptor: Lorg/h2/engine/DelayedDatabaseCloser;
    flags: (0x0002) ACC_PRIVATE

  private volatile boolean closing;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

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

  private java.lang.String lobCompressionAlgorithm;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  private final java.lang.String cacheType;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String accessModeData;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private org.h2.engine.Mode mode;
    descriptor: Lorg/h2/engine/Mode;
    flags: (0x0002) ACC_PRIVATE

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

  private int maxOperationMemory;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.h2.util.SmallLRUCache<java.lang.String, java.lang.String[]> lobFileListCache;
    descriptor: Lorg/h2/util/SmallLRUCache;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/h2/util/SmallLRUCache<Ljava/lang/String;[Ljava/lang/String;>;

  private final boolean autoServerMode;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int autoServerPort;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.h2.tools.Server server;
    descriptor: Lorg/h2/tools/Server;
    flags: (0x0002) ACC_PRIVATE

  private java.util.HashMap<org.h2.table.TableLinkConnection, org.h2.table.TableLinkConnection> linkConnections;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Lorg/h2/table/TableLinkConnection;Lorg/h2/table/TableLinkConnection;>;

  private final org.h2.util.TempFileDeleter tempFileDeleter;
    descriptor: Lorg/h2/util/TempFileDeleter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.h2.store.PageStore pageStore;
    descriptor: Lorg/h2/store/PageStore;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Properties reconnectLastLock;
    descriptor: Ljava/util/Properties;
    flags: (0x0002) ACC_PRIVATE

  private volatile long reconnectCheckNext;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean reconnectChangePending;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile int checkpointAllowed;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean checkpointRunning;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final java.lang.Object reconnectSync;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int cacheSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int compactMode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.h2.util.SourceCompiler compiler;
    descriptor: Lorg/h2/util/SourceCompiler;
    flags: (0x0002) ACC_PRIVATE

  private volatile boolean metaTablesInitialized;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private org.h2.store.LobStorageInterface lobStorage;
    descriptor: Lorg/h2/store/LobStorageInterface;
    flags: (0x0002) ACC_PRIVATE

  private final int pageSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int defaultTableType;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final org.h2.engine.DbSettings dbSettings;
    descriptor: Lorg/h2/engine/DbSettings;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long reconnectCheckDelayNs;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int logMode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.h2.mvstore.db.MVTableEngine$Store store;
    descriptor: Lorg/h2/mvstore/db/MVTableEngine$Store;
    flags: (0x0002) ACC_PRIVATE

  private int retentionTime;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  private final java.util.concurrent.atomic.AtomicReference<org.h2.message.DbException> backgroundException;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/h2/message/DbException;>;

  private org.h2.api.JavaObjectSerializer javaObjectSerializer;
    descriptor: Lorg/h2/api/JavaObjectSerializer;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String javaObjectSerializerName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private volatile boolean javaObjectSerializerInitialized;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private int queryStatisticsMaxEntries;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.h2.engine.QueryStatisticsData queryStatisticsData;
    descriptor: Lorg/h2/engine/QueryStatisticsData;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.result.RowFactory rowFactory;
    descriptor: Lorg/h2/result/RowFactory;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.result.LocalResultFactory resultFactory;
    descriptor: Lorg/h2/result/LocalResultFactory;
    flags: (0x0002) ACC_PRIVATE

  private org.h2.security.auth.Authenticator authenticator;
    descriptor: Lorg/h2/security/auth/Authenticator;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 97
            ldc Lorg/h2/engine/Database;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.h2.engine.Database.$assertionsDisabled:Z
         3: .line 106
            iconst_0
            anewarray org.h2.engine.Session
            putstatic org.h2.engine.Database.EMPTY_SESSION_ARRAY:[Lorg/h2/engine/Session;
         4: .line 109
            iconst_0
            istore 0 /* a */
        start local 0 // boolean a
         5: .line 111
            getstatic org.h2.engine.Database.$assertionsDisabled:Z
            ifne 6
            iconst_1
            dup
            istore 0 /* a */
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 112
      StackMap locals: int
      StackMap stack:
            iload 0 /* a */
            putstatic org.h2.engine.Database.ASSERT:Z
         7: .line 113
            iload 0 /* a */
            ifeq 12
         8: .line 114
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic org.h2.engine.Database.META_LOCK_DEBUGGING:Ljava/lang/ThreadLocal;
         9: .line 115
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic org.h2.engine.Database.META_LOCK_DEBUGGING_DB:Ljava/lang/ThreadLocal;
        10: .line 116
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic org.h2.engine.Database.META_LOCK_DEBUGGING_STACK:Ljava/lang/ThreadLocal;
        11: .line 117
            goto 15
        12: .line 118
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic org.h2.engine.Database.META_LOCK_DEBUGGING:Ljava/lang/ThreadLocal;
        13: .line 119
            aconst_null
            putstatic org.h2.engine.Database.META_LOCK_DEBUGGING_DB:Ljava/lang/ThreadLocal;
        14: .line 120
            aconst_null
            putstatic org.h2.engine.Database.META_LOCK_DEBUGGING_STACK:Ljava/lang/ThreadLocal;
        end local 0 // boolean a
        15: .line 128
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            5   15     0     a  Z

  public void <init>(org.h2.engine.ConnectionInfo, java.lang.String);
    descriptor: (Lorg/h2/engine/ConnectionInfo;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.ConnectionInfo ci
        start local 2 // java.lang.String cipher
         0: .line 238
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 138
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.engine.Database.roles:Ljava/util/HashMap;
         2: .line 139
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.engine.Database.users:Ljava/util/HashMap;
         3: .line 140
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.engine.Database.settings:Ljava/util/HashMap;
         4: .line 141
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.engine.Database.schemas:Ljava/util/HashMap;
         5: .line 142
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.engine.Database.rights:Ljava/util/HashMap;
         6: .line 143
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.engine.Database.domains:Ljava/util/HashMap;
         7: .line 144
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.engine.Database.aggregates:Ljava/util/HashMap;
         8: .line 145
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.engine.Database.comments:Ljava/util/HashMap;
         9: .line 146
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.engine.Database.tableEngines:Ljava/util/HashMap;
        10: .line 148
            aload 0 /* this */
        11: .line 149
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokestatic java.util.Collections.synchronizedSet:(Ljava/util/Set;)Ljava/util/Set;
            putfield org.h2.engine.Database.userSessions:Ljava/util/Set;
        12: .line 150
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield org.h2.engine.Database.exclusiveSession:Ljava/util/concurrent/atomic/AtomicReference;
        13: .line 151
            aload 0 /* this */
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            putfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
        14: .line 152
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.h2.engine.Database.lobSyncObject:Ljava/lang/Object;
        15: .line 170
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putfield org.h2.engine.Database.modificationDataId:Ljava/util/concurrent/atomic/AtomicLong;
        16: .line 171
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putfield org.h2.engine.Database.modificationMetaId:Ljava/util/concurrent/atomic/AtomicLong;
        17: .line 173
            aload 0 /* this */
            ldc "''"
            putfield org.h2.engine.Database.cluster:Ljava/lang/String;
        18: .line 175
            aload 0 /* this */
            sipush 500
            putfield org.h2.engine.Database.writeDelay:I
        19: .line 177
            aload 0 /* this */
            getstatic org.h2.engine.SysProperties.MAX_MEMORY_ROWS:I
            putfield org.h2.engine.Database.maxMemoryRows:I
        20: .line 178
            aload 0 /* this */
            ldc 50000
            putfield org.h2.engine.Database.maxMemoryUndo:I
        21: .line 179
            aload 0 /* this */
            iconst_3
            putfield org.h2.engine.Database.lockMode:I
        22: .line 181
            aload 0 /* this */
            iconst_2
            putfield org.h2.engine.Database.allowLiterals:I
        23: .line 183
            aload 0 /* this */
            getstatic org.h2.engine.Database.initialPowerOffCount:I
            putfield org.h2.engine.Database.powerOffCount:I
        24: .line 190
            aload 0 /* this */
            iconst_1
            putfield org.h2.engine.Database.optimizeReuseResults:Z
        25: .line 193
            aload 0 /* this */
            iconst_1
            putfield org.h2.engine.Database.referentialIntegrity:Z
        26: .line 194
            aload 0 /* this */
            invokestatic org.h2.engine.Mode.getRegular:()Lorg/h2/engine/Mode;
            putfield org.h2.engine.Database.mode:Lorg/h2/engine/Mode;
        27: .line 197
            aload 0 /* this */
        28: .line 198
            ldc 100000
            putfield org.h2.engine.Database.maxOperationMemory:I
        29: .line 204
            aload 0 /* this */
            invokestatic org.h2.util.TempFileDeleter.getInstance:()Lorg/h2/util/TempFileDeleter;
            putfield org.h2.engine.Database.tempFileDeleter:Lorg/h2/util/TempFileDeleter;
        30: .line 211
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.h2.engine.Database.reconnectSync:Ljava/lang/Object;
        31: .line 219
            aload 0 /* this */
            iconst_0
            putfield org.h2.engine.Database.defaultTableType:I
        32: .line 226
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield org.h2.engine.Database.backgroundException:Ljava/util/concurrent/atomic/AtomicReference;
        33: .line 231
            aload 0 /* this */
            bipush 100
            putfield org.h2.engine.Database.queryStatisticsMaxEntries:I
        34: .line 233
            aload 0 /* this */
            getstatic org.h2.result.RowFactory.DEFAULT:Lorg/h2/result/RowFactory;
            putfield org.h2.engine.Database.rowFactory:Lorg/h2/result/RowFactory;
        35: .line 234
            aload 0 /* this */
            getstatic org.h2.result.LocalResultFactory.DEFAULT:Lorg/h2/result/LocalResultFactory;
            putfield org.h2.engine.Database.resultFactory:Lorg/h2/result/LocalResultFactory;
        36: .line 239
            getstatic org.h2.engine.Database.ASSERT:Z
            ifeq 40
        37: .line 240
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        38: .line 241
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING_DB:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        39: .line 242
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING_STACK:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        40: .line 244
      StackMap locals: org.h2.engine.Database org.h2.engine.ConnectionInfo java.lang.String
      StackMap stack:
            aload 1 /* ci */
            invokevirtual org.h2.engine.ConnectionInfo.getName:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
        41: .line 245
            aload 0 /* this */
            aload 1 /* ci */
            invokevirtual org.h2.engine.ConnectionInfo.getDbSettings:()Lorg/h2/engine/DbSettings;
            putfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
        42: .line 246
            aload 0 /* this */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.reconnectCheckDelay:I
            i2l
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            putfield org.h2.engine.Database.reconnectCheckDelayNs:J
        43: .line 247
            aload 0 /* this */
            aconst_null
            iconst_0
            invokestatic org.h2.value.CompareMode.getInstance:(Ljava/lang/String;I)Lorg/h2/value/CompareMode;
            putfield org.h2.engine.Database.compareMode:Lorg/h2/value/CompareMode;
        44: .line 248
            aload 0 /* this */
            aload 1 /* ci */
            invokevirtual org.h2.engine.ConnectionInfo.isPersistent:()Z
            putfield org.h2.engine.Database.persistent:Z
        45: .line 249
            aload 0 /* this */
            aload 1 /* ci */
            invokevirtual org.h2.engine.ConnectionInfo.getFilePasswordHash:()[B
            putfield org.h2.engine.Database.filePasswordHash:[B
        46: .line 250
            aload 0 /* this */
            aload 1 /* ci */
            invokevirtual org.h2.engine.ConnectionInfo.getFileEncryptionKey:()[B
            putfield org.h2.engine.Database.fileEncryptionKey:[B
        47: .line 251
            aload 0 /* this */
            aload 3 /* name */
            putfield org.h2.engine.Database.databaseName:Ljava/lang/String;
        48: .line 252
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.parseDatabaseShortName:()Ljava/lang/String;
            putfield org.h2.engine.Database.databaseShortName:Ljava/lang/String;
        49: .line 253
            aload 0 /* this */
            sipush 256
            putfield org.h2.engine.Database.maxLengthInplaceLob:I
        50: .line 254
            aload 0 /* this */
            aload 2 /* cipher */
            putfield org.h2.engine.Database.cipher:Ljava/lang/String;
        51: .line 255
            aload 1 /* ci */
            ldc "FILE_LOCK"
            aconst_null
            invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* lockMethodName */
        start local 4 // java.lang.String lockMethodName
        52: .line 256
            aload 0 /* this */
        53: .line 257
            aload 1 /* ci */
            ldc "ACCESS_MODE_DATA"
            ldc "rw"
            invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        54: .line 256
            invokestatic org.h2.util.StringUtils.toLowerEnglish:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.h2.engine.Database.accessModeData:Ljava/lang/String;
        55: .line 258
            aload 0 /* this */
            aload 1 /* ci */
            ldc "AUTO_SERVER"
            iconst_0
            invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;Z)Z
            putfield org.h2.engine.Database.autoServerMode:Z
        56: .line 259
            aload 0 /* this */
            aload 1 /* ci */
            ldc "AUTO_SERVER_PORT"
            iconst_0
            invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;I)I
            putfield org.h2.engine.Database.autoServerPort:I
        57: .line 261
            ldc 65536
        58: .line 260
            invokestatic org.h2.util.Utils.scaleForAvailableMemory:(I)I
            istore 5 /* defaultCacheSize */
        start local 5 // int defaultCacheSize
        59: .line 262
            aload 0 /* this */
        60: .line 263
            aload 1 /* ci */
            ldc "CACHE_SIZE"
            iload 5 /* defaultCacheSize */
            invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;I)I
        61: .line 262
            putfield org.h2.engine.Database.cacheSize:I
        62: .line 264
            aload 0 /* this */
            aload 1 /* ci */
            ldc "PAGE_SIZE"
        63: .line 265
            sipush 4096
        64: .line 264
            invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;I)I
            putfield org.h2.engine.Database.pageSize:I
        65: .line 266
            ldc "r"
            aload 0 /* this */
            getfield org.h2.engine.Database.accessModeData:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 67
        66: .line 267
            aload 0 /* this */
            iconst_1
            putfield org.h2.engine.Database.readOnly:Z
        67: .line 269
      StackMap locals: java.lang.String java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.mvStore:Z
            ifeq 73
            aload 4 /* lockMethodName */
            ifnonnull 73
        68: .line 270
            aload 0 /* this */
            getfield org.h2.engine.Database.autoServerMode:Z
            ifeq 71
        69: .line 271
            aload 0 /* this */
            getstatic org.h2.store.FileLockMethod.FILE:Lorg/h2/store/FileLockMethod;
            putfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
        70: .line 272
            goto 74
        71: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.h2.store.FileLockMethod.FS:Lorg/h2/store/FileLockMethod;
            putfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
        72: .line 275
            goto 74
        73: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* lockMethodName */
            invokestatic org.h2.store.FileLock.getFileLockMethod:(Ljava/lang/String;)Lorg/h2/store/FileLockMethod;
            putfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
        74: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.mvStore:Z
            ifeq 77
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpne 77
        75: .line 280
            ldc "MV_STORE combined with FILE_LOCK=SERIALIZED"
        76: .line 279
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        77: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ci */
            invokevirtual org.h2.engine.ConnectionInfo.getURL:()Ljava/lang/String;
            putfield org.h2.engine.Database.databaseURL:Ljava/lang/String;
        78: .line 283
            aload 1 /* ci */
            ldc "DATABASE_EVENT_LISTENER"
            aconst_null
            invokevirtual org.h2.engine.ConnectionInfo.removeProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* listener */
        start local 6 // java.lang.String listener
        79: .line 284
            aload 6 /* listener */
            ifnull 82
        80: .line 285
            aload 6 /* listener */
            iconst_1
            iconst_1
            ldc "'"
            invokestatic org.h2.util.StringUtils.trim:(Ljava/lang/String;ZZLjava/lang/String;)Ljava/lang/String;
            astore 6 /* listener */
        81: .line 286
            aload 0 /* this */
            aload 6 /* listener */
            invokevirtual org.h2.engine.Database.setEventListenerClass:(Ljava/lang/String;)V
        82: .line 288
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* ci */
            ldc "MODE"
            aconst_null
            invokevirtual org.h2.engine.ConnectionInfo.removeProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* modeName */
        start local 7 // java.lang.String modeName
        83: .line 289
            aload 7 /* modeName */
            ifnull 87
        84: .line 290
            aload 0 /* this */
            aload 7 /* modeName */
            invokestatic org.h2.engine.Mode.getInstance:(Ljava/lang/String;)Lorg/h2/engine/Mode;
            putfield org.h2.engine.Database.mode:Lorg/h2/engine/Mode;
        85: .line 291
            aload 0 /* this */
            getfield org.h2.engine.Database.mode:Lorg/h2/engine/Mode;
            ifnonnull 87
        86: .line 292
            ldc 90088
            aload 7 /* modeName */
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        87: .line 295
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
        88: .line 296
            aload 1 /* ci */
            ldc "LOG"
            iconst_2
            invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;I)I
        89: .line 295
            putfield org.h2.engine.Database.logMode:I
        90: .line 297
            aload 0 /* this */
        91: .line 298
            aload 1 /* ci */
            ldc "JAVA_OBJECT_SERIALIZER"
            aconst_null
            invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        92: .line 297
            putfield org.h2.engine.Database.javaObjectSerializerName:Ljava/lang/String;
        93: .line 299
            aload 0 /* this */
        94: .line 300
            aload 1 /* ci */
            ldc "MULTI_THREADED"
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.mvStore:Z
            invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;Z)Z
        95: .line 299
            putfield org.h2.engine.Database.multiThreaded:Z
        96: .line 301
            aload 0 /* this */
        97: .line 302
            aload 1 /* ci */
            ldc "BUILTIN_ALIAS_OVERRIDE"
            iconst_0
            invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;Z)Z
        98: .line 301
            putfield org.h2.engine.Database.allowBuiltinAliasOverride:Z
        99: .line 304
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.dbCloseOnExit:Z
       100: .line 303
            istore 8 /* closeAtVmShutdown */
        start local 8 // boolean closeAtVmShutdown
       101: .line 306
            aload 1 /* ci */
            bipush 10
       102: .line 307
            iconst_1
       103: .line 306
            invokevirtual org.h2.engine.ConnectionInfo.getIntProperty:(II)I
       104: .line 305
            istore 9 /* traceLevelFile */
        start local 9 // int traceLevelFile
       105: .line 309
            aload 1 /* ci */
            bipush 9
       106: .line 310
            iconst_0
       107: .line 309
            invokevirtual org.h2.engine.ConnectionInfo.getIntProperty:(II)I
       108: .line 308
            istore 10 /* traceLevelSystemOut */
        start local 10 // int traceLevelSystemOut
       109: .line 311
            aload 0 /* this */
       110: .line 312
            aload 1 /* ci */
            ldc "CACHE_TYPE"
            ldc "LRU"
            invokevirtual org.h2.engine.ConnectionInfo.removeProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
       111: .line 311
            invokestatic org.h2.util.StringUtils.toUpperEnglish:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.h2.engine.Database.cacheType:Ljava/lang/String;
       112: .line 313
            aload 0 /* this */
            iload 9 /* traceLevelFile */
            iload 10 /* traceLevelSystemOut */
            iload 8 /* closeAtVmShutdown */
            aload 1 /* ci */
            invokevirtual org.h2.engine.Database.openDatabase:(IIZLorg/h2/engine/ConnectionInfo;)V
       113: .line 314
            return
        end local 10 // int traceLevelSystemOut
        end local 9 // int traceLevelFile
        end local 8 // boolean closeAtVmShutdown
        end local 7 // java.lang.String modeName
        end local 6 // java.lang.String listener
        end local 5 // int defaultCacheSize
        end local 4 // java.lang.String lockMethodName
        end local 3 // java.lang.String name
        end local 2 // java.lang.String cipher
        end local 1 // org.h2.engine.ConnectionInfo ci
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  114     0                 this  Lorg/h2/engine/Database;
            0  114     1                   ci  Lorg/h2/engine/ConnectionInfo;
            0  114     2               cipher  Ljava/lang/String;
           41  114     3                 name  Ljava/lang/String;
           52  114     4       lockMethodName  Ljava/lang/String;
           59  114     5     defaultCacheSize  I
           79  114     6             listener  Ljava/lang/String;
           83  114     7             modeName  Ljava/lang/String;
          101  114     8    closeAtVmShutdown  Z
          105  114     9       traceLevelFile  I
          109  114    10  traceLevelSystemOut  I
    MethodParameters:
        Name  Flags
      ci      
      cipher  

  private void openDatabase(int, int, boolean, org.h2.engine.ConnectionInfo);
    descriptor: (IIZLorg/h2/engine/ConnectionInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // org.h2.engine.Database this
        start local 1 // int traceLevelFile
        start local 2 // int traceLevelSystemOut
        start local 3 // boolean closeAtVmShutdown
        start local 4 // org.h2.engine.ConnectionInfo ci
         0: .line 319
            aload 0 /* this */
            iload 1 /* traceLevelFile */
            iload 2 /* traceLevelSystemOut */
            aload 4 /* ci */
            invokevirtual org.h2.engine.Database.open:(IILorg/h2/engine/ConnectionInfo;)V
         1: .line 320
            iload 3 /* closeAtVmShutdown */
            ifeq 23
         2: .line 321
            aload 0 /* this */
            invokestatic org.h2.engine.OnExitDatabaseCloser.register:(Lorg/h2/engine/Database;)V
         3: .line 323
            goto 23
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 5 /* e */
        start local 5 // java.lang.Throwable e
         5: .line 325
            aload 5 /* e */
            instanceof java.lang.OutOfMemoryError
            ifeq 7
         6: .line 326
            aload 5 /* e */
            invokevirtual java.lang.Throwable.fillInStackTrace:()Ljava/lang/Throwable;
            pop
         7: .line 328
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5 /* e */
            instanceof org.h2.message.DbException
            ifeq 10
         8: .line 329
            aload 5 /* e */
            checkcast org.h2.message.DbException
            invokevirtual org.h2.message.DbException.getErrorCode:()I
            ldc 90020
            if_icmpne 10
         9: .line 328
            iconst_1
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 6 /* alreadyOpen */
        start local 6 // boolean alreadyOpen
        12: .line 330
            iload 6 /* alreadyOpen */
            ifeq 14
        13: .line 331
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.stopServer:()V
        14: .line 334
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            ifnull 18
        15: .line 335
            aload 5 /* e */
            instanceof org.h2.message.DbException
            ifeq 17
            iload 6 /* alreadyOpen */
            ifne 17
        16: .line 337
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 5 /* e */
            ldc "opening {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            aastore
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            invokevirtual org.h2.message.TraceSystem.close:()V
        18: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.engine.Database.closeOpenFilesAndUnlock:(Z)V
        end local 6 // boolean alreadyOpen
        19: .line 342
            goto 22
      StackMap locals: org.h2.engine.Database int int int org.h2.engine.ConnectionInfo java.lang.Throwable
      StackMap stack: java.lang.Throwable
        20: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        21: .line 343
            aload 5 /* e */
            aload 6 /* ex */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
        end local 6 // java.lang.Throwable ex
        22: .line 345
      StackMap locals:
      StackMap stack:
            aload 5 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 5 // java.lang.Throwable e
        23: .line 347
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.h2.engine.ConnectionInfo ci
        end local 3 // boolean closeAtVmShutdown
        end local 2 // int traceLevelSystemOut
        end local 1 // int traceLevelFile
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   24     0                 this  Lorg/h2/engine/Database;
            0   24     1       traceLevelFile  I
            0   24     2  traceLevelSystemOut  I
            0   24     3    closeAtVmShutdown  Z
            0   24     4                   ci  Lorg/h2/engine/ConnectionInfo;
            5   23     5                    e  Ljava/lang/Throwable;
           12   19     6          alreadyOpen  Z
           21   22     6                   ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Throwable
           5    19      20  Class java.lang.Throwable
    MethodParameters:
                     Name  Flags
      traceLevelFile       
      traceLevelSystemOut  
      closeAtVmShutdown    
      ci                   

  public int getLockTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 350
            aload 0 /* this */
         1: .line 351
            bipush 6
            invokestatic org.h2.command.dml.SetTypes.getTypeName:(I)Ljava/lang/String;
         2: .line 350
            invokevirtual org.h2.engine.Database.findSetting:(Ljava/lang/String;)Lorg/h2/engine/Setting;
            astore 1 /* setting */
        start local 1 // org.h2.engine.Setting setting
         3: .line 352
            aload 1 /* setting */
            ifnonnull 4
            sipush 2000
            goto 5
      StackMap locals: org.h2.engine.Setting
      StackMap stack:
         4: aload 1 /* setting */
            invokevirtual org.h2.engine.Setting.getIntValue:()I
      StackMap locals:
      StackMap stack: int
         5: ireturn
        end local 1 // org.h2.engine.Setting setting
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/h2/engine/Database;
            3    6     1  setting  Lorg/h2/engine/Setting;

  public org.h2.result.Row createRow(org.h2.value.Value[], int);
    descriptor: ([Lorg/h2/value/Value;I)Lorg/h2/result/Row;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.value.Value[] data
        start local 2 // int memory
         0: .line 363
            aload 0 /* this */
            getfield org.h2.engine.Database.rowFactory:Lorg/h2/result/RowFactory;
            aload 1 /* data */
            iload 2 /* memory */
            invokevirtual org.h2.result.RowFactory.createRow:([Lorg/h2/value/Value;I)Lorg/h2/result/Row;
            areturn
        end local 2 // int memory
        end local 1 // org.h2.value.Value[] data
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/h2/engine/Database;
            0    1     1    data  [Lorg/h2/value/Value;
            0    1     2  memory  I
    MethodParameters:
        Name  Flags
      data    
      memory  

  public org.h2.result.RowFactory getRowFactory();
    descriptor: ()Lorg/h2/result/RowFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 367
            aload 0 /* this */
            getfield org.h2.engine.Database.rowFactory:Lorg/h2/result/RowFactory;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setRowFactory(org.h2.result.RowFactory);
    descriptor: (Lorg/h2/result/RowFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.result.RowFactory rowFactory
         0: .line 371
            aload 0 /* this */
            aload 1 /* rowFactory */
            putfield org.h2.engine.Database.rowFactory:Lorg/h2/result/RowFactory;
         1: .line 372
            return
        end local 1 // org.h2.result.RowFactory rowFactory
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/h2/engine/Database;
            0    2     1  rowFactory  Lorg/h2/result/RowFactory;
    MethodParameters:
            Name  Flags
      rowFactory  

  public org.h2.result.LocalResultFactory getResultFactory();
    descriptor: ()Lorg/h2/result/LocalResultFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 375
            aload 0 /* this */
            getfield org.h2.engine.Database.resultFactory:Lorg/h2/result/LocalResultFactory;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setResultFactory(org.h2.result.LocalResultFactory);
    descriptor: (Lorg/h2/result/LocalResultFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.result.LocalResultFactory resultFactory
         0: .line 379
            aload 0 /* this */
            aload 1 /* resultFactory */
            putfield org.h2.engine.Database.resultFactory:Lorg/h2/result/LocalResultFactory;
         1: .line 380
            return
        end local 1 // org.h2.result.LocalResultFactory resultFactory
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/h2/engine/Database;
            0    2     1  resultFactory  Lorg/h2/result/LocalResultFactory;
    MethodParameters:
               Name  Flags
      resultFactory  

  public static void setInitialPowerOffCount(int);
    descriptor: (I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int count
         0: .line 383
            iload 0 /* count */
            putstatic org.h2.engine.Database.initialPowerOffCount:I
         1: .line 384
            return
        end local 0 // int count
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  count  I
    MethodParameters:
       Name  Flags
      count  

  public void setPowerOffCount(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int count
         0: .line 387
            aload 0 /* this */
            getfield org.h2.engine.Database.powerOffCount:I
            iconst_m1
            if_icmpne 2
         1: .line 388
            return
         2: .line 390
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* count */
            putfield org.h2.engine.Database.powerOffCount:I
         3: .line 391
            return
        end local 1 // int count
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/h2/engine/Database;
            0    4     1  count  I
    MethodParameters:
       Name  Flags
      count  

  public org.h2.mvstore.db.MVTableEngine$Store getStore();
    descriptor: ()Lorg/h2/mvstore/db/MVTableEngine$Store;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 394
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setStore(org.h2.mvstore.db.MVTableEngine$Store);
    descriptor: (Lorg/h2/mvstore/db/MVTableEngine$Store;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.mvstore.db.MVTableEngine$Store store
         0: .line 398
            aload 0 /* this */
            aload 1 /* store */
            putfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
         1: .line 399
            aload 0 /* this */
            aload 1 /* store */
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.getMvStore:()Lorg/h2/mvstore/MVStore;
            invokevirtual org.h2.mvstore.MVStore.getRetentionTime:()I
            putfield org.h2.engine.Database.retentionTime:I
         2: .line 400
            return
        end local 1 // org.h2.mvstore.db.MVTableEngine$Store store
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/h2/engine/Database;
            0    3     1  store  Lorg/h2/mvstore/db/MVTableEngine$Store;
    MethodParameters:
       Name  Flags
      store  

  public boolean areEqual(org.h2.value.Value, org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;Lorg/h2/value/Value;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.value.Value a
        start local 2 // org.h2.value.Value b
         0: .line 411
            aload 1 /* a */
            aload 2 /* b */
            aload 0 /* this */
            getfield org.h2.engine.Database.mode:Lorg/h2/engine/Mode;
            aload 0 /* this */
            getfield org.h2.engine.Database.compareMode:Lorg/h2/value/CompareMode;
            invokevirtual org.h2.value.Value.compareTo:(Lorg/h2/value/Value;Lorg/h2/engine/Mode;Lorg/h2/value/CompareMode;)I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // org.h2.value.Value b
        end local 1 // org.h2.value.Value a
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/engine/Database;
            0    2     1     a  Lorg/h2/value/Value;
            0    2     2     b  Lorg/h2/value/Value;
    MethodParameters:
      Name  Flags
      a     
      b     

  public int compare(org.h2.value.Value, org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;Lorg/h2/value/Value;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.value.Value a
        start local 2 // org.h2.value.Value b
         0: .line 424
            aload 1 /* a */
            aload 2 /* b */
            aload 0 /* this */
            getfield org.h2.engine.Database.mode:Lorg/h2/engine/Mode;
            aload 0 /* this */
            getfield org.h2.engine.Database.compareMode:Lorg/h2/value/CompareMode;
            invokevirtual org.h2.value.Value.compareTo:(Lorg/h2/value/Value;Lorg/h2/engine/Mode;Lorg/h2/value/CompareMode;)I
            ireturn
        end local 2 // org.h2.value.Value b
        end local 1 // org.h2.value.Value a
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
            0    1     1     a  Lorg/h2/value/Value;
            0    1     2     b  Lorg/h2/value/Value;
    MethodParameters:
      Name  Flags
      a     
      b     

  public int compareWithNull(org.h2.value.Value, org.h2.value.Value, boolean);
    descriptor: (Lorg/h2/value/Value;Lorg/h2/value/Value;Z)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.value.Value a
        start local 2 // org.h2.value.Value b
        start local 3 // boolean forEquality
         0: .line 439
            aload 1 /* a */
            aload 2 /* b */
            iload 3 /* forEquality */
            aload 0 /* this */
            getfield org.h2.engine.Database.mode:Lorg/h2/engine/Mode;
            aload 0 /* this */
            getfield org.h2.engine.Database.compareMode:Lorg/h2/value/CompareMode;
            invokevirtual org.h2.value.Value.compareWithNull:(Lorg/h2/value/Value;ZLorg/h2/engine/Mode;Lorg/h2/value/CompareMode;)I
            ireturn
        end local 3 // boolean forEquality
        end local 2 // org.h2.value.Value b
        end local 1 // org.h2.value.Value a
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/h2/engine/Database;
            0    1     1            a  Lorg/h2/value/Value;
            0    1     2            b  Lorg/h2/value/Value;
            0    1     3  forEquality  Z
    MethodParameters:
             Name  Flags
      a            
      b            
      forEquality  

  public int compareTypeSafe(org.h2.value.Value, org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;Lorg/h2/value/Value;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.value.Value a
        start local 2 // org.h2.value.Value b
         0: .line 452
            aload 1 /* a */
            aload 2 /* b */
            aload 0 /* this */
            getfield org.h2.engine.Database.compareMode:Lorg/h2/value/CompareMode;
            invokevirtual org.h2.value.Value.compareTypeSafe:(Lorg/h2/value/Value;Lorg/h2/value/CompareMode;)I
            ireturn
        end local 2 // org.h2.value.Value b
        end local 1 // org.h2.value.Value a
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
            0    1     1     a  Lorg/h2/value/Value;
            0    1     2     b  Lorg/h2/value/Value;
    MethodParameters:
      Name  Flags
      a     
      b     

  public long getModificationDataId();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 456
            aload 0 /* this */
            getfield org.h2.engine.Database.modificationDataId:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lreturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  private synchronized boolean reconnectModified(boolean);
    descriptor: (Z)Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean pending
         0: .line 467
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifne 2
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ifnull 2
         1: .line 468
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpeq 3
         2: .line 469
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         3: .line 472
      StackMap locals:
      StackMap stack:
            iload 1 /* pending */
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectChangePending:Z
            if_icmpne 15
         4: .line 473
            invokestatic java.lang.System.nanoTime:()J
            lstore 2 /* now */
        start local 2 // long now
         5: .line 474
            lload 2 /* now */
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckNext:J
            lcmp
            ifle 14
         6: .line 475
            iload 1 /* pending */
            ifeq 13
         7: .line 476
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnonnull 9
         8: .line 477
            aconst_null
            goto 10
      StackMap locals: long
      StackMap stack:
         9: aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.getWriteCountTotal:()J
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
        10: .line 476
      StackMap locals:
      StackMap stack: java.lang.String
            astore 4 /* pos */
        start local 4 // java.lang.String pos
        11: .line 478
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ldc "logPos"
            aload 4 /* pos */
            invokevirtual org.h2.store.FileLock.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 479
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.save:()Ljava/util/Properties;
            pop
        end local 4 // java.lang.String pos
        13: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* now */
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckDelayNs:J
            ladd
            putfield org.h2.engine.Database.reconnectCheckNext:J
        14: .line 483
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // long now
        15: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.load:()Ljava/util/Properties;
            astore 2 /* old */
        start local 2 // java.util.Properties old
        16: .line 486
            iload 1 /* pending */
            ifeq 24
        17: .line 487
            aload 2 /* old */
            ldc "changePending"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 19
        18: .line 488
            iconst_0
            ireturn
        19: .line 490
      StackMap locals: java.util.Properties
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            ldc "wait before writing"
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
        20: .line 491
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckDelayNs:J
            l2d
            ldc 1.1
            dmul
            d2l
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            invokestatic java.lang.Thread.sleep:(J)V
        21: .line 492
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.load:()Ljava/util/Properties;
            astore 3 /* now */
        start local 3 // java.util.Properties now
        22: .line 493
            aload 3 /* now */
            aload 2 /* old */
            invokevirtual java.util.Properties.equals:(Ljava/lang/Object;)Z
            ifne 24
        23: .line 495
            iconst_0
            ireturn
        end local 3 // java.util.Properties now
        24: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnonnull 26
        25: .line 499
            aconst_null
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.getWriteCountTotal:()J
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
        27: .line 498
      StackMap locals:
      StackMap stack: java.lang.String
            astore 3 /* pos */
        start local 3 // java.lang.String pos
        28: .line 500
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ldc "logPos"
            aload 3 /* pos */
            invokevirtual org.h2.store.FileLock.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
        29: .line 501
            iload 1 /* pending */
            ifeq 32
        30: .line 502
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ldc "changePending"
            new java.lang.StringBuilder
            dup
            ldc "true-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Math.random:()D
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.store.FileLock.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
        31: .line 503
            goto 33
        32: .line 504
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ldc "changePending"
            aconst_null
            invokevirtual org.h2.store.FileLock.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
        33: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.lang.System.nanoTime:()J
        34: .line 509
            ldc 2
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckDelayNs:J
            lmul
            ladd
        35: .line 508
            putfield org.h2.engine.Database.reconnectCheckNext:J
        36: .line 510
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.save:()Ljava/util/Properties;
            astore 2 /* old */
        37: .line 511
            iload 1 /* pending */
            ifeq 43
        38: .line 512
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            ldc "wait before writing again"
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
        39: .line 513
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckDelayNs:J
            l2d
            ldc 1.1
            dmul
            d2l
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            invokestatic java.lang.Thread.sleep:(J)V
        40: .line 514
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.load:()Ljava/util/Properties;
            astore 4 /* now */
        start local 4 // java.util.Properties now
        41: .line 515
            aload 4 /* now */
            aload 2 /* old */
            invokevirtual java.util.Properties.equals:(Ljava/lang/Object;)Z
            ifne 44
        42: .line 517
            iconst_0
            ireturn
        end local 4 // java.util.Properties now
        43: .line 520
      StackMap locals:
      StackMap stack:
            lconst_1
            invokestatic java.lang.Thread.sleep:(J)V
        44: .line 522
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* old */
            putfield org.h2.engine.Database.reconnectLastLock:Ljava/util/Properties;
        45: .line 523
            aload 0 /* this */
            iload 1 /* pending */
            putfield org.h2.engine.Database.reconnectChangePending:Z
        46: .line 524
            aload 0 /* this */
            invokestatic java.lang.System.nanoTime:()J
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckDelayNs:J
            ladd
            putfield org.h2.engine.Database.reconnectCheckNext:J
        47: .line 525
            iconst_1
            ireturn
        end local 3 // java.lang.String pos
        end local 2 // java.util.Properties old
        48: .line 526
      StackMap locals: org.h2.engine.Database int
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        49: .line 527
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 2 /* e */
            ldc "pending {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* pending */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
        50: .line 528
            iconst_0
            ireturn
        end local 2 // java.lang.Exception e
        end local 1 // boolean pending
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   51     0     this  Lorg/h2/engine/Database;
            0   51     1  pending  Z
            5   15     2      now  J
           11   13     4      pos  Ljava/lang/String;
           16   48     2      old  Ljava/util/Properties;
           22   24     3      now  Ljava/util/Properties;
           28   48     3      pos  Ljava/lang/String;
           41   43     4      now  Ljava/util/Properties;
           49   51     2        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3    14      48  Class java.lang.Exception
          15    18      48  Class java.lang.Exception
          19    23      48  Class java.lang.Exception
          24    42      48  Class java.lang.Exception
          43    47      48  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      pending  

  public long getNextModificationDataId();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 533
            aload 0 /* this */
            getfield org.h2.engine.Database.modificationDataId:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            lreturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public long getModificationMetaId();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 537
            aload 0 /* this */
            getfield org.h2.engine.Database.modificationMetaId:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
            lreturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public long getNextModificationMetaId();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 543
            aload 0 /* this */
            getfield org.h2.engine.Database.modificationDataId:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            pop2
         1: .line 544
            aload 0 /* this */
            getfield org.h2.engine.Database.modificationMetaId:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            lconst_1
            lsub
            lreturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/engine/Database;

  public int getPowerOffCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 548
            aload 0 /* this */
            getfield org.h2.engine.Database.powerOffCount:I
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void checkPowerOff();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 553
            aload 0 /* this */
            getfield org.h2.engine.Database.powerOffCount:I
            ifne 2
         1: .line 554
            return
         2: .line 556
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.powerOffCount:I
            iconst_1
            if_icmple 5
         3: .line 557
            aload 0 /* this */
            dup
            getfield org.h2.engine.Database.powerOffCount:I
            iconst_1
            isub
            putfield org.h2.engine.Database.powerOffCount:I
         4: .line 558
            return
         5: .line 560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.powerOffCount:I
            iconst_m1
            if_icmpeq 30
         6: .line 562
            aload 0 /* this */
            iconst_m1
            putfield org.h2.engine.Database.powerOffCount:I
         7: .line 563
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.stopWriter:()V
         8: .line 564
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 10
         9: .line 565
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.closeImmediately:()V
        10: .line 567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
        11: .line 568
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 16
        12: .line 570
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.close:()V
        13: .line 571
            goto 15
      StackMap locals: org.h2.engine.Database org.h2.engine.Database
      StackMap stack: org.h2.message.DbException
        14: pop
        15: .line 574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
        16: .line 567
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        17: goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: aload 1
            monitorexit
        19: athrow
        20: .line 577
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ifnull 25
        21: .line 578
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.stopServer:()V
        22: .line 579
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpeq 24
        23: .line 581
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.unlock:()V
        24: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
        25: .line 585
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            ifnull 30
        26: .line 586
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            invokevirtual org.h2.message.TraceSystem.close:()V
        27: .line 588
            goto 30
      StackMap locals:
      StackMap stack: org.h2.message.DbException
        28: astore 1 /* e */
        start local 1 // org.h2.message.DbException e
        29: .line 589
            aload 1 /* e */
            invokestatic org.h2.message.DbException.traceThrowable:(Ljava/lang/Throwable;)V
        end local 1 // org.h2.message.DbException e
        30: .line 592
      StackMap locals:
      StackMap stack:
            invokestatic org.h2.engine.Engine.getInstance:()Lorg/h2/engine/Engine;
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokevirtual org.h2.engine.Engine.close:(Ljava/lang/String;)V
        31: .line 593
            ldc 90098
            invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
            athrow
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   32     0  this  Lorg/h2/engine/Database;
           29   30     1     e  Lorg/h2/message/DbException;
      Exception table:
        from    to  target  type
          12    13      14  Class org.h2.message.DbException
          11    17      18  any
          18    19      18  any
           6    27      28  Class org.h2.message.DbException

  static boolean exists(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 603
            new java.lang.StringBuilder
            dup
            aload 0 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".h2.db"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 604
            iconst_1
            ireturn
         2: .line 606
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".mv.db"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.h2.message.Trace getTrace(int);
    descriptor: (I)Lorg/h2/message/Trace;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int moduleId
         0: .line 616
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            iload 1 /* moduleId */
            invokevirtual org.h2.message.TraceSystem.getTrace:(I)Lorg/h2/message/Trace;
            areturn
        end local 1 // int moduleId
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/h2/engine/Database;
            0    1     1  moduleId  I
    MethodParameters:
          Name  Flags
      moduleId  

  public org.h2.store.FileStore openFile(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Lorg/h2/store/FileStore;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String openMode
        start local 3 // boolean mustExist
         0: .line 621
            iload 3 /* mustExist */
            ifeq 2
            aload 1 /* name */
            invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
            ifne 2
         1: .line 622
            ldc 90124
            aload 1 /* name */
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         2: .line 624
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* openMode */
            aload 0 /* this */
            getfield org.h2.engine.Database.cipher:Ljava/lang/String;
         3: .line 625
            aload 0 /* this */
            getfield org.h2.engine.Database.filePasswordHash:[B
         4: .line 624
            invokestatic org.h2.store.FileStore.open:(Lorg/h2/store/DataHandler;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B)Lorg/h2/store/FileStore;
            astore 4 /* store */
        start local 4 // org.h2.store.FileStore store
         5: .line 627
            aload 4 /* store */
            invokevirtual org.h2.store.FileStore.init:()V
         6: .line 628
            goto 10
      StackMap locals: org.h2.engine.Database java.lang.String java.lang.String int org.h2.store.FileStore
      StackMap stack: org.h2.message.DbException
         7: astore 5 /* e */
        start local 5 // org.h2.message.DbException e
         8: .line 629
            aload 4 /* store */
            invokevirtual org.h2.store.FileStore.closeSilently:()V
         9: .line 630
            aload 5 /* e */
            athrow
        end local 5 // org.h2.message.DbException e
        10: .line 632
      StackMap locals:
      StackMap stack:
            aload 4 /* store */
            areturn
        end local 4 // org.h2.store.FileStore store
        end local 3 // boolean mustExist
        end local 2 // java.lang.String openMode
        end local 1 // java.lang.String name
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/h2/engine/Database;
            0   11     1       name  Ljava/lang/String;
            0   11     2   openMode  Ljava/lang/String;
            0   11     3  mustExist  Z
            5   11     4      store  Lorg/h2/store/FileStore;
            8   10     5          e  Lorg/h2/message/DbException;
      Exception table:
        from    to  target  type
           5     6       7  Class org.h2.message.DbException
    MethodParameters:
           Name  Flags
      name       
      openMode   
      mustExist  

  boolean validateFilePasswordHash(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String testCipher
        start local 2 // byte[] testHash
         0: .line 643
            aload 1 /* testCipher */
            aload 0 /* this */
            getfield org.h2.engine.Database.cipher:Ljava/lang/String;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 2
         1: .line 644
            iconst_0
            ireturn
         2: .line 646
      StackMap locals:
      StackMap stack:
            aload 2 /* testHash */
            aload 0 /* this */
            getfield org.h2.engine.Database.filePasswordHash:[B
            invokestatic org.h2.util.Utils.compareSecure:([B[B)Z
            ireturn
        end local 2 // byte[] testHash
        end local 1 // java.lang.String testCipher
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/h2/engine/Database;
            0    3     1  testCipher  Ljava/lang/String;
            0    3     2    testHash  [B
    MethodParameters:
            Name  Flags
      testCipher  
      testHash    

  private java.lang.String parseDatabaseShortName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 650
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            astore 1 /* n */
        start local 1 // java.lang.String n
         1: .line 651
            aload 1 /* n */
            ldc ":"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 652
            aconst_null
            astore 1 /* n */
         3: .line 654
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* n */
            ifnull 8
         4: .line 655
            new java.util.StringTokenizer
            dup
            aload 1 /* n */
            ldc "/\\:,;"
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* tokenizer */
        start local 2 // java.util.StringTokenizer tokenizer
         5: .line 656
            goto 7
         6: .line 657
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            aload 2 /* tokenizer */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 1 /* n */
         7: .line 656
      StackMap locals:
      StackMap stack:
            aload 2 /* tokenizer */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 6
        end local 2 // java.util.StringTokenizer tokenizer
         8: .line 660
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            ifnull 9
            aload 1 /* n */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 10
         9: .line 661
      StackMap locals:
      StackMap stack:
            ldc "unnamed"
            astore 1 /* n */
        10: .line 663
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.databaseToUpper:Z
            ifeq 11
            aload 1 /* n */
            invokestatic org.h2.util.StringUtils.toUpperEnglish:(Ljava/lang/String;)Ljava/lang/String;
            goto 13
        11: .line 664
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.databaseToLower:Z
            ifeq 12
            aload 1 /* n */
            invokestatic org.h2.util.StringUtils.toLowerEnglish:(Ljava/lang/String;)Ljava/lang/String;
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 1 /* n */
        13: .line 663
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 1 // java.lang.String n
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/h2/engine/Database;
            1   14     1          n  Ljava/lang/String;
            5    8     2  tokenizer  Ljava/util/StringTokenizer;

  private synchronized void open(int, int, org.h2.engine.ConnectionInfo);
    descriptor: (IILorg/h2/engine/ConnectionInfo;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=9, locals=15, args_size=4
        start local 0 // org.h2.engine.Database this
        start local 1 // int traceLevelFile
        start local 2 // int traceLevelSystemOut
        start local 3 // org.h2.engine.ConnectionInfo ci
         0: .line 668
            aload 0 /* this */
            getfield org.h2.engine.Database.persistent:Z
            ifeq 80
         1: .line 669
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".data.db"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* dataFileName */
        start local 4 // java.lang.String dataFileName
         2: .line 670
            aload 4 /* dataFileName */
            invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
            istore 5 /* existsData */
        start local 5 // boolean existsData
         3: .line 671
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".h2.db"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* pageFileName */
        start local 6 // java.lang.String pageFileName
         4: .line 672
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".mv.db"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* mvFileName */
        start local 7 // java.lang.String mvFileName
         5: .line 673
            aload 6 /* pageFileName */
            invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
            istore 8 /* existsPage */
        start local 8 // boolean existsPage
         6: .line 674
            aload 7 /* mvFileName */
            invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
            istore 9 /* existsMv */
        start local 9 // boolean existsMv
         7: .line 675
            iload 5 /* existsData */
            ifeq 13
            iload 8 /* existsPage */
            ifne 13
            iload 9 /* existsMv */
            ifne 13
         8: .line 677
            ldc 90048
            new java.lang.StringBuilder
            dup
            ldc "Old database: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 678
            aload 4 /* dataFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 679
            ldc " - please convert the database "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 680
            ldc "to a SQL script and re-create it."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 676
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        13: .line 682
      StackMap locals: org.h2.engine.Database int int org.h2.engine.ConnectionInfo java.lang.String int java.lang.String java.lang.String int int
      StackMap stack:
            iload 8 /* existsPage */
            ifeq 15
            aload 6 /* pageFileName */
            invokestatic org.h2.store.fs.FileUtils.canWrite:(Ljava/lang/String;)Z
            ifne 15
        14: .line 683
            aload 0 /* this */
            iconst_1
            putfield org.h2.engine.Database.readOnly:Z
        15: .line 685
      StackMap locals:
      StackMap stack:
            iload 9 /* existsMv */
            ifeq 17
            aload 7 /* mvFileName */
            invokestatic org.h2.store.fs.FileUtils.canWrite:(Ljava/lang/String;)Z
            ifne 17
        16: .line 686
            aload 0 /* this */
            iconst_1
            putfield org.h2.engine.Database.readOnly:Z
        17: .line 688
      StackMap locals:
      StackMap stack:
            iload 8 /* existsPage */
            ifeq 20
            iload 9 /* existsMv */
            ifne 20
        18: .line 689
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            iconst_0
            putfield org.h2.engine.DbSettings.mvStore:Z
        19: .line 692
            aload 0 /* this */
            aload 3 /* ci */
            ldc "MULTI_THREADED"
            iconst_0
            invokevirtual org.h2.engine.ConnectionInfo.getProperty:(Ljava/lang/String;Z)Z
            putfield org.h2.engine.Database.multiThreaded:Z
        20: .line 694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifeq 31
        21: .line 695
            iload 1 /* traceLevelFile */
            iconst_3
            if_icmplt 29
        22: .line 696
            new java.lang.StringBuilder
            dup
            ldc "java.io.tmpdir"
            ldc "."
            invokestatic org.h2.util.Utils.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        23: .line 697
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "h2_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        24: .line 696
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* traceFile */
        start local 10 // java.lang.String traceFile
        25: .line 698
            aload 0 /* this */
            new org.h2.message.TraceSystem
            dup
            new java.lang.StringBuilder
            dup
            aload 10 /* traceFile */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        26: .line 699
            ldc ".trace.db"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.h2.message.TraceSystem.<init>:(Ljava/lang/String;)V
        27: .line 698
            putfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
        end local 10 // java.lang.String traceFile
        28: .line 700
            goto 34
        29: .line 701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.h2.message.TraceSystem
            dup
            aconst_null
            invokespecial org.h2.message.TraceSystem.<init>:(Ljava/lang/String;)V
            putfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
        30: .line 703
            goto 34
        31: .line 704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.h2.message.TraceSystem
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        32: .line 705
            ldc ".trace.db"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.h2.message.TraceSystem.<init>:(Ljava/lang/String;)V
        33: .line 704
            putfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
        34: .line 707
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            iload 1 /* traceLevelFile */
            invokevirtual org.h2.message.TraceSystem.setLevelFile:(I)V
        35: .line 708
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            iload 2 /* traceLevelSystemOut */
            invokevirtual org.h2.message.TraceSystem.setLevelSystemOut:(I)V
        36: .line 709
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            iconst_2
            invokevirtual org.h2.message.TraceSystem.getTrace:(I)Lorg/h2/message/Trace;
            putfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
        37: .line 710
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            ldc "opening {0} (build {1})"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            sipush 199
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.h2.message.Trace.info:(Ljava/lang/String;[Ljava/lang/Object;)V
        38: .line 711
            aload 0 /* this */
            getfield org.h2.engine.Database.autoServerMode:Z
            ifeq 45
        39: .line 712
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifne 43
        40: .line 713
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.NO:Lorg/h2/store/FileLockMethod;
            if_acmpeq 43
        41: .line 714
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpeq 43
        42: .line 715
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.FS:Lorg/h2/store/FileLockMethod;
            if_acmpne 45
        43: .line 717
      StackMap locals:
      StackMap stack:
            ldc "autoServerMode && (readOnly || fileLockMethod == NO || fileLockMethod == SERIALIZED || fileLockMethod == FS || inMemory)"
        44: .line 716
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        45: .line 724
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".lock.db"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* lockFileName */
        start local 10 // java.lang.String lockFileName
        46: .line 725
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifeq 51
        47: .line 726
            aload 10 /* lockFileName */
            invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
            ifeq 51
        48: .line 727
            ldc 90020
        49: .line 728
            new java.lang.StringBuilder
            dup
            ldc "Lock file exists: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* lockFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        50: .line 727
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        51: .line 731
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifne 57
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.NO:Lorg/h2/store/FileLockMethod;
            if_acmpeq 57
        52: .line 732
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.FS:Lorg/h2/store/FileLockMethod;
            if_acmpeq 57
        53: .line 733
            aload 0 /* this */
            new org.h2.store.FileLock
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            aload 10 /* lockFileName */
            sipush 1000
            invokespecial org.h2.store.FileLock.<init>:(Lorg/h2/message/TraceSystem;Ljava/lang/String;I)V
            putfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
        54: .line 734
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            invokevirtual org.h2.store.FileLock.lock:(Lorg/h2/store/FileLockMethod;)V
        55: .line 735
            aload 0 /* this */
            getfield org.h2.engine.Database.autoServerMode:Z
            ifeq 57
        56: .line 736
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.getUniqueId:()Ljava/lang/String;
            invokevirtual org.h2.engine.Database.startServer:(Ljava/lang/String;)V
        57: .line 740
      StackMap locals:
      StackMap stack:
            getstatic org.h2.engine.SysProperties.MODIFY_ON_WRITE:Z
            ifeq 60
        58: .line 741
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.isReconnectNeeded:()Z
            ifne 58
        59: .line 744
            goto 61
        60: .line 745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.isReconnectNeeded:()Z
            ifeq 61
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.beforeWriting:()Z
            ifeq 60
        61: .line 751
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.deleteOldTempFiles:()V
        62: .line 752
            aload 0 /* this */
            iconst_1
            putfield org.h2.engine.Database.starting:Z
        63: .line 753
            getstatic org.h2.engine.SysProperties.MODIFY_ON_WRITE:Z
            ifeq 73
        64: .line 755
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.getPageStore:()Lorg/h2/store/PageStore;
            pop
        65: .line 756
            goto 74
      StackMap locals:
      StackMap stack: org.h2.message.DbException
        66: astore 11 /* e */
        start local 11 // org.h2.message.DbException e
        67: .line 757
            aload 11 /* e */
            invokevirtual org.h2.message.DbException.getErrorCode:()I
            ldc 90097
            if_icmpeq 69
        68: .line 758
            aload 11 /* e */
            athrow
        69: .line 760
      StackMap locals: org.h2.message.DbException
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
        70: .line 761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.beforeWriting:()Z
            ifeq 70
        71: .line 766
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.getPageStore:()Lorg/h2/store/PageStore;
            pop
        end local 11 // org.h2.message.DbException e
        72: .line 768
            goto 74
        73: .line 769
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.getPageStore:()Lorg/h2/store/PageStore;
            pop
        74: .line 771
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.h2.engine.Database.starting:Z
        75: .line 772
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnonnull 78
        76: .line 773
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.writeDelay:I
            invokestatic org.h2.store.WriterThread.create:(Lorg/h2/engine/Database;I)Lorg/h2/store/WriterThread;
            putfield org.h2.engine.Database.writer:Lorg/h2/store/WriterThread;
        77: .line 774
            goto 87
        78: .line 775
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.writeDelay:I
            invokevirtual org.h2.engine.Database.setWriteDelay:(I)V
        end local 10 // java.lang.String lockFileName
        end local 9 // boolean existsMv
        end local 8 // boolean existsPage
        end local 7 // java.lang.String mvFileName
        end local 6 // java.lang.String pageFileName
        end local 5 // boolean existsData
        end local 4 // java.lang.String dataFileName
        79: .line 777
            goto 87
        80: .line 778
      StackMap locals: org.h2.engine.Database int int org.h2.engine.ConnectionInfo
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.autoServerMode:Z
            ifeq 83
        81: .line 780
            ldc "autoServerMode && inMemory"
        82: .line 779
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        83: .line 782
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.h2.message.TraceSystem
            dup
            aconst_null
            invokespecial org.h2.message.TraceSystem.<init>:(Ljava/lang/String;)V
            putfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
        84: .line 783
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            iconst_2
            invokevirtual org.h2.message.TraceSystem.getTrace:(I)Lorg/h2/message/Trace;
            putfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
        85: .line 784
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.mvStore:Z
            ifeq 87
        86: .line 785
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.getPageStore:()Lorg/h2/store/PageStore;
            pop
        87: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 89
        88: .line 789
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.getTransactionStore:()Lorg/h2/mvstore/tx/TransactionStore;
            invokevirtual org.h2.mvstore.tx.TransactionStore.init:()V
        89: .line 791
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.h2.engine.User
            dup
            aload 0 /* this */
            iconst_0
            ldc "DBA"
            iconst_1
            invokespecial org.h2.engine.User.<init>:(Lorg/h2/engine/Database;ILjava/lang/String;Z)V
            putfield org.h2.engine.Database.systemUser:Lorg/h2/engine/User;
        90: .line 792
            aload 0 /* this */
            new org.h2.schema.Schema
            dup
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            ldc "PUBLIC"
            invokevirtual org.h2.engine.Database.sysIdentifier:(Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.engine.Database.systemUser:Lorg/h2/engine/User;
        91: .line 793
            iconst_1
            invokespecial org.h2.schema.Schema.<init>:(Lorg/h2/engine/Database;ILjava/lang/String;Lorg/h2/engine/User;Z)V
        92: .line 792
            putfield org.h2.engine.Database.mainSchema:Lorg/h2/schema/Schema;
        93: .line 794
            aload 0 /* this */
            new org.h2.schema.Schema
            dup
            aload 0 /* this */
            iconst_m1
            aload 0 /* this */
            ldc "INFORMATION_SCHEMA"
            invokevirtual org.h2.engine.Database.sysIdentifier:(Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.engine.Database.systemUser:Lorg/h2/engine/User;
        94: .line 795
            iconst_1
            invokespecial org.h2.schema.Schema.<init>:(Lorg/h2/engine/Database;ILjava/lang/String;Lorg/h2/engine/User;Z)V
        95: .line 794
            putfield org.h2.engine.Database.infoSchema:Lorg/h2/schema/Schema;
        96: .line 796
            aload 0 /* this */
            getfield org.h2.engine.Database.schemas:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.h2.engine.Database.mainSchema:Lorg/h2/schema/Schema;
            invokevirtual org.h2.schema.Schema.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.engine.Database.mainSchema:Lorg/h2/schema/Schema;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        97: .line 797
            aload 0 /* this */
            getfield org.h2.engine.Database.schemas:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.h2.engine.Database.infoSchema:Lorg/h2/schema/Schema;
            invokevirtual org.h2.schema.Schema.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.engine.Database.infoSchema:Lorg/h2/schema/Schema;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        98: .line 798
            aload 0 /* this */
            new org.h2.engine.Role
            dup
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            ldc "PUBLIC"
            invokevirtual org.h2.engine.Database.sysIdentifier:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            invokespecial org.h2.engine.Role.<init>:(Lorg/h2/engine/Database;ILjava/lang/String;Z)V
            putfield org.h2.engine.Database.publicRole:Lorg/h2/engine/Role;
        99: .line 799
            aload 0 /* this */
            getfield org.h2.engine.Database.roles:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.h2.engine.Database.publicRole:Lorg/h2/engine/Role;
            invokevirtual org.h2.engine.Role.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.engine.Database.publicRole:Lorg/h2/engine/Role;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       100: .line 800
            aload 0 /* this */
            getfield org.h2.engine.Database.systemUser:Lorg/h2/engine/User;
            iconst_1
            invokevirtual org.h2.engine.User.setAdmin:(Z)V
       101: .line 801
            aload 0 /* this */
            new org.h2.engine.Session
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemUser:Lorg/h2/engine/User;
            aload 0 /* this */
            dup
            getfield org.h2.engine.Database.nextSessionId:I
            iconst_1
            iadd
            dup_x1
            putfield org.h2.engine.Database.nextSessionId:I
            invokespecial org.h2.engine.Session.<init>:(Lorg/h2/engine/Database;Lorg/h2/engine/User;I)V
            putfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
       102: .line 802
            aload 0 /* this */
            new org.h2.engine.Session
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemUser:Lorg/h2/engine/User;
            aload 0 /* this */
            dup
            getfield org.h2.engine.Database.nextSessionId:I
            iconst_1
            iadd
            dup_x1
            putfield org.h2.engine.Database.nextSessionId:I
            invokespecial org.h2.engine.Session.<init>:(Lorg/h2/engine/Database;Lorg/h2/engine/User;I)V
            putfield org.h2.engine.Database.lobSession:Lorg/h2/engine/Session;
       103: .line 803
            new org.h2.command.ddl.CreateTableData
            dup
            invokespecial org.h2.command.ddl.CreateTableData.<init>:()V
            astore 4 /* data */
        start local 4 // org.h2.command.ddl.CreateTableData data
       104: .line 804
            aload 4 /* data */
            getfield org.h2.command.ddl.CreateTableData.columns:Ljava/util/ArrayList;
            astore 5 /* cols */
        start local 5 // java.util.ArrayList cols
       105: .line 805
            new org.h2.table.Column
            dup
            ldc "ID"
            iconst_4
            invokespecial org.h2.table.Column.<init>:(Ljava/lang/String;I)V
            astore 6 /* columnId */
        start local 6 // org.h2.table.Column columnId
       106: .line 806
            aload 6 /* columnId */
            iconst_0
            invokevirtual org.h2.table.Column.setNullable:(Z)V
       107: .line 807
            aload 5 /* cols */
            aload 6 /* columnId */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       108: .line 808
            aload 5 /* cols */
            new org.h2.table.Column
            dup
            ldc "HEAD"
            iconst_4
            invokespecial org.h2.table.Column.<init>:(Ljava/lang/String;I)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       109: .line 809
            aload 5 /* cols */
            new org.h2.table.Column
            dup
            ldc "TYPE"
            iconst_4
            invokespecial org.h2.table.Column.<init>:(Ljava/lang/String;I)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       110: .line 810
            aload 5 /* cols */
            new org.h2.table.Column
            dup
            ldc "SQL"
            bipush 13
            invokespecial org.h2.table.Column.<init>:(Ljava/lang/String;I)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       111: .line 811
            iconst_1
            istore 7 /* create */
        start local 7 // boolean create
       112: .line 812
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 114
       113: .line 813
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.isNew:()Z
            istore 7 /* create */
       114: .line 815
      StackMap locals: org.h2.engine.Database int int org.h2.engine.ConnectionInfo org.h2.command.ddl.CreateTableData java.util.ArrayList org.h2.table.Column int
      StackMap stack:
            aload 4 /* data */
            ldc "SYS"
            putfield org.h2.command.ddl.CreateTableData.tableName:Ljava/lang/String;
       115: .line 816
            aload 4 /* data */
            iconst_0
            putfield org.h2.command.ddl.CreateTableData.id:I
       116: .line 817
            aload 4 /* data */
            iconst_0
            putfield org.h2.command.ddl.CreateTableData.temporary:Z
       117: .line 818
            aload 4 /* data */
            aload 0 /* this */
            getfield org.h2.engine.Database.persistent:Z
            putfield org.h2.command.ddl.CreateTableData.persistData:Z
       118: .line 819
            aload 4 /* data */
            aload 0 /* this */
            getfield org.h2.engine.Database.persistent:Z
            putfield org.h2.command.ddl.CreateTableData.persistIndexes:Z
       119: .line 820
            aload 4 /* data */
            iload 7 /* create */
            putfield org.h2.command.ddl.CreateTableData.create:Z
       120: .line 821
            aload 4 /* data */
            iconst_1
            putfield org.h2.command.ddl.CreateTableData.isHidden:Z
       121: .line 822
            aload 4 /* data */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            putfield org.h2.command.ddl.CreateTableData.session:Lorg/h2/engine/Session;
       122: .line 823
            aload 0 /* this */
            iconst_1
            putfield org.h2.engine.Database.starting:Z
       123: .line 824
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.mainSchema:Lorg/h2/schema/Schema;
            aload 4 /* data */
            invokevirtual org.h2.schema.Schema.createTable:(Lorg/h2/command/ddl/CreateTableData;)Lorg/h2/table/Table;
            putfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
       124: .line 825
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.handleUpgradeIssues:()V
       125: .line 826
            iconst_1
            anewarray org.h2.table.Column
            dup
            iconst_0
            aload 6 /* columnId */
            aastore
            invokestatic org.h2.table.IndexColumn.wrap:([Lorg/h2/table/Column;)[Lorg/h2/table/IndexColumn;
            astore 8 /* pkCols */
        start local 8 // org.h2.table.IndexColumn[] pkCols
       126: .line 827
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            ldc "SYS_ID"
       127: .line 828
            iconst_0
            aload 8 /* pkCols */
       128: .line 829
            iconst_0
            iconst_0
       129: .line 828
            invokestatic org.h2.index.IndexType.createPrimaryKey:(ZZ)Lorg/h2/index/IndexType;
       130: .line 829
            iconst_1
            aconst_null
       131: .line 827
            invokevirtual org.h2.table.Table.addIndex:(Lorg/h2/engine/Session;Ljava/lang/String;I[Lorg/h2/table/IndexColumn;Lorg/h2/index/IndexType;ZLjava/lang/String;)Lorg/h2/index/Index;
            putfield org.h2.engine.Database.metaIdIndex:Lorg/h2/index/Index;
       132: .line 830
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            iconst_1
            invokevirtual org.h2.engine.Session.commit:(Z)V
       133: .line 831
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            iconst_0
            invokevirtual java.util.BitSet.set:(I)V
       134: .line 832
            aload 0 /* this */
            getfield org.h2.engine.Database.metaIdIndex:Lorg/h2/index/Index;
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            aconst_null
            aconst_null
            invokeinterface org.h2.index.Index.find:(Lorg/h2/engine/Session;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
            astore 9 /* cursor */
        start local 9 // org.h2.index.Cursor cursor
       135: .line 833
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.metaIdIndex:Lorg/h2/index/Index;
            invokeinterface org.h2.index.Index.getRowCountApproximation:()J
            l2i
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 10 /* records */
        start local 10 // java.util.ArrayList records
       136: .line 834
            goto 140
       137: .line 835
      StackMap locals: org.h2.table.IndexColumn[] org.h2.index.Cursor java.util.ArrayList
      StackMap stack:
            new org.h2.engine.MetaRecord
            dup
            aload 9 /* cursor */
            invokeinterface org.h2.index.Cursor.get:()Lorg/h2/result/Row;
            invokespecial org.h2.engine.MetaRecord.<init>:(Lorg/h2/result/SearchRow;)V
            astore 11 /* rec */
        start local 11 // org.h2.engine.MetaRecord rec
       138: .line 836
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            aload 11 /* rec */
            invokevirtual org.h2.engine.MetaRecord.getId:()I
            invokevirtual java.util.BitSet.set:(I)V
       139: .line 837
            aload 10 /* records */
            aload 11 /* rec */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // org.h2.engine.MetaRecord rec
       140: .line 834
      StackMap locals:
      StackMap stack:
            aload 9 /* cursor */
            invokeinterface org.h2.index.Cursor.next:()Z
            ifne 137
       141: .line 839
            aload 10 /* records */
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
       142: .line 840
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            dup
            astore 11
            monitorenter
       143: .line 841
            aload 10 /* records */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 13
            goto 146
      StackMap locals: org.h2.engine.Database int int org.h2.engine.ConnectionInfo org.h2.command.ddl.CreateTableData java.util.ArrayList org.h2.table.Column int org.h2.table.IndexColumn[] org.h2.index.Cursor java.util.ArrayList org.h2.engine.Session top java.util.Iterator
      StackMap stack:
       144: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.engine.MetaRecord
            astore 12 /* rec */
        start local 12 // org.h2.engine.MetaRecord rec
       145: .line 842
            aload 12 /* rec */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            aload 0 /* this */
            getfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
            invokevirtual org.h2.engine.MetaRecord.execute:(Lorg/h2/engine/Database;Lorg/h2/engine/Session;Lorg/h2/api/DatabaseEventListener;)V
        end local 12 // org.h2.engine.MetaRecord rec
       146: .line 841
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 144
       147: .line 840
            aload 11
            monitorexit
       148: goto 151
      StackMap locals: org.h2.engine.Database int int org.h2.engine.ConnectionInfo org.h2.command.ddl.CreateTableData java.util.ArrayList org.h2.table.Column int org.h2.table.IndexColumn[] org.h2.index.Cursor java.util.ArrayList org.h2.engine.Session
      StackMap stack: java.lang.Throwable
       149: aload 11
            monitorexit
       150: athrow
       151: .line 845
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            iconst_1
            invokevirtual org.h2.engine.Session.commit:(Z)V
       152: .line 846
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 155
       153: .line 847
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.getTransactionStore:()Lorg/h2/mvstore/tx/TransactionStore;
            invokevirtual org.h2.mvstore.tx.TransactionStore.endLeftoverTransactions:()V
       154: .line 848
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.removeTemporaryMaps:(Ljava/util/BitSet;)V
       155: .line 850
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Database.recompileInvalidViews:(Lorg/h2/engine/Session;)V
       156: .line 851
            aload 0 /* this */
            iconst_0
            putfield org.h2.engine.Database.starting:Z
       157: .line 852
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifne 176
       158: .line 854
            bipush 33
            invokestatic org.h2.command.dml.SetTypes.getTypeName:(I)Ljava/lang/String;
            astore 11 /* name */
        start local 11 // java.lang.String name
       159: .line 855
            aload 0 /* this */
            getfield org.h2.engine.Database.settings:Ljava/util/HashMap;
            aload 11 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 164
       160: .line 856
            new org.h2.engine.Setting
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.allocateObjectId:()I
            aload 11 /* name */
            invokespecial org.h2.engine.Setting.<init>:(Lorg/h2/engine/Database;ILjava/lang/String;)V
            astore 12 /* setting */
        start local 12 // org.h2.engine.Setting setting
       161: .line 857
            aload 12 /* setting */
            sipush 199
            invokevirtual org.h2.engine.Setting.setIntValue:(I)V
       162: .line 858
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Database.lockMeta:(Lorg/h2/engine/Session;)Z
            pop
       163: .line 859
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            aload 12 /* setting */
            invokevirtual org.h2.engine.Database.addDatabaseObject:(Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
        end local 12 // org.h2.engine.Setting setting
       164: .line 861
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            bipush 37
            getstatic org.h2.engine.SysProperties.SORT_BINARY_UNSIGNED:Z
            iconst_1
            invokevirtual org.h2.engine.Database.setSortSetting:(IZZ)V
       165: .line 862
            aload 0 /* this */
            bipush 50
            getstatic org.h2.engine.SysProperties.SORT_UUID_UNSIGNED:Z
            iconst_0
            invokevirtual org.h2.engine.Database.setSortSetting:(IZZ)V
       166: .line 864
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 176
       167: .line 865
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.getObjectIds:()Ljava/util/BitSet;
            astore 12 /* f */
        start local 12 // java.util.BitSet f
       168: .line 866
            iconst_0
            istore 13 /* i */
        start local 13 // int i
       169: aload 12 /* f */
            invokevirtual java.util.BitSet.length:()I
            istore 14 /* len */
        start local 14 // int len
       170: goto 175
       171: .line 867
      StackMap locals: java.util.BitSet int int
      StackMap stack:
            aload 12 /* f */
            iload 13 /* i */
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 174
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            iload 13 /* i */
            invokevirtual java.util.BitSet.get:(I)Z
            ifne 174
       172: .line 868
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            new java.lang.StringBuilder
            dup
            ldc "unused object id: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 13 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.message.Trace.info:(Ljava/lang/String;)V
       173: .line 869
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            iload 13 /* i */
            invokevirtual java.util.BitSet.set:(I)V
       174: .line 866
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
       175: iload 13 /* i */
            iload 14 /* len */
            if_icmplt 171
        end local 14 // int len
        end local 13 // int i
        end local 12 // java.util.BitSet f
        end local 11 // java.lang.String name
       176: .line 874
      StackMap locals: org.h2.engine.Database int int org.h2.engine.ConnectionInfo org.h2.command.ddl.CreateTableData java.util.ArrayList org.h2.table.Column int org.h2.table.IndexColumn[] org.h2.index.Cursor java.util.ArrayList
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.getLobStorage:()Lorg/h2/store/LobStorageInterface;
            invokeinterface org.h2.store.LobStorageInterface.init:()V
       177: .line 875
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            iconst_1
            invokevirtual org.h2.engine.Session.commit:(Z)V
       178: .line 877
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            ldc "opened {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            aastore
            invokevirtual org.h2.message.Trace.info:(Ljava/lang/String;[Ljava/lang/Object;)V
       179: .line 878
            aload 0 /* this */
            getfield org.h2.engine.Database.checkpointAllowed:I
            ifle 181
       180: .line 879
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.afterWriting:()V
       181: .line 881
      StackMap locals:
      StackMap stack:
            return
        end local 10 // java.util.ArrayList records
        end local 9 // org.h2.index.Cursor cursor
        end local 8 // org.h2.table.IndexColumn[] pkCols
        end local 7 // boolean create
        end local 6 // org.h2.table.Column columnId
        end local 5 // java.util.ArrayList cols
        end local 4 // org.h2.command.ddl.CreateTableData data
        end local 3 // org.h2.engine.ConnectionInfo ci
        end local 2 // int traceLevelSystemOut
        end local 1 // int traceLevelFile
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  182     0                 this  Lorg/h2/engine/Database;
            0  182     1       traceLevelFile  I
            0  182     2  traceLevelSystemOut  I
            0  182     3                   ci  Lorg/h2/engine/ConnectionInfo;
            2   79     4         dataFileName  Ljava/lang/String;
            3   79     5           existsData  Z
            4   79     6         pageFileName  Ljava/lang/String;
            5   79     7           mvFileName  Ljava/lang/String;
            6   79     8           existsPage  Z
            7   79     9             existsMv  Z
           25   28    10            traceFile  Ljava/lang/String;
           46   79    10         lockFileName  Ljava/lang/String;
           67   72    11                    e  Lorg/h2/message/DbException;
          104  182     4                 data  Lorg/h2/command/ddl/CreateTableData;
          105  182     5                 cols  Ljava/util/ArrayList<Lorg/h2/table/Column;>;
          106  182     6             columnId  Lorg/h2/table/Column;
          112  182     7               create  Z
          126  182     8               pkCols  [Lorg/h2/table/IndexColumn;
          135  182     9               cursor  Lorg/h2/index/Cursor;
          136  182    10              records  Ljava/util/ArrayList<Lorg/h2/engine/MetaRecord;>;
          138  140    11                  rec  Lorg/h2/engine/MetaRecord;
          145  146    12                  rec  Lorg/h2/engine/MetaRecord;
          159  176    11                 name  Ljava/lang/String;
          161  164    12              setting  Lorg/h2/engine/Setting;
          168  176    12                    f  Ljava/util/BitSet;
          169  176    13                    i  I
          170  176    14                  len  I
      Exception table:
        from    to  target  type
          64    65      66  Class org.h2.message.DbException
         143   148     149  any
         149   150     149  any
    MethodParameters:
                     Name  Flags
      traceLevelFile       
      traceLevelSystemOut  
      ci                   

  private void setSortSetting(int, boolean, boolean);
    descriptor: (IZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.h2.engine.Database this
        start local 1 // int type
        start local 2 // boolean defValue
        start local 3 // boolean oldDefault
         0: .line 896
            iload 2 /* defValue */
            iload 3 /* oldDefault */
            if_icmpne 2
         1: .line 897
            return
         2: .line 899
      StackMap locals:
      StackMap stack:
            iload 1 /* type */
            invokestatic org.h2.command.dml.SetTypes.getTypeName:(I)Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         3: .line 900
            aload 0 /* this */
            getfield org.h2.engine.Database.settings:Ljava/util/HashMap;
            aload 4 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 10
         4: .line 901
            new org.h2.engine.Setting
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.allocateObjectId:()I
            aload 4 /* name */
            invokespecial org.h2.engine.Setting.<init>:(Lorg/h2/engine/Database;ILjava/lang/String;)V
            astore 5 /* setting */
        start local 5 // org.h2.engine.Setting setting
         5: .line 902
            aload 5 /* setting */
            iload 2 /* defValue */
            ifeq 6
            ldc "UNSIGNED"
            goto 7
      StackMap locals: org.h2.engine.Database int int int java.lang.String org.h2.engine.Setting
      StackMap stack: org.h2.engine.Setting
         6: ldc "SIGNED"
      StackMap locals: org.h2.engine.Database int int int java.lang.String org.h2.engine.Setting
      StackMap stack: org.h2.engine.Setting java.lang.String
         7: invokevirtual org.h2.engine.Setting.setStringValue:(Ljava/lang/String;)V
         8: .line 903
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Database.lockMeta:(Lorg/h2/engine/Session;)Z
            pop
         9: .line 904
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            aload 5 /* setting */
            invokevirtual org.h2.engine.Database.addDatabaseObject:(Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
        end local 5 // org.h2.engine.Setting setting
        10: .line 906
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String name
        end local 3 // boolean oldDefault
        end local 2 // boolean defValue
        end local 1 // int type
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/h2/engine/Database;
            0   11     1        type  I
            0   11     2    defValue  Z
            0   11     3  oldDefault  Z
            3   11     4        name  Ljava/lang/String;
            5   10     5     setting  Lorg/h2/engine/Setting;
    MethodParameters:
            Name  Flags
      type        
      defValue    
      oldDefault  

  private void handleUpgradeIssues();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 909
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 28
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.isReadOnly:()Z
            ifne 28
         1: .line 910
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.getMvStore:()Lorg/h2/mvstore/MVStore;
            astore 1 /* mvStore */
        start local 1 // org.h2.mvstore.MVStore mvStore
         2: .line 916
            aload 1 /* mvStore */
            ldc "index.0"
            invokevirtual org.h2.mvstore.MVStore.hasMap:(Ljava/lang/String;)Z
            ifeq 28
         3: .line 917
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.table.Table.getScanIndex:(Lorg/h2/engine/Session;)Lorg/h2/index/Index;
            astore 2 /* scanIndex */
        start local 2 // org.h2.index.Index scanIndex
         4: .line 918
            aload 2 /* scanIndex */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            aconst_null
            aconst_null
            invokeinterface org.h2.index.Index.find:(Lorg/h2/engine/Session;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
            astore 3 /* curs */
        start local 3 // org.h2.index.Cursor curs
         5: .line 919
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* allMetaRows */
        start local 4 // java.util.List allMetaRows
         6: .line 920
            iconst_0
            istore 5 /* needRepair */
        start local 5 // boolean needRepair
         7: .line 921
            goto 15
         8: .line 922
      StackMap locals: org.h2.engine.Database org.h2.mvstore.MVStore org.h2.index.Index org.h2.index.Cursor java.util.List int
      StackMap stack:
            aload 3 /* curs */
            invokeinterface org.h2.index.Cursor.get:()Lorg/h2/result/Row;
            astore 6 /* row */
        start local 6 // org.h2.result.Row row
         9: .line 923
            aload 4 /* allMetaRows */
            aload 6 /* row */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 924
            aload 6 /* row */
            invokeinterface org.h2.result.Row.getKey:()J
            lstore 7 /* rowId */
        start local 7 // long rowId
        11: .line 925
            aload 6 /* row */
            iconst_0
            invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getInt:()I
            istore 9 /* id */
        start local 9 // int id
        12: .line 926
            iload 9 /* id */
            i2l
            lload 7 /* rowId */
            lcmp
            ifeq 15
        13: .line 927
            iconst_1
            istore 5 /* needRepair */
        14: .line 928
            aload 6 /* row */
            iload 9 /* id */
            i2l
            invokeinterface org.h2.result.Row.setKey:(J)V
        end local 9 // int id
        end local 7 // long rowId
        end local 6 // org.h2.result.Row row
        15: .line 921
      StackMap locals:
      StackMap stack:
            aload 3 /* curs */
            invokeinterface org.h2.index.Cursor.next:()Z
            ifne 8
        16: .line 931
            iload 5 /* needRepair */
            ifeq 26
        17: .line 932
            aload 4 /* allMetaRows */
            iconst_0
            anewarray org.h2.result.Row
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.h2.result.Row[]
            astore 6 /* array */
        start local 6 // org.h2.result.Row[] array
        18: .line 933
            aload 6 /* array */
            new org.h2.engine.Database$1
            dup
            aload 0 /* this */
            invokespecial org.h2.engine.Database$1.<init>:(Lorg/h2/engine/Database;)V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
        19: .line 939
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.table.Table.truncate:(Lorg/h2/engine/Session;)V
        20: .line 940
            aload 6 /* array */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 24
      StackMap locals: org.h2.engine.Database org.h2.mvstore.MVStore org.h2.index.Index org.h2.index.Cursor java.util.List int org.h2.result.Row[] top int int org.h2.result.Row[]
      StackMap stack:
        21: aload 10
            iload 8
            aaload
            astore 7 /* row */
        start local 7 // org.h2.result.Row row
        22: .line 941
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            aload 7 /* row */
            invokevirtual org.h2.table.Table.addRow:(Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
        end local 7 // org.h2.result.Row row
        23: .line 940
            iinc 8 1
      StackMap locals:
      StackMap stack:
        24: iload 8
            iload 9
            if_icmplt 21
        25: .line 943
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            iconst_1
            invokevirtual org.h2.engine.Session.commit:(Z)V
        end local 6 // org.h2.result.Row[] array
        26: .line 945
      StackMap locals: org.h2.engine.Database org.h2.mvstore.MVStore org.h2.index.Index org.h2.index.Cursor java.util.List int
      StackMap stack:
            aload 1 /* mvStore */
            ldc "index.0"
            invokevirtual org.h2.mvstore.MVStore.removeMap:(Ljava/lang/String;)V
        27: .line 946
            aload 1 /* mvStore */
            invokevirtual org.h2.mvstore.MVStore.commit:()J
            pop2
        end local 5 // boolean needRepair
        end local 4 // java.util.List allMetaRows
        end local 3 // org.h2.index.Cursor curs
        end local 2 // org.h2.index.Index scanIndex
        end local 1 // org.h2.mvstore.MVStore mvStore
        28: .line 949
      StackMap locals: org.h2.engine.Database
      StackMap stack:
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0         this  Lorg/h2/engine/Database;
            2   28     1      mvStore  Lorg/h2/mvstore/MVStore;
            4   28     2    scanIndex  Lorg/h2/index/Index;
            5   28     3         curs  Lorg/h2/index/Cursor;
            6   28     4  allMetaRows  Ljava/util/List<Lorg/h2/result/Row;>;
            7   28     5   needRepair  Z
            9   15     6          row  Lorg/h2/result/Row;
           11   15     7        rowId  J
           12   15     9           id  I
           18   26     6        array  [Lorg/h2/result/Row;
           22   23     7          row  Lorg/h2/result/Row;

  private void startServer(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String key
         0: .line 953
            aload 0 /* this */
            bipush 7
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 954
            ldc "-tcpPort"
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.h2.engine.Database.autoServerPort:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            dup
            iconst_2
         2: .line 955
            ldc "-tcpAllowOthers"
            aastore
            dup
            iconst_3
         3: .line 956
            ldc "-tcpDaemon"
            aastore
            dup
            iconst_4
         4: .line 957
            ldc "-key"
            aastore
            dup
            iconst_5
            aload 1 /* key */
            aastore
            dup
            bipush 6
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            aastore
         5: .line 953
            invokestatic org.h2.tools.Server.createTcpServer:([Ljava/lang/String;)Lorg/h2/tools/Server;
            putfield org.h2.engine.Database.server:Lorg/h2/tools/Server;
         6: .line 958
            aload 0 /* this */
            getfield org.h2.engine.Database.server:Lorg/h2/tools/Server;
            invokevirtual org.h2.tools.Server.start:()Lorg/h2/tools/Server;
            pop
         7: .line 959
            goto 10
      StackMap locals:
      StackMap stack: java.sql.SQLException
         8: astore 2 /* e */
        start local 2 // java.sql.SQLException e
         9: .line 960
            aload 2 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 2 // java.sql.SQLException e
        10: .line 962
      StackMap locals:
      StackMap stack:
            invokestatic org.h2.util.NetUtils.getLocalAddress:()Ljava/lang/String;
            astore 2 /* localAddress */
        start local 2 // java.lang.String localAddress
        11: .line 963
            new java.lang.StringBuilder
            dup
            aload 2 /* localAddress */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.h2.engine.Database.server:Lorg/h2/tools/Server;
            invokevirtual org.h2.tools.Server.getPort:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* address */
        start local 3 // java.lang.String address
        12: .line 964
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ldc "server"
            aload 3 /* address */
            invokevirtual org.h2.store.FileLock.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
        13: .line 965
            aload 2 /* localAddress */
            invokestatic org.h2.util.NetUtils.getHostName:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* hostName */
        start local 4 // java.lang.String hostName
        14: .line 966
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ldc "hostName"
            aload 4 /* hostName */
            invokevirtual org.h2.store.FileLock.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
        15: .line 967
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.save:()Ljava/util/Properties;
            pop
        16: .line 968
            return
        end local 4 // java.lang.String hostName
        end local 3 // java.lang.String address
        end local 2 // java.lang.String localAddress
        end local 1 // java.lang.String key
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/h2/engine/Database;
            0   17     1           key  Ljava/lang/String;
            9   10     2             e  Ljava/sql/SQLException;
           11   17     2  localAddress  Ljava/lang/String;
           12   17     3       address  Ljava/lang/String;
           14   17     4      hostName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     7       8  Class java.sql.SQLException
    MethodParameters:
      Name  Flags
      key   

  private void stopServer();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 971
            aload 0 /* this */
            getfield org.h2.engine.Database.server:Lorg/h2/tools/Server;
            ifnull 4
         1: .line 972
            aload 0 /* this */
            getfield org.h2.engine.Database.server:Lorg/h2/tools/Server;
            astore 1 /* s */
        start local 1 // org.h2.tools.Server s
         2: .line 976
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.server:Lorg/h2/tools/Server;
         3: .line 977
            aload 1 /* s */
            invokevirtual org.h2.tools.Server.stop:()V
        end local 1 // org.h2.tools.Server s
         4: .line 979
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/engine/Database;
            2    4     1     s  Lorg/h2/tools/Server;

  private void recompileInvalidViews(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
         0: .line 984
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* atLeastOneRecompiledSuccessfully */
        start local 2 // boolean atLeastOneRecompiledSuccessfully
         1: .line 985
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.engine.Database.getAllTablesAndViews:(Z)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.h2.engine.Database org.h2.engine.Session int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.table.Table
            astore 3 /* obj */
        start local 3 // org.h2.table.Table obj
         3: .line 986
            aload 3 /* obj */
            instanceof org.h2.table.TableView
            ifeq 9
         4: .line 987
            aload 3 /* obj */
            checkcast org.h2.table.TableView
            astore 5 /* view */
        start local 5 // org.h2.table.TableView view
         5: .line 988
            aload 5 /* view */
            invokevirtual org.h2.table.TableView.isInvalid:()Z
            ifeq 9
         6: .line 989
            aload 5 /* view */
            aload 1 /* session */
            iconst_1
            iconst_0
            invokevirtual org.h2.table.TableView.recompile:(Lorg/h2/engine/Session;ZZ)Lorg/h2/message/DbException;
            pop
         7: .line 990
            aload 5 /* view */
            invokevirtual org.h2.table.TableView.isInvalid:()Z
            ifne 9
         8: .line 991
            iconst_1
            istore 2 /* atLeastOneRecompiledSuccessfully */
        end local 5 // org.h2.table.TableView view
        end local 3 // org.h2.table.Table obj
         9: .line 985
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 996
            iload 2 /* atLeastOneRecompiledSuccessfully */
            ifne 0
        11: .line 997
            aload 1 /* session */
            invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
            invokestatic org.h2.table.TableView.clearIndexCaches:(Lorg/h2/engine/Database;)V
        12: .line 998
            return
        end local 2 // boolean atLeastOneRecompiledSuccessfully
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0   13     0                              this  Lorg/h2/engine/Database;
            0   13     1                           session  Lorg/h2/engine/Session;
            1   13     2  atLeastOneRecompiledSuccessfully  Z
            3    9     3                               obj  Lorg/h2/table/Table;
            5    9     5                              view  Lorg/h2/table/TableView;
    MethodParameters:
         Name  Flags
      session  

  private void initMetaTables();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1001
            aload 0 /* this */
            getfield org.h2.engine.Database.metaTablesInitialized:Z
            ifeq 2
         1: .line 1002
            return
         2: .line 1004
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.infoSchema:Lorg/h2/schema/Schema;
            dup
            astore 1
            monitorenter
         3: .line 1005
            aload 0 /* this */
            getfield org.h2.engine.Database.metaTablesInitialized:Z
            ifne 13
         4: .line 1006
            iconst_0
            istore 2 /* type */
        start local 2 // int type
         5: invokestatic org.h2.table.MetaTable.getMetaTableTypeCount:()I
            istore 3 /* count */
        start local 3 // int count
         6: .line 1007
            goto 10
         7: .line 1008
      StackMap locals: org.h2.schema.Schema int int
      StackMap stack:
            new org.h2.table.MetaTable
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.infoSchema:Lorg/h2/schema/Schema;
            iconst_m1
            iload 2 /* type */
            isub
            iload 2 /* type */
            invokespecial org.h2.table.MetaTable.<init>:(Lorg/h2/schema/Schema;II)V
            astore 4 /* m */
        start local 4 // org.h2.table.MetaTable m
         8: .line 1009
            aload 0 /* this */
            getfield org.h2.engine.Database.infoSchema:Lorg/h2/schema/Schema;
            aload 4 /* m */
            invokevirtual org.h2.schema.Schema.add:(Lorg/h2/schema/SchemaObject;)V
        end local 4 // org.h2.table.MetaTable m
         9: .line 1007
            iinc 2 /* type */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* type */
            iload 3 /* count */
        11: .line 1006
            if_icmplt 7
        end local 3 // int count
        end local 2 // int type
        12: .line 1011
            aload 0 /* this */
            iconst_1
            putfield org.h2.engine.Database.metaTablesInitialized:Z
        13: .line 1004
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        14: goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: aload 1
            monitorexit
        16: athrow
        17: .line 1014
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Lorg/h2/engine/Database;
            5   12     2   type  I
            6   12     3  count  I
            8    9     4      m  Lorg/h2/table/MetaTable;
      Exception table:
        from    to  target  type
           3    14      15  any
          15    16      15  any

  private void addMeta(org.h2.engine.Session, org.h2.engine.DbObject);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.engine.DbObject obj
         0: .line 1017
            getstatic org.h2.engine.Database.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1018
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getId:()I
            istore 3 /* id */
        start local 3 // int id
         2: .line 1019
            iload 3 /* id */
            ifle 14
            aload 0 /* this */
            getfield org.h2.engine.Database.starting:Z
            ifne 14
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.isTemporary:()Z
            ifne 14
         3: .line 1020
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            invokevirtual org.h2.table.Table.getTemplateRow:()Lorg/h2/result/Row;
            astore 4 /* r */
        start local 4 // org.h2.result.Row r
         4: .line 1021
            aload 2 /* obj */
            aload 4 /* r */
            invokestatic org.h2.engine.MetaRecord.populateRowFromDBObject:(Lorg/h2/engine/DbObject;Lorg/h2/result/SearchRow;)V
         5: .line 1022
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            dup
            astore 5
            monitorenter
         6: .line 1023
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            iload 3 /* id */
            invokevirtual java.util.BitSet.set:(I)V
         7: .line 1022
            aload 5
            monitorexit
         8: goto 11
      StackMap locals: org.h2.engine.Database org.h2.engine.Session org.h2.engine.DbObject int org.h2.result.Row java.util.BitSet
      StackMap stack: java.lang.Throwable
         9: aload 5
            monitorexit
        10: athrow
        11: .line 1025
      StackMap locals:
      StackMap stack:
            getstatic org.h2.engine.SysProperties.CHECK:Z
            ifeq 13
        12: .line 1026
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.Database.verifyMetaLocked:(Lorg/h2/engine/Session;)V
        13: .line 1028
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            aload 1 /* session */
            aload 4 /* r */
            invokevirtual org.h2.table.Table.addRow:(Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
        end local 4 // org.h2.result.Row r
        14: .line 1030
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int id
        end local 2 // org.h2.engine.DbObject obj
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/h2/engine/Database;
            0   15     1  session  Lorg/h2/engine/Session;
            0   15     2      obj  Lorg/h2/engine/DbObject;
            2   15     3       id  I
            4   14     4        r  Lorg/h2/result/Row;
      Exception table:
        from    to  target  type
           6     8       9  any
           9    10       9  any
    MethodParameters:
         Name  Flags
      session  
      obj      

  public void verifyMetaLocked(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
         0: .line 1038
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            ifnull 3
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            aload 1 /* session */
            invokevirtual org.h2.table.Table.isLockedExclusivelyBy:(Lorg/h2/engine/Session;)Z
            ifne 3
         1: .line 1039
            aload 0 /* this */
            getfield org.h2.engine.Database.lockMode:I
            ifeq 3
         2: .line 1040
            invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
            athrow
         3: .line 1042
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/h2/engine/Database;
            0    4     1  session  Lorg/h2/engine/Session;
    MethodParameters:
         Name  Flags
      session  

  public boolean lockMeta(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
         0: .line 1055
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            ifnonnull 2
         1: .line 1056
            iconst_1
            ireturn
         2: .line 1058
      StackMap locals:
      StackMap stack:
            getstatic org.h2.engine.Database.ASSERT:Z
            ifeq 18
         3: .line 1062
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING_DB:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            ifnull 18
         4: .line 1063
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING_DB:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            aload 0 /* this */
            if_acmpeq 18
         5: .line 1064
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.h2.engine.Session
            astore 2 /* prev */
        start local 2 // org.h2.engine.Session prev
         6: .line 1065
            aload 2 /* prev */
            ifnonnull 11
         7: .line 1066
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING:Ljava/lang/ThreadLocal;
            aload 1 /* session */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         8: .line 1067
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING_DB:Ljava/lang/ThreadLocal;
            aload 0 /* this */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         9: .line 1068
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING_STACK:Ljava/lang/ThreadLocal;
            new java.lang.Throwable
            dup
            ldc "Last meta lock granted in this stack trace, this is debug information for following IllegalStateException"
            invokespecial java.lang.Throwable.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        10: .line 1070
            goto 18
      StackMap locals: org.h2.engine.Session
      StackMap stack:
        11: aload 2 /* prev */
            aload 1 /* session */
            if_acmpeq 18
        12: .line 1071
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING_STACK:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.lang.Throwable
            invokevirtual java.lang.Throwable.printStackTrace:()V
        13: .line 1072
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "meta currently locked by "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        14: .line 1073
            aload 2 /* prev */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", sessionid="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* prev */
            invokevirtual org.h2.engine.Session.getId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        15: .line 1074
            ldc " and trying to be locked by different session, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 1075
            aload 1 /* session */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", sessionid="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* session */
            invokevirtual org.h2.engine.Session.getId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " on same thread"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 1072
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.h2.engine.Session prev
        18: .line 1079
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            aload 1 /* session */
            iconst_1
            iconst_1
            invokevirtual org.h2.table.Table.lock:(Lorg/h2/engine/Session;ZZ)Z
            ireturn
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lorg/h2/engine/Database;
            0   19     1  session  Lorg/h2/engine/Session;
            6   18     2     prev  Lorg/h2/engine/Session;
    MethodParameters:
         Name  Flags
      session  

  public void unlockMeta(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
         0: .line 1088
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            ifnull 4
         1: .line 1089
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.Database.unlockMetaDebug:(Lorg/h2/engine/Session;)V
         2: .line 1090
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            aload 1 /* session */
            invokevirtual org.h2.table.Table.unlock:(Lorg/h2/engine/Session;)V
         3: .line 1091
            aload 1 /* session */
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            invokevirtual org.h2.engine.Session.unlock:(Lorg/h2/table/Table;)V
         4: .line 1093
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/h2/engine/Database;
            0    5     1  session  Lorg/h2/engine/Session;
    MethodParameters:
         Name  Flags
      session  

  public void unlockMetaDebug(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
         0: .line 1102
            getstatic org.h2.engine.Database.ASSERT:Z
            ifeq 5
         1: .line 1103
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            aload 1 /* session */
            if_acmpne 5
         2: .line 1104
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         3: .line 1105
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING_DB:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         4: .line 1106
            getstatic org.h2.engine.Database.META_LOCK_DEBUGGING_STACK:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         5: .line 1109
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/h2/engine/Database;
            0    6     1  session  Lorg/h2/engine/Session;
    MethodParameters:
         Name  Flags
      session  

  public void removeMeta(org.h2.engine.Session, int);
    descriptor: (Lorg/h2/engine/Session;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
        start local 2 // int id
         0: .line 1118
            iload 2 /* id */
            ifle 28
            aload 0 /* this */
            getfield org.h2.engine.Database.starting:Z
            ifne 28
         1: .line 1119
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            iconst_0
            invokevirtual org.h2.table.Table.getTemplateSimpleRow:(Z)Lorg/h2/result/SearchRow;
            astore 3 /* r */
        start local 3 // org.h2.result.SearchRow r
         2: .line 1120
            aload 3 /* r */
            iconst_0
            iload 2 /* id */
            invokestatic org.h2.value.ValueInt.get:(I)Lorg/h2/value/ValueInt;
            invokeinterface org.h2.result.SearchRow.setValue:(ILorg/h2/value/Value;)V
         3: .line 1121
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.Database.lockMeta:(Lorg/h2/engine/Session;)Z
            istore 4 /* wasLocked */
        start local 4 // boolean wasLocked
         4: .line 1123
            aload 0 /* this */
            getfield org.h2.engine.Database.metaIdIndex:Lorg/h2/index/Index;
            aload 1 /* session */
            aload 3 /* r */
            aload 3 /* r */
            invokeinterface org.h2.index.Index.find:(Lorg/h2/engine/Session;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
            astore 5 /* cursor */
        start local 5 // org.h2.index.Cursor cursor
         5: .line 1124
            aload 5 /* cursor */
            invokeinterface org.h2.index.Cursor.next:()Z
            ifeq 17
         6: .line 1125
            aload 0 /* this */
            getfield org.h2.engine.Database.lockMode:I
            ifeq 8
            iload 4 /* wasLocked */
            ifne 8
         7: .line 1126
            invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
            athrow
         8: .line 1128
      StackMap locals: org.h2.result.SearchRow int org.h2.index.Cursor
      StackMap stack:
            aload 5 /* cursor */
            invokeinterface org.h2.index.Cursor.get:()Lorg/h2/result/Row;
            astore 6 /* found */
        start local 6 // org.h2.result.Row found
         9: .line 1129
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            aload 1 /* session */
            aload 6 /* found */
            invokevirtual org.h2.table.Table.removeRow:(Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
        10: .line 1130
            getstatic org.h2.engine.SysProperties.CHECK:Z
            ifeq 17
        11: .line 1131
            aload 0 /* this */
            aload 1 /* session */
            iload 2 /* id */
            invokevirtual org.h2.engine.Database.checkMetaFree:(Lorg/h2/engine/Session;I)V
        end local 6 // org.h2.result.Row found
        end local 5 // org.h2.index.Cursor cursor
        12: .line 1134
            goto 17
      StackMap locals: org.h2.engine.Database org.h2.engine.Session int org.h2.result.SearchRow int
      StackMap stack: java.lang.Throwable
        13: astore 7
        14: .line 1135
            iload 4 /* wasLocked */
            ifne 16
        15: .line 1138
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.Database.unlockMeta:(Lorg/h2/engine/Session;)V
        16: .line 1140
      StackMap locals: org.h2.engine.Database org.h2.engine.Session int org.h2.result.SearchRow int top top java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        17: .line 1135
      StackMap locals: org.h2.engine.Database org.h2.engine.Session int org.h2.result.SearchRow int
      StackMap stack:
            iload 4 /* wasLocked */
            ifne 19
        18: .line 1138
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.Database.unlockMeta:(Lorg/h2/engine/Session;)V
        19: .line 1141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.isMVStore:()Z
            ifeq 22
        20: .line 1146
            aload 1 /* session */
            iload 2 /* id */
            invokevirtual org.h2.engine.Session.scheduleDatabaseObjectIdForRelease:(I)V
        21: .line 1147
            goto 28
        22: .line 1150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 5
            monitorenter
        23: .line 1151
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            iload 2 /* id */
            invokevirtual java.util.BitSet.clear:(I)V
        24: .line 1150
            aload 5
            monitorexit
        25: goto 28
      StackMap locals: org.h2.engine.Database org.h2.engine.Session int org.h2.result.SearchRow int org.h2.engine.Database
      StackMap stack: java.lang.Throwable
        26: aload 5
            monitorexit
        27: athrow
        end local 4 // boolean wasLocked
        end local 3 // org.h2.result.SearchRow r
        28: .line 1155
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int id
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   29     0       this  Lorg/h2/engine/Database;
            0   29     1    session  Lorg/h2/engine/Session;
            0   29     2         id  I
            2   28     3          r  Lorg/h2/result/SearchRow;
            4   28     4  wasLocked  Z
            5   12     5     cursor  Lorg/h2/index/Cursor;
            9   12     6      found  Lorg/h2/result/Row;
      Exception table:
        from    to  target  type
           4    13      13  any
          23    25      26  any
          26    27      26  any
    MethodParameters:
         Name  Flags
      session  
      id       

  void releaseDatabaseObjectIds(java.util.BitSet);
    descriptor: (Ljava/util/BitSet;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.util.BitSet idsToRelease
         0: .line 1162
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            dup
            astore 2
            monitorenter
         1: .line 1163
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            aload 1 /* idsToRelease */
            invokevirtual java.util.BitSet.andNot:(Ljava/util/BitSet;)V
         2: .line 1162
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: org.h2.engine.Database java.util.BitSet java.util.BitSet
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 1165
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.BitSet idsToRelease
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/h2/engine/Database;
            0    7     1  idsToRelease  Ljava/util/BitSet;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
              Name  Flags
      idsToRelease  

  private java.util.HashMap<java.lang.String, org.h2.engine.DbObject> getMap(int);
    descriptor: (I)Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int type
         0: .line 1170
            iload 1 /* type */
            tableswitch { // 2 - 14
                    2: 1
                    3: 17
                    4: 17
                    5: 17
                    6: 3
                    7: 5
                    8: 7
                    9: 17
                   10: 9
                   11: 17
                   12: 11
                   13: 13
                   14: 15
              default: 17
          }
         1: .line 1172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.users:Ljava/util/HashMap;
            astore 2 /* result */
        start local 2 // java.util.HashMap result
         2: .line 1173
            goto 18
        end local 2 // java.util.HashMap result
         3: .line 1175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.settings:Ljava/util/HashMap;
            astore 2 /* result */
        start local 2 // java.util.HashMap result
         4: .line 1176
            goto 18
        end local 2 // java.util.HashMap result
         5: .line 1178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.roles:Ljava/util/HashMap;
            astore 2 /* result */
        start local 2 // java.util.HashMap result
         6: .line 1179
            goto 18
        end local 2 // java.util.HashMap result
         7: .line 1181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.rights:Ljava/util/HashMap;
            astore 2 /* result */
        start local 2 // java.util.HashMap result
         8: .line 1182
            goto 18
        end local 2 // java.util.HashMap result
         9: .line 1184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.schemas:Ljava/util/HashMap;
            astore 2 /* result */
        start local 2 // java.util.HashMap result
        10: .line 1185
            goto 18
        end local 2 // java.util.HashMap result
        11: .line 1187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.domains:Ljava/util/HashMap;
            astore 2 /* result */
        start local 2 // java.util.HashMap result
        12: .line 1188
            goto 18
        end local 2 // java.util.HashMap result
        13: .line 1190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.comments:Ljava/util/HashMap;
            astore 2 /* result */
        start local 2 // java.util.HashMap result
        14: .line 1191
            goto 18
        end local 2 // java.util.HashMap result
        15: .line 1193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.aggregates:Ljava/util/HashMap;
            astore 2 /* result */
        start local 2 // java.util.HashMap result
        16: .line 1194
            goto 18
        end local 2 // java.util.HashMap result
        17: .line 1196
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "type="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        start local 2 // java.util.HashMap result
        18: .line 1198
      StackMap locals: java.util.HashMap
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // java.util.HashMap result
        end local 1 // int type
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Lorg/h2/engine/Database;
            0   19     1    type  I
            2    3     2  result  Ljava/util/HashMap<Ljava/lang/String;+Lorg/h2/engine/DbObject;>;
            4    5     2  result  Ljava/util/HashMap<Ljava/lang/String;+Lorg/h2/engine/DbObject;>;
            6    7     2  result  Ljava/util/HashMap<Ljava/lang/String;+Lorg/h2/engine/DbObject;>;
            8    9     2  result  Ljava/util/HashMap<Ljava/lang/String;+Lorg/h2/engine/DbObject;>;
           10   11     2  result  Ljava/util/HashMap<Ljava/lang/String;+Lorg/h2/engine/DbObject;>;
           12   13     2  result  Ljava/util/HashMap<Ljava/lang/String;+Lorg/h2/engine/DbObject;>;
           14   15     2  result  Ljava/util/HashMap<Ljava/lang/String;+Lorg/h2/engine/DbObject;>;
           16   17     2  result  Ljava/util/HashMap<Ljava/lang/String;+Lorg/h2/engine/DbObject;>;
           18   19     2  result  Ljava/util/HashMap<Ljava/lang/String;+Lorg/h2/engine/DbObject;>;
    Signature: (I)Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/engine/DbObject;>;
    MethodParameters:
      Name  Flags
      type  

  public void addSchemaObject(org.h2.engine.Session, org.h2.schema.SchemaObject);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/schema/SchemaObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.schema.SchemaObject obj
         0: .line 1208
            aload 2 /* obj */
            invokeinterface org.h2.schema.SchemaObject.getId:()I
            istore 3 /* id */
        start local 3 // int id
         1: .line 1209
            iload 3 /* id */
            ifle 3
            aload 0 /* this */
            getfield org.h2.engine.Database.starting:Z
            ifne 3
         2: .line 1210
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.checkWritingAllowed:()V
         3: .line 1212
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.Database.lockMeta:(Lorg/h2/engine/Session;)Z
            pop
         4: .line 1213
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         5: .line 1214
            aload 2 /* obj */
            invokeinterface org.h2.schema.SchemaObject.getSchema:()Lorg/h2/schema/Schema;
            aload 2 /* obj */
            invokevirtual org.h2.schema.Schema.add:(Lorg/h2/schema/SchemaObject;)V
         6: .line 1215
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* obj */
            invokevirtual org.h2.engine.Database.addMeta:(Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
         7: .line 1213
            aload 4
            monitorexit
         8: goto 11
      StackMap locals: org.h2.engine.Database org.h2.engine.Session org.h2.schema.SchemaObject int org.h2.engine.Database
      StackMap stack: java.lang.Throwable
         9: aload 4
            monitorexit
        10: athrow
        11: .line 1217
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int id
        end local 2 // org.h2.schema.SchemaObject obj
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/h2/engine/Database;
            0   12     1  session  Lorg/h2/engine/Session;
            0   12     2      obj  Lorg/h2/schema/SchemaObject;
            1   12     3       id  I
      Exception table:
        from    to  target  type
           5     8       9  any
           9    10       9  any
    MethodParameters:
         Name  Flags
      session  
      obj      

  public synchronized void addDatabaseObject(org.h2.engine.Session, org.h2.engine.DbObject);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.engine.DbObject obj
         0: .line 1226
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getId:()I
            istore 3 /* id */
        start local 3 // int id
         1: .line 1227
            iload 3 /* id */
            ifle 3
            aload 0 /* this */
            getfield org.h2.engine.Database.starting:Z
            ifne 3
         2: .line 1228
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.checkWritingAllowed:()V
         3: .line 1230
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getType:()I
            invokevirtual org.h2.engine.Database.getMap:(I)Ljava/util/HashMap;
            astore 4 /* map */
        start local 4 // java.util.HashMap map
         4: .line 1231
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getType:()I
            iconst_2
            if_icmpne 8
         5: .line 1232
            aload 2 /* obj */
            checkcast org.h2.engine.User
            astore 5 /* user */
        start local 5 // org.h2.engine.User user
         6: .line 1233
            aload 5 /* user */
            invokevirtual org.h2.engine.User.isAdmin:()Z
            ifeq 8
            aload 0 /* this */
            getfield org.h2.engine.Database.systemUser:Lorg/h2/engine/User;
            invokevirtual org.h2.engine.User.getName:()Ljava/lang/String;
            ldc "DBA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 1234
            aload 0 /* this */
            getfield org.h2.engine.Database.systemUser:Lorg/h2/engine/User;
            aload 5 /* user */
            invokevirtual org.h2.engine.User.getName:()Ljava/lang/String;
            invokevirtual org.h2.engine.User.rename:(Ljava/lang/String;)V
        end local 5 // org.h2.engine.User user
         8: .line 1237
      StackMap locals: java.util.HashMap
      StackMap stack:
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getName:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         9: .line 1238
            getstatic org.h2.engine.SysProperties.CHECK:Z
            ifeq 11
            aload 4 /* map */
            aload 5 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 11
        10: .line 1239
            ldc "object already exists"
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
        11: .line 1241
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.Database.lockMeta:(Lorg/h2/engine/Session;)Z
            pop
        12: .line 1242
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* obj */
            invokevirtual org.h2.engine.Database.addMeta:(Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
        13: .line 1243
            aload 4 /* map */
            aload 5 /* name */
            aload 2 /* obj */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 1244
            return
        end local 5 // java.lang.String name
        end local 4 // java.util.HashMap map
        end local 3 // int id
        end local 2 // org.h2.engine.DbObject obj
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/h2/engine/Database;
            0   15     1  session  Lorg/h2/engine/Session;
            0   15     2      obj  Lorg/h2/engine/DbObject;
            1   15     3       id  I
            4   15     4      map  Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/engine/DbObject;>;
            6    8     5     user  Lorg/h2/engine/User;
            9   15     5     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      session  
      obj      

  public org.h2.engine.UserAggregate findAggregate(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/engine/UserAggregate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String name
         0: .line 1253
            aload 0 /* this */
            getfield org.h2.engine.Database.aggregates:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.engine.UserAggregate
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.h2.engine.Comment findComment(org.h2.engine.DbObject);
    descriptor: (Lorg/h2/engine/DbObject;)Lorg/h2/engine/Comment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.DbObject object
         0: .line 1264
            aload 1 /* object */
            invokeinterface org.h2.engine.DbObject.getType:()I
            bipush 13
            if_icmpne 2
         1: .line 1265
            aconst_null
            areturn
         2: .line 1267
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            invokestatic org.h2.engine.Comment.getKey:(Lorg/h2/engine/DbObject;)Ljava/lang/String;
            astore 2 /* key */
        start local 2 // java.lang.String key
         3: .line 1268
            aload 0 /* this */
            getfield org.h2.engine.Database.comments:Ljava/util/HashMap;
            aload 2 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.engine.Comment
            areturn
        end local 2 // java.lang.String key
        end local 1 // org.h2.engine.DbObject object
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/h2/engine/Database;
            0    4     1  object  Lorg/h2/engine/DbObject;
            3    4     2     key  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      object  

  public org.h2.engine.Role findRole(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/engine/Role;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String roleName
         0: .line 1278
            aload 0 /* this */
            getfield org.h2.engine.Database.roles:Ljava/util/HashMap;
            aload 1 /* roleName */
            invokestatic org.h2.util.StringUtils.toUpperEnglish:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.engine.Role
            areturn
        end local 1 // java.lang.String roleName
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/h2/engine/Database;
            0    1     1  roleName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      roleName  

  public org.h2.schema.Schema findSchema(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/schema/Schema;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String schemaName
         0: .line 1288
            aload 0 /* this */
            getfield org.h2.engine.Database.schemas:Ljava/util/HashMap;
            aload 1 /* schemaName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.schema.Schema
            astore 2 /* schema */
        start local 2 // org.h2.schema.Schema schema
         1: .line 1289
            aload 2 /* schema */
            aload 0 /* this */
            getfield org.h2.engine.Database.infoSchema:Lorg/h2/schema/Schema;
            if_acmpne 3
         2: .line 1290
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.initMetaTables:()V
         3: .line 1292
      StackMap locals: org.h2.schema.Schema
      StackMap stack:
            aload 2 /* schema */
            areturn
        end local 2 // org.h2.schema.Schema schema
        end local 1 // java.lang.String schemaName
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/h2/engine/Database;
            0    4     1  schemaName  Ljava/lang/String;
            1    4     2      schema  Lorg/h2/schema/Schema;
    MethodParameters:
            Name  Flags
      schemaName  

  public org.h2.engine.Setting findSetting(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/engine/Setting;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String name
         0: .line 1302
            aload 0 /* this */
            getfield org.h2.engine.Database.settings:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.engine.Setting
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.h2.engine.User findUser(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/engine/User;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String name
         0: .line 1312
            aload 0 /* this */
            getfield org.h2.engine.Database.users:Ljava/util/HashMap;
            aload 1 /* name */
            invokestatic org.h2.util.StringUtils.toUpperEnglish:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.engine.User
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.h2.engine.Domain findDomain(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/engine/Domain;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String name
         0: .line 1322
            aload 0 /* this */
            getfield org.h2.engine.Database.domains:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.engine.Domain
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.h2.engine.User getUser(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/engine/User;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String name
         0: .line 1334
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.h2.engine.Database.findUser:(Ljava/lang/String;)Lorg/h2/engine/User;
            astore 2 /* user */
        start local 2 // org.h2.engine.User user
         1: .line 1335
            aload 2 /* user */
            ifnonnull 3
         2: .line 1336
            ldc 90032
            aload 1 /* name */
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         3: .line 1338
      StackMap locals: org.h2.engine.User
      StackMap stack:
            aload 2 /* user */
            areturn
        end local 2 // org.h2.engine.User user
        end local 1 // java.lang.String name
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/engine/Database;
            0    4     1  name  Ljava/lang/String;
            1    4     2  user  Lorg/h2/engine/User;
    MethodParameters:
      Name  Flags
      name  

  synchronized org.h2.engine.Session createSession(org.h2.engine.User);
    descriptor: (Lorg/h2/engine/User;)Lorg/h2/engine/Session;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.User user
         0: .line 1349
            aload 0 /* this */
            getfield org.h2.engine.Database.closing:Z
            ifeq 2
         1: .line 1350
            aconst_null
            areturn
         2: .line 1352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.exclusiveSession:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            ifnull 4
         3: .line 1353
            ldc 90135
            invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
            athrow
         4: .line 1355
      StackMap locals:
      StackMap stack:
            new org.h2.engine.Session
            dup
            aload 0 /* this */
            aload 1 /* user */
            aload 0 /* this */
            dup
            getfield org.h2.engine.Database.nextSessionId:I
            iconst_1
            iadd
            dup_x1
            putfield org.h2.engine.Database.nextSessionId:I
            invokespecial org.h2.engine.Session.<init>:(Lorg/h2/engine/Database;Lorg/h2/engine/User;I)V
            astore 2 /* session */
        start local 2 // org.h2.engine.Session session
         5: .line 1356
            aload 0 /* this */
            getfield org.h2.engine.Database.userSessions:Ljava/util/Set;
            aload 2 /* session */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 1357
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            ldc "connecting session #{0} to {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* session */
            invokevirtual org.h2.engine.Session.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            aastore
            invokevirtual org.h2.message.Trace.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 1358
            aload 0 /* this */
            getfield org.h2.engine.Database.delayedCloser:Lorg/h2/engine/DelayedDatabaseCloser;
            ifnull 10
         8: .line 1359
            aload 0 /* this */
            getfield org.h2.engine.Database.delayedCloser:Lorg/h2/engine/DelayedDatabaseCloser;
            invokevirtual org.h2.engine.DelayedDatabaseCloser.reset:()V
         9: .line 1360
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.delayedCloser:Lorg/h2/engine/DelayedDatabaseCloser;
        10: .line 1362
      StackMap locals: org.h2.engine.Session
      StackMap stack:
            aload 2 /* session */
            areturn
        end local 2 // org.h2.engine.Session session
        end local 1 // org.h2.engine.User user
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/h2/engine/Database;
            0   11     1     user  Lorg/h2/engine/User;
            5   11     2  session  Lorg/h2/engine/Session;
    MethodParameters:
      Name  Flags
      user  

  public synchronized void removeSession(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
         0: .line 1371
            aload 1 /* session */
            ifnull 5
         1: .line 1372
            aload 0 /* this */
            getfield org.h2.engine.Database.exclusiveSession:Ljava/util/concurrent/atomic/AtomicReference;
            aload 1 /* session */
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         2: .line 1373
            aload 0 /* this */
            getfield org.h2.engine.Database.userSessions:Ljava/util/Set;
            aload 1 /* session */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         3: .line 1374
            aload 1 /* session */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            if_acmpeq 5
            aload 1 /* session */
            aload 0 /* this */
            getfield org.h2.engine.Database.lobSession:Lorg/h2/engine/Session;
            if_acmpeq 5
         4: .line 1375
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            ldc "disconnecting session #{0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* session */
            invokevirtual org.h2.engine.Session.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.h2.message.Trace.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 1378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.userSessions:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 13
         6: .line 1379
            aload 1 /* session */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            if_acmpeq 13
            aload 1 /* session */
            aload 0 /* this */
            getfield org.h2.engine.Database.lobSession:Lorg/h2/engine/Session;
            if_acmpeq 13
         7: .line 1380
            aload 0 /* this */
            getfield org.h2.engine.Database.closeDelay:I
            ifne 10
         8: .line 1381
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.engine.Database.close:(Z)V
         9: .line 1382
            goto 13
      StackMap locals:
      StackMap stack:
        10: aload 0 /* this */
            getfield org.h2.engine.Database.closeDelay:I
            ifge 12
        11: .line 1383
            return
        12: .line 1385
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.h2.engine.DelayedDatabaseCloser
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.closeDelay:I
            sipush 1000
            imul
            invokespecial org.h2.engine.DelayedDatabaseCloser.<init>:(Lorg/h2/engine/Database;I)V
            putfield org.h2.engine.Database.delayedCloser:Lorg/h2/engine/DelayedDatabaseCloser;
        13: .line 1388
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            if_acmpeq 16
        14: .line 1389
            aload 1 /* session */
            aload 0 /* this */
            getfield org.h2.engine.Database.lobSession:Lorg/h2/engine/Session;
            if_acmpeq 16
            aload 1 /* session */
            ifnull 16
        15: .line 1390
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            ldc "disconnected session #{0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* session */
            invokevirtual org.h2.engine.Session.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.h2.message.Trace.info:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 1392
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/h2/engine/Database;
            0   17     1  session  Lorg/h2/engine/Session;
    MethodParameters:
         Name  Flags
      session  

  private synchronized void closeAllSessionsException(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session except
         0: .line 1395
            aload 0 /* this */
            getfield org.h2.engine.Database.userSessions:Ljava/util/Set;
            getstatic org.h2.engine.Database.EMPTY_SESSION_ARRAY:[Lorg/h2/engine/Session;
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.h2.engine.Session[]
            astore 2 /* all */
        start local 2 // org.h2.engine.Session[] all
         1: .line 1396
            aload 2 /* all */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: org.h2.engine.Database org.h2.engine.Session org.h2.engine.Session[] top int int org.h2.engine.Session[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* s */
        start local 3 // org.h2.engine.Session s
         3: .line 1397
            aload 3 /* s */
            aload 1 /* except */
            if_acmpeq 8
         4: .line 1400
            aload 3 /* s */
            invokevirtual org.h2.engine.Session.close:()V
         5: .line 1401
            goto 8
      StackMap locals: org.h2.engine.Database org.h2.engine.Session org.h2.engine.Session[] org.h2.engine.Session int int org.h2.engine.Session[]
      StackMap stack: org.h2.message.DbException
         6: astore 7 /* e */
        start local 7 // org.h2.message.DbException e
         7: .line 1402
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 7 /* e */
            ldc "disconnecting session #{0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* s */
            invokevirtual org.h2.engine.Session.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
        end local 7 // org.h2.message.DbException e
        end local 3 // org.h2.engine.Session s
         8: .line 1396
      StackMap locals: org.h2.engine.Database org.h2.engine.Session org.h2.engine.Session[] top int int org.h2.engine.Session[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 2
        10: .line 1406
            return
        end local 2 // org.h2.engine.Session[] all
        end local 1 // org.h2.engine.Session except
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/h2/engine/Database;
            0   11     1  except  Lorg/h2/engine/Session;
            1   11     2     all  [Lorg/h2/engine/Session;
            3    8     3       s  Lorg/h2/engine/Session;
            7    8     7       e  Lorg/h2/message/DbException;
      Exception table:
        from    to  target  type
           4     5       6  Class org.h2.message.DbException
    MethodParameters:
        Name  Flags
      except  

  void close(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean fromShutdownHook
         0: .line 1415
            aload 0 /* this */
            getfield org.h2.engine.Database.backgroundException:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.message.DbException
            astore 2 /* b */
        start local 2 // org.h2.message.DbException b
         1: .line 1417
            aload 0 /* this */
            iload 1 /* fromShutdownHook */
            invokevirtual org.h2.engine.Database.closeImpl:(Z)V
         2: .line 1418
            goto 7
      StackMap locals: org.h2.engine.Database int org.h2.message.DbException
      StackMap stack: java.lang.Throwable
         3: astore 3 /* t */
        start local 3 // java.lang.Throwable t
         4: .line 1419
            aload 2 /* b */
            ifnull 6
         5: .line 1420
            aload 3 /* t */
            aload 2 /* b */
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
         6: .line 1422
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3 /* t */
            athrow
        end local 3 // java.lang.Throwable t
         7: .line 1424
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ifnull 9
         8: .line 1426
            aload 2 /* b */
            invokevirtual org.h2.message.DbException.getErrorCode:()I
            aload 2 /* b */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* b */
            invokevirtual org.h2.message.DbException.getMessage:()Ljava/lang/String;
            aastore
            invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
         9: .line 1428
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.h2.message.DbException b
        end local 1 // boolean fromShutdownHook
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lorg/h2/engine/Database;
            0   10     1  fromShutdownHook  Z
            1   10     2                 b  Lorg/h2/message/DbException;
            4    7     3                 t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable
    MethodParameters:
                  Name  Flags
      fromShutdownHook  

  private void closeImpl(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean fromShutdownHook
         0: .line 1432
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 1433
            aload 0 /* this */
            getfield org.h2.engine.Database.closing:Z
            ifeq 4
         2: .line 1434
            aload 2
            monitorexit
         3: .line 1527
            invokestatic org.h2.engine.Engine.getInstance:()Lorg/h2/engine/Engine;
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokevirtual org.h2.engine.Engine.close:(Ljava/lang/String;)V
            return
         4: .line 1436
      StackMap locals: org.h2.engine.Database
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpne 12
         5: .line 1437
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectChangePending:Z
            ifne 12
         6: .line 1440
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.engine.Database.closeOpenFilesAndUnlock:(Z)V
         7: .line 1441
            goto 9
      StackMap locals:
      StackMap stack: org.h2.message.DbException
         8: pop
         9: .line 1444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            invokevirtual org.h2.message.TraceSystem.close:()V
        10: .line 1445
            aload 2
            monitorexit
        11: .line 1527
            invokestatic org.h2.engine.Engine.getInstance:()Lorg/h2/engine/Engine;
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokevirtual org.h2.engine.Engine.close:(Ljava/lang/String;)V
            return
        12: .line 1447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.h2.engine.Database.closing:Z
        13: .line 1448
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.stopServer:()V
        14: .line 1449
            aload 0 /* this */
            getfield org.h2.engine.Database.userSessions:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 20
        15: .line 1450
            iload 1 /* fromShutdownHook */
            ifne 18
        16: .line 1451
            aload 2
            monitorexit
        17: .line 1527
            invokestatic org.h2.engine.Engine.getInstance:()Lorg/h2/engine/Engine;
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokevirtual org.h2.engine.Engine.close:(Ljava/lang/String;)V
            return
        18: .line 1453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            ldc "closing {0} from shutdown hook"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            aastore
            invokevirtual org.h2.message.Trace.info:(Ljava/lang/String;[Ljava/lang/Object;)V
        19: .line 1454
            aload 0 /* this */
            aconst_null
            invokevirtual org.h2.engine.Database.closeAllSessionsException:(Lorg/h2/engine/Session;)V
        20: .line 1456
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            ldc "closing {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            aastore
            invokevirtual org.h2.message.Trace.info:(Ljava/lang/String;[Ljava/lang/Object;)V
        21: .line 1457
            aload 0 /* this */
            getfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
            ifnull 30
        22: .line 1459
            aload 0 /* this */
            iconst_0
            putfield org.h2.engine.Database.closing:Z
        23: .line 1460
            aload 0 /* this */
            getfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
            astore 3 /* e */
        start local 3 // org.h2.api.DatabaseEventListener e
        24: .line 1462
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
        25: .line 1463
            aload 3 /* e */
            invokeinterface org.h2.api.DatabaseEventListener.closingDatabase:()V
        26: .line 1464
            aload 0 /* this */
            getfield org.h2.engine.Database.userSessions:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 29
        27: .line 1466
            aload 2
            monitorexit
        28: .line 1527
            invokestatic org.h2.engine.Engine.getInstance:()Lorg/h2/engine/Engine;
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokevirtual org.h2.engine.Engine.close:(Ljava/lang/String;)V
            return
        29: .line 1468
      StackMap locals: org.h2.api.DatabaseEventListener
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.h2.engine.Database.closing:Z
        end local 3 // org.h2.api.DatabaseEventListener e
        30: .line 1470
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.isReadOnly:()Z
            ifne 32
        31: .line 1471
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.removeOrphanedLobs:()V
        32: .line 1432
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        33: goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: aload 2
            monitorexit
        35: athrow
        36: .line 1475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            ifnull 68
        37: .line 1476
            aload 0 /* this */
            getfield org.h2.engine.Database.powerOffCount:I
            iconst_m1
            if_icmpeq 52
        38: .line 1477
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.engine.Database.getAllTablesAndViews:(Z)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 44
      StackMap locals: org.h2.engine.Database int top java.util.Iterator
      StackMap stack:
        39: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.table.Table
            astore 2 /* table */
        start local 2 // org.h2.table.Table table
        40: .line 1478
            aload 2 /* table */
            invokevirtual org.h2.table.Table.isGlobalTemporary:()Z
            ifeq 43
        41: .line 1479
            aload 2 /* table */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.table.Table.removeChildrenAndResources:(Lorg/h2/engine/Session;)V
        42: .line 1480
            goto 44
        43: .line 1481
      StackMap locals: org.h2.engine.Database int org.h2.table.Table java.util.Iterator
      StackMap stack:
            aload 2 /* table */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.table.Table.close:(Lorg/h2/engine/Session;)V
        end local 2 // org.h2.table.Table table
        44: .line 1477
      StackMap locals: org.h2.engine.Database int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 39
        45: .line 1484
            aload 0 /* this */
        46: .line 1485
            iconst_3
        47: .line 1484
            invokevirtual org.h2.engine.Database.getAllSchemaObjects:(I)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 51
      StackMap locals:
      StackMap stack:
        48: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.schema.SchemaObject
            astore 2 /* obj */
        start local 2 // org.h2.schema.SchemaObject obj
        49: .line 1486
            aload 2 /* obj */
            checkcast org.h2.schema.Sequence
            astore 4 /* sequence */
        start local 4 // org.h2.schema.Sequence sequence
        50: .line 1487
            aload 4 /* sequence */
            invokevirtual org.h2.schema.Sequence.close:()V
        end local 4 // org.h2.schema.Sequence sequence
        end local 2 // org.h2.schema.SchemaObject obj
        51: .line 1484
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        52: .line 1490
      StackMap locals: org.h2.engine.Database int
      StackMap stack:
            aload 0 /* this */
        53: .line 1491
            iconst_4
        54: .line 1490
            invokevirtual org.h2.engine.Database.getAllSchemaObjects:(I)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 61
      StackMap locals: org.h2.engine.Database int top java.util.Iterator
      StackMap stack:
        55: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.schema.SchemaObject
            astore 2 /* obj */
        start local 2 // org.h2.schema.SchemaObject obj
        56: .line 1492
            aload 2 /* obj */
            checkcast org.h2.schema.TriggerObject
            astore 4 /* trigger */
        start local 4 // org.h2.schema.TriggerObject trigger
        57: .line 1494
            aload 4 /* trigger */
            invokevirtual org.h2.schema.TriggerObject.close:()V
        58: .line 1495
            goto 61
      StackMap locals: org.h2.engine.Database int org.h2.schema.SchemaObject java.util.Iterator org.h2.schema.TriggerObject
      StackMap stack: java.sql.SQLException
        59: astore 5 /* e */
        start local 5 // java.sql.SQLException e
        60: .line 1496
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 5 /* e */
            ldc "close"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 5 // java.sql.SQLException e
        end local 4 // org.h2.schema.TriggerObject trigger
        end local 2 // org.h2.schema.SchemaObject obj
        61: .line 1490
      StackMap locals: org.h2.engine.Database int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 55
        62: .line 1499
            aload 0 /* this */
            getfield org.h2.engine.Database.powerOffCount:I
            iconst_m1
            if_icmpeq 68
        63: .line 1500
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.table.Table.close:(Lorg/h2/engine/Session;)V
        64: .line 1501
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            iconst_1
            invokevirtual org.h2.engine.Session.commit:(Z)V
        65: .line 1504
            goto 68
      StackMap locals: org.h2.engine.Database int
      StackMap stack: org.h2.message.DbException
        66: astore 2 /* e */
        start local 2 // org.h2.message.DbException e
        67: .line 1505
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 2 /* e */
            ldc "close"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 2 // org.h2.message.DbException e
        68: .line 1507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.tempFileDeleter:Lorg/h2/util/TempFileDeleter;
            invokevirtual org.h2.util.TempFileDeleter.deleteAll:()V
        69: .line 1509
            aload 0 /* this */
            iconst_1
            invokevirtual org.h2.engine.Database.closeOpenFilesAndUnlock:(Z)V
        70: .line 1510
            goto 73
      StackMap locals:
      StackMap stack: org.h2.message.DbException
        71: astore 2 /* e */
        start local 2 // org.h2.message.DbException e
        72: .line 1511
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 2 /* e */
            ldc "close"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 2 // org.h2.message.DbException e
        73: .line 1513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            ldc "closed"
            invokevirtual org.h2.message.Trace.info:(Ljava/lang/String;)V
        74: .line 1514
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            invokevirtual org.h2.message.TraceSystem.close:()V
        75: .line 1515
            aload 0 /* this */
            invokestatic org.h2.engine.OnExitDatabaseCloser.unregister:(Lorg/h2/engine/Database;)V
        76: .line 1516
            aload 0 /* this */
            getfield org.h2.engine.Database.deleteFilesOnDisconnect:Z
            ifeq 87
            aload 0 /* this */
            getfield org.h2.engine.Database.persistent:Z
            ifeq 87
        77: .line 1517
            aload 0 /* this */
            iconst_0
            putfield org.h2.engine.Database.deleteFilesOnDisconnect:Z
        78: .line 1519
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokestatic org.h2.store.fs.FileUtils.getParent:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* directory */
        start local 2 // java.lang.String directory
        79: .line 1520
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokestatic org.h2.store.fs.FileUtils.getName:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
        80: .line 1521
            aload 2 /* directory */
            aload 3 /* name */
            iconst_1
            invokestatic org.h2.tools.DeleteDbFiles.execute:(Ljava/lang/String;Ljava/lang/String;Z)V
        end local 3 // java.lang.String name
        end local 2 // java.lang.String directory
        81: .line 1522
            goto 87
      StackMap locals:
      StackMap stack: java.lang.Exception
        82: pop
        83: .line 1526
            goto 87
      StackMap locals:
      StackMap stack: java.lang.Throwable
        84: astore 6
        85: .line 1527
            invokestatic org.h2.engine.Engine.getInstance:()Lorg/h2/engine/Engine;
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokevirtual org.h2.engine.Engine.close:(Ljava/lang/String;)V
        86: .line 1528
            aload 6
            athrow
        87: .line 1527
      StackMap locals:
      StackMap stack:
            invokestatic org.h2.engine.Engine.getInstance:()Lorg/h2/engine/Engine;
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokevirtual org.h2.engine.Engine.close:(Ljava/lang/String;)V
        88: .line 1529
            return
        end local 1 // boolean fromShutdownHook
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   89     0              this  Lorg/h2/engine/Database;
            0   89     1  fromShutdownHook  Z
           24   30     3                 e  Lorg/h2/api/DatabaseEventListener;
           40   44     2             table  Lorg/h2/table/Table;
           49   51     2               obj  Lorg/h2/schema/SchemaObject;
           50   51     4          sequence  Lorg/h2/schema/Sequence;
           56   61     2               obj  Lorg/h2/schema/SchemaObject;
           57   61     4           trigger  Lorg/h2/schema/TriggerObject;
           60   61     5                 e  Ljava/sql/SQLException;
           67   68     2                 e  Lorg/h2/message/DbException;
           72   73     2                 e  Lorg/h2/message/DbException;
           79   81     2         directory  Ljava/lang/String;
           80   81     3              name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           6     7       8  Class org.h2.message.DbException
           1     3      34  any
           4    11      34  any
          12    17      34  any
          18    28      34  any
          29    33      34  any
          34    35      34  any
          57    58      59  Class java.sql.SQLException
          36    65      66  Class org.h2.message.DbException
          69    70      71  Class org.h2.message.DbException
          78    81      82  Class java.lang.Exception
           0     3      84  any
           4    11      84  any
          12    17      84  any
          18    28      84  any
          29    84      84  any
    MethodParameters:
                  Name  Flags
      fromShutdownHook  

  private void removeOrphanedLobs();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1533
            aload 0 /* this */
            getfield org.h2.engine.Database.persistent:Z
            ifne 2
         1: .line 1534
            return
         2: .line 1536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.infoSchema:Lorg/h2/schema/Schema;
         3: .line 1537
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            ldc "LOB_DATA"
         4: .line 1536
            invokevirtual org.h2.schema.Schema.findTableOrView:(Lorg/h2/engine/Session;Ljava/lang/String;)Lorg/h2/table/Table;
            ifnull 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 1 /* lobStorageIsUsed */
        start local 1 // boolean lobStorageIsUsed
         7: .line 1538
            iload 1 /* lobStorageIsUsed */
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 8
            iconst_1
            goto 9
      StackMap locals: org.h2.engine.Database int
      StackMap stack: int
         8: iconst_0
      StackMap locals: org.h2.engine.Database int
      StackMap stack: int int
         9: ior
            istore 1 /* lobStorageIsUsed */
        10: .line 1539
            iload 1 /* lobStorageIsUsed */
            ifne 12
        11: .line 1540
            return
        12: .line 1543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.getLobStorage:()Lorg/h2/store/LobStorageInterface;
            pop
        13: .line 1544
            aload 0 /* this */
            getfield org.h2.engine.Database.lobStorage:Lorg/h2/store/LobStorageInterface;
        14: .line 1545
            iconst_m1
        15: .line 1544
            invokeinterface org.h2.store.LobStorageInterface.removeAllForTable:(I)V
        16: .line 1546
            goto 19
      StackMap locals:
      StackMap stack: org.h2.message.DbException
        17: astore 2 /* e */
        start local 2 // org.h2.message.DbException e
        18: .line 1547
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 2 /* e */
            ldc "close"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 2 // org.h2.message.DbException e
        19: .line 1549
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean lobStorageIsUsed
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0              this  Lorg/h2/engine/Database;
            7   20     1  lobStorageIsUsed  Z
           18   19     2                 e  Lorg/h2/message/DbException;
      Exception table:
        from    to  target  type
          12    16      17  Class org.h2.message.DbException

  private void stopWriter();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1552
            aload 0 /* this */
            getfield org.h2.engine.Database.writer:Lorg/h2/store/WriterThread;
            ifnull 3
         1: .line 1553
            aload 0 /* this */
            getfield org.h2.engine.Database.writer:Lorg/h2/store/WriterThread;
            invokevirtual org.h2.store.WriterThread.stopThread:()V
         2: .line 1554
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.writer:Lorg/h2/store/WriterThread;
         3: .line 1556
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/engine/Database;

  private synchronized void closeOpenFilesAndUnlock(boolean);
    descriptor: (Z)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean flush
         0: .line 1565
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.stopWriter:()V
         1: .line 1566
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 22
         2: .line 1567
            iload 1 /* flush */
            ifeq 22
         3: .line 1569
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.checkpoint:()V
         4: .line 1570
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifne 22
         5: .line 1571
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.getPageStoreSession:()Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Database.lockMeta:(Lorg/h2/engine/Session;)Z
            pop
         6: .line 1572
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            aload 0 /* this */
            getfield org.h2.engine.Database.compactMode:I
            invokevirtual org.h2.store.PageStore.compact:(I)V
         7: .line 1573
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.getPageStoreSession:()Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Database.unlockMeta:(Lorg/h2/engine/Session;)V
         8: .line 1575
            goto 22
      StackMap locals:
      StackMap stack: org.h2.message.DbException
         9: astore 2 /* e */
        start local 2 // org.h2.message.DbException e
        10: .line 1576
            getstatic org.h2.engine.Database.ASSERT:Z
            ifeq 16
        11: .line 1577
            aload 2 /* e */
            invokevirtual org.h2.message.DbException.getErrorCode:()I
            istore 3 /* code */
        start local 3 // int code
        12: .line 1578
            iload 3 /* code */
            ldc 90098
            if_icmpeq 16
        13: .line 1579
            iload 3 /* code */
            ldc 50200
            if_icmpeq 16
        14: .line 1580
            iload 3 /* code */
            ldc 90031
            if_icmpeq 16
        15: .line 1581
            aload 2 /* e */
            invokevirtual org.h2.message.DbException.printStackTrace:()V
        end local 3 // int code
        16: .line 1584
      StackMap locals: org.h2.message.DbException
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 2 /* e */
            ldc "close"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 2 // org.h2.message.DbException e
        17: goto 22
        18: .line 1585
      StackMap locals: org.h2.engine.Database int
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        19: .line 1586
            getstatic org.h2.engine.Database.ASSERT:Z
            ifeq 21
        20: .line 1587
            aload 2 /* t */
            invokevirtual java.lang.Throwable.printStackTrace:()V
        21: .line 1589
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 2 /* t */
            ldc "close"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 2 // java.lang.Throwable t
        22: .line 1593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.engine.Database.reconnectModified:(Z)Z
            pop
        23: .line 1594
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 41
        24: .line 1595
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.getMvStore:()Lorg/h2/mvstore/MVStore;
            astore 2 /* mvStore */
        start local 2 // org.h2.mvstore.MVStore mvStore
        25: .line 1596
            aload 2 /* mvStore */
            ifnull 41
            aload 2 /* mvStore */
            invokevirtual org.h2.mvstore.MVStore.isClosed:()Z
            ifne 41
        26: .line 1598
            aload 0 /* this */
            getfield org.h2.engine.Database.compactMode:I
            bipush 82
            if_icmpeq 30
        27: .line 1599
            aload 0 /* this */
            getfield org.h2.engine.Database.compactMode:I
            bipush 84
            if_icmpeq 30
        28: .line 1600
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.getSettings:()Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.defragAlways:Z
            ifne 30
        29: .line 1597
            iconst_0
            goto 31
      StackMap locals: org.h2.mvstore.MVStore
      StackMap stack:
        30: iconst_1
      StackMap locals:
      StackMap stack: int
        31: istore 3 /* compactFully */
        start local 3 // boolean compactFully
        32: .line 1601
            iload 3 /* compactFully */
            ifne 40
            aload 2 /* mvStore */
            invokevirtual org.h2.mvstore.MVStore.isReadOnly:()Z
            ifne 40
        33: .line 1602
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.maxCompactTime:I
            ifle 39
        34: .line 1604
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.maxCompactTime:I
            i2l
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.compactFile:(J)V
        35: .line 1605
            goto 40
      StackMap locals: org.h2.engine.Database int org.h2.mvstore.MVStore int
      StackMap stack: java.lang.Throwable
        36: astore 4 /* t */
        start local 4 // java.lang.Throwable t
        37: .line 1606
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 4 /* t */
            ldc "compactFile"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 4 // java.lang.Throwable t
        38: .line 1608
            goto 40
        39: .line 1609
      StackMap locals:
      StackMap stack:
            aload 2 /* mvStore */
            invokevirtual org.h2.mvstore.MVStore.commit:()J
            pop2
        40: .line 1612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            iload 3 /* compactFully */
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.close:(Z)V
        end local 3 // boolean compactFully
        end local 2 // org.h2.mvstore.MVStore mvStore
        41: .line 1615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            ifnull 44
        42: .line 1616
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.close:()V
        43: .line 1617
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
        44: .line 1619
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.lobSession:Lorg/h2/engine/Session;
            ifnull 47
        45: .line 1620
            aload 0 /* this */
            getfield org.h2.engine.Database.lobSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.close:()V
        46: .line 1621
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.lobSession:Lorg/h2/engine/Session;
        47: .line 1623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.closeFiles:()V
        48: .line 1624
            aload 0 /* this */
            getfield org.h2.engine.Database.persistent:Z
            ifeq 63
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ifnonnull 63
        49: .line 1625
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.NO:Lorg/h2/store/FileLockMethod;
            if_acmpeq 63
        50: .line 1626
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.FS:Lorg/h2/store/FileLockMethod;
            if_acmpeq 63
        51: .line 1636
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ifnull 62
        52: .line 1637
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpne 60
        53: .line 1640
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.load:()Ljava/util/Properties;
            ldc "changePending"
            invokevirtual java.util.Properties.containsKey:(Ljava/lang/Object;)Z
            ifeq 60
        54: .line 1642
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
        55: .line 1643
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckDelayNs:J
            l2d
            ldc 1.1
            dmul
            d2l
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
        56: .line 1642
            invokestatic java.lang.Thread.sleep:(J)V
        57: .line 1644
            goto 60
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        58: astore 6 /* e */
        start local 6 // java.lang.InterruptedException e
        59: .line 1645
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 6 /* e */
            ldc "close"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 6 // java.lang.InterruptedException e
        60: .line 1649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.unlock:()V
        61: .line 1650
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
        62: .line 1630
      StackMap locals:
      StackMap stack:
            return
        63: .line 1632
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.persistent:Z
            ifeq 79
        64: .line 1633
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.deleteOldTempFiles:()V
        65: .line 1635
            goto 79
      StackMap locals:
      StackMap stack: java.lang.Throwable
        66: astore 5
        67: .line 1636
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ifnull 78
        68: .line 1637
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpne 76
        69: .line 1640
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.load:()Ljava/util/Properties;
            ldc "changePending"
            invokevirtual java.util.Properties.containsKey:(Ljava/lang/Object;)Z
            ifeq 76
        70: .line 1642
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
        71: .line 1643
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckDelayNs:J
            l2d
            ldc 1.1
            dmul
            d2l
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
        72: .line 1642
            invokestatic java.lang.Thread.sleep:(J)V
        73: .line 1644
            goto 76
      StackMap locals: org.h2.engine.Database int top top top java.lang.Throwable
      StackMap stack: java.lang.InterruptedException
        74: astore 6 /* e */
        start local 6 // java.lang.InterruptedException e
        75: .line 1645
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 6 /* e */
            ldc "close"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 6 // java.lang.InterruptedException e
        76: .line 1649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.unlock:()V
        77: .line 1650
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
        78: .line 1652
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        79: .line 1636
      StackMap locals: org.h2.engine.Database int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ifnull 90
        80: .line 1637
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpne 88
        81: .line 1640
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.load:()Ljava/util/Properties;
            ldc "changePending"
            invokevirtual java.util.Properties.containsKey:(Ljava/lang/Object;)Z
            ifeq 88
        82: .line 1642
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
        83: .line 1643
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckDelayNs:J
            l2d
            ldc 1.1
            dmul
            d2l
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
        84: .line 1642
            invokestatic java.lang.Thread.sleep:(J)V
        85: .line 1644
            goto 88
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        86: astore 6 /* e */
        start local 6 // java.lang.InterruptedException e
        87: .line 1645
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 6 /* e */
            ldc "close"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 6 // java.lang.InterruptedException e
        88: .line 1649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.unlock:()V
        89: .line 1650
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
        90: .line 1653
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean flush
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   91     0          this  Lorg/h2/engine/Database;
            0   91     1         flush  Z
           10   17     2             e  Lorg/h2/message/DbException;
           12   16     3          code  I
           19   22     2             t  Ljava/lang/Throwable;
           25   41     2       mvStore  Lorg/h2/mvstore/MVStore;
           32   41     3  compactFully  Z
           37   38     4             t  Ljava/lang/Throwable;
           59   60     6             e  Ljava/lang/InterruptedException;
           75   76     6             e  Ljava/lang/InterruptedException;
           87   88     6             e  Ljava/lang/InterruptedException;
      Exception table:
        from    to  target  type
           3     8       9  Class org.h2.message.DbException
           3     8      18  Class java.lang.Throwable
          34    35      36  Class java.lang.Throwable
          54    57      58  Class java.lang.InterruptedException
           0    51      66  any
          63    66      66  any
          70    73      74  Class java.lang.InterruptedException
          82    85      86  Class java.lang.InterruptedException
    MethodParameters:
       Name  Flags
      flush  

  private synchronized void closeFiles();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1657
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 2
         1: .line 1658
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.closeImmediately:()V
         2: .line 1660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 8
         3: .line 1661
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.close:()V
         4: .line 1662
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
         5: .line 1664
            goto 8
      StackMap locals:
      StackMap stack: org.h2.message.DbException
         6: astore 1 /* e */
        start local 1 // org.h2.message.DbException e
         7: .line 1665
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 1 /* e */
            ldc "close"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 1 // org.h2.message.DbException e
         8: .line 1667
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/h2/engine/Database;
            7    8     1     e  Lorg/h2/message/DbException;
      Exception table:
        from    to  target  type
           0     5       6  Class org.h2.message.DbException

  private void checkMetaFree(org.h2.engine.Session, int);
    descriptor: (Lorg/h2/engine/Session;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
        start local 2 // int id
         0: .line 1670
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            iconst_0
            invokevirtual org.h2.table.Table.getTemplateSimpleRow:(Z)Lorg/h2/result/SearchRow;
            astore 3 /* r */
        start local 3 // org.h2.result.SearchRow r
         1: .line 1671
            aload 3 /* r */
            iconst_0
            iload 2 /* id */
            invokestatic org.h2.value.ValueInt.get:(I)Lorg/h2/value/ValueInt;
            invokeinterface org.h2.result.SearchRow.setValue:(ILorg/h2/value/Value;)V
         2: .line 1672
            aload 0 /* this */
            getfield org.h2.engine.Database.metaIdIndex:Lorg/h2/index/Index;
            aload 1 /* session */
            aload 3 /* r */
            aload 3 /* r */
            invokeinterface org.h2.index.Index.find:(Lorg/h2/engine/Session;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
            astore 4 /* cursor */
        start local 4 // org.h2.index.Cursor cursor
         3: .line 1673
            aload 4 /* cursor */
            invokeinterface org.h2.index.Cursor.next:()Z
            ifeq 5
         4: .line 1674
            invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
            pop
         5: .line 1676
      StackMap locals: org.h2.result.SearchRow org.h2.index.Cursor
      StackMap stack:
            return
        end local 4 // org.h2.index.Cursor cursor
        end local 3 // org.h2.result.SearchRow r
        end local 2 // int id
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/h2/engine/Database;
            0    6     1  session  Lorg/h2/engine/Session;
            0    6     2       id  I
            1    6     3        r  Lorg/h2/result/SearchRow;
            3    6     4   cursor  Lorg/h2/index/Cursor;
    MethodParameters:
         Name  Flags
      session  
      id       

  public int allocateObjectId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1684
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.isMVStore:()Z
            ifeq 1
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
      StackMap locals:
      StackMap stack: java.lang.Object
         2: astore 1 /* lock */
        start local 1 // java.lang.Object lock
         3: .line 1686
            aload 1 /* lock */
            dup
            astore 3
            monitorenter
         4: .line 1687
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            iconst_0
            invokevirtual java.util.BitSet.nextClearBit:(I)I
            istore 2 /* i */
        start local 2 // int i
         5: .line 1688
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            iload 2 /* i */
            invokevirtual java.util.BitSet.set:(I)V
         6: .line 1686
            aload 3
            monitorexit
         7: goto 10
        end local 2 // int i
      StackMap locals: org.h2.engine.Database java.lang.Object top java.lang.Object
      StackMap stack: java.lang.Throwable
         8: aload 3
            monitorexit
         9: athrow
        start local 2 // int i
        10: .line 1690
      StackMap locals: org.h2.engine.Database java.lang.Object int
      StackMap stack:
            iload 2 /* i */
            ireturn
        end local 2 // int i
        end local 1 // java.lang.Object lock
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/h2/engine/Database;
            3   11     1  lock  Ljava/lang/Object;
            5    8     2     i  I
           10   11     2     i  I
      Exception table:
        from    to  target  type
           4     7       8  any
           8     9       8  any

  public org.h2.schema.Schema getMainSchema();
    descriptor: ()Lorg/h2/schema/Schema;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1699
            aload 0 /* this */
            getfield org.h2.engine.Database.mainSchema:Lorg/h2/schema/Schema;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public java.util.ArrayList<org.h2.engine.UserAggregate> getAllAggregates();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1703
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.aggregates:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/engine/UserAggregate;>;

  public java.util.ArrayList<org.h2.engine.Comment> getAllComments();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1707
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.comments:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/engine/Comment;>;

  public int getAllowLiterals();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1711
            aload 0 /* this */
            getfield org.h2.engine.Database.starting:Z
            ifeq 2
         1: .line 1712
            iconst_2
            ireturn
         2: .line 1714
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.allowLiterals:I
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/engine/Database;

  public java.util.ArrayList<org.h2.engine.Right> getAllRights();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1718
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.rights:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/engine/Right;>;

  public java.util.ArrayList<org.h2.engine.Role> getAllRoles();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1722
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.roles:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/engine/Role;>;

  public java.util.ArrayList<org.h2.schema.SchemaObject> getAllSchemaObjects();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1731
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.initMetaTables:()V
         1: .line 1732
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // java.util.ArrayList list
         2: .line 1733
            aload 0 /* this */
            getfield org.h2.engine.Database.schemas:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.h2.engine.Database java.util.ArrayList top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.schema.Schema
            astore 2 /* schema */
        start local 2 // org.h2.schema.Schema schema
         4: .line 1734
            aload 2 /* schema */
            aload 1 /* list */
            invokevirtual org.h2.schema.Schema.getAll:(Ljava/util/ArrayList;)Ljava/util/ArrayList;
            pop
        end local 2 // org.h2.schema.Schema schema
         5: .line 1733
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 1736
            aload 1 /* list */
            areturn
        end local 1 // java.util.ArrayList list
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/h2/engine/Database;
            2    7     1    list  Ljava/util/ArrayList<Lorg/h2/schema/SchemaObject;>;
            4    5     2  schema  Lorg/h2/schema/Schema;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/schema/SchemaObject;>;

  public java.util.ArrayList<org.h2.schema.SchemaObject> getAllSchemaObjects(int);
    descriptor: (I)Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int type
         0: .line 1746
            iload 1 /* type */
            ifne 2
         1: .line 1747
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.initMetaTables:()V
         2: .line 1749
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* list */
        start local 2 // java.util.ArrayList list
         3: .line 1750
            aload 0 /* this */
            getfield org.h2.engine.Database.schemas:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.h2.engine.Database int java.util.ArrayList top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.schema.Schema
            astore 3 /* schema */
        start local 3 // org.h2.schema.Schema schema
         5: .line 1751
            aload 3 /* schema */
            iload 1 /* type */
            aload 2 /* list */
            invokevirtual org.h2.schema.Schema.getAll:(ILjava/util/ArrayList;)Ljava/util/ArrayList;
            pop
        end local 3 // org.h2.schema.Schema schema
         6: .line 1750
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 1753
            aload 2 /* list */
            areturn
        end local 2 // java.util.ArrayList list
        end local 1 // int type
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/h2/engine/Database;
            0    8     1    type  I
            3    8     2    list  Ljava/util/ArrayList<Lorg/h2/schema/SchemaObject;>;
            5    6     3  schema  Lorg/h2/schema/Schema;
    Signature: (I)Ljava/util/ArrayList<Lorg/h2/schema/SchemaObject;>;
    MethodParameters:
      Name  Flags
      type  

  public java.util.ArrayList<org.h2.table.Table> getAllTablesAndViews(boolean);
    descriptor: (Z)Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean includeMeta
         0: .line 1765
            iload 1 /* includeMeta */
            ifeq 2
         1: .line 1766
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.initMetaTables:()V
         2: .line 1768
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* list */
        start local 2 // java.util.ArrayList list
         3: .line 1769
            aload 0 /* this */
            getfield org.h2.engine.Database.schemas:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.h2.engine.Database int java.util.ArrayList top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.schema.Schema
            astore 3 /* schema */
        start local 3 // org.h2.schema.Schema schema
         5: .line 1770
            aload 2 /* list */
            aload 3 /* schema */
            invokevirtual org.h2.schema.Schema.getAllTablesAndViews:()Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
        end local 3 // org.h2.schema.Schema schema
         6: .line 1769
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 1772
            aload 2 /* list */
            areturn
        end local 2 // java.util.ArrayList list
        end local 1 // boolean includeMeta
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/h2/engine/Database;
            0    8     1  includeMeta  Z
            3    8     2         list  Ljava/util/ArrayList<Lorg/h2/table/Table;>;
            5    6     3       schema  Lorg/h2/schema/Schema;
    Signature: (Z)Ljava/util/ArrayList<Lorg/h2/table/Table;>;
    MethodParameters:
             Name  Flags
      includeMeta  

  public java.util.ArrayList<org.h2.table.TableSynonym> getAllSynonyms();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1781
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // java.util.ArrayList list
         1: .line 1782
            aload 0 /* this */
            getfield org.h2.engine.Database.schemas:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.h2.engine.Database java.util.ArrayList top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.schema.Schema
            astore 2 /* schema */
        start local 2 // org.h2.schema.Schema schema
         3: .line 1783
            aload 1 /* list */
            aload 2 /* schema */
            invokevirtual org.h2.schema.Schema.getAllSynonyms:()Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
        end local 2 // org.h2.schema.Schema schema
         4: .line 1782
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 1785
            aload 1 /* list */
            areturn
        end local 1 // java.util.ArrayList list
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/h2/engine/Database;
            1    6     1    list  Ljava/util/ArrayList<Lorg/h2/table/TableSynonym;>;
            3    4     2  schema  Lorg/h2/schema/Schema;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/table/TableSynonym;>;

  public java.util.ArrayList<org.h2.table.Table> getTableOrViewByName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String name
         0: .line 1796
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* list */
        start local 2 // java.util.ArrayList list
         1: .line 1797
            aload 0 /* this */
            getfield org.h2.engine.Database.schemas:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.h2.engine.Database java.lang.String java.util.ArrayList top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.schema.Schema
            astore 3 /* schema */
        start local 3 // org.h2.schema.Schema schema
         3: .line 1798
            aload 3 /* schema */
            aload 1 /* name */
            invokevirtual org.h2.schema.Schema.getTableOrViewByName:(Ljava/lang/String;)Lorg/h2/table/Table;
            astore 5 /* table */
        start local 5 // org.h2.table.Table table
         4: .line 1799
            aload 5 /* table */
            ifnull 6
         5: .line 1800
            aload 2 /* list */
            aload 5 /* table */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.h2.table.Table table
        end local 3 // org.h2.schema.Schema schema
         6: .line 1797
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 1803
            aload 2 /* list */
            areturn
        end local 2 // java.util.ArrayList list
        end local 1 // java.lang.String name
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/h2/engine/Database;
            0    8     1    name  Ljava/lang/String;
            1    8     2    list  Ljava/util/ArrayList<Lorg/h2/table/Table;>;
            3    6     3  schema  Lorg/h2/schema/Schema;
            4    6     5   table  Lorg/h2/table/Table;
    Signature: (Ljava/lang/String;)Ljava/util/ArrayList<Lorg/h2/table/Table;>;
    MethodParameters:
      Name  Flags
      name  

  public java.util.ArrayList<org.h2.schema.Schema> getAllSchemas();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1807
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.initMetaTables:()V
         1: .line 1808
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.schemas:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/engine/Database;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/schema/Schema;>;

  public java.util.ArrayList<org.h2.engine.Setting> getAllSettings();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1812
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.settings:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/engine/Setting;>;

  public java.util.ArrayList<org.h2.engine.Domain> getAllDomains();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1816
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.domains:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/engine/Domain;>;

  public java.util.ArrayList<org.h2.engine.User> getAllUsers();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1820
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.users:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/engine/User;>;

  public java.lang.String getCacheType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1824
            aload 0 /* this */
            getfield org.h2.engine.Database.cacheType:Ljava/lang/String;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public java.lang.String getCluster();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1828
            aload 0 /* this */
            getfield org.h2.engine.Database.cluster:Ljava/lang/String;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public org.h2.value.CompareMode getCompareMode();
    descriptor: ()Lorg/h2/value/CompareMode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1833
            aload 0 /* this */
            getfield org.h2.engine.Database.compareMode:Lorg/h2/value/CompareMode;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public java.lang.String getDatabasePath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1838
            aload 0 /* this */
            getfield org.h2.engine.Database.persistent:Z
            ifeq 2
         1: .line 1839
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokestatic org.h2.store.fs.FileUtils.toRealPath:(Ljava/lang/String;)Ljava/lang/String;
            areturn
         2: .line 1841
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/engine/Database;

  public java.lang.String getShortName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1845
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseShortName:Ljava/lang/String;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1849
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public org.h2.engine.Session[] getSessions(boolean);
    descriptor: (Z)[Lorg/h2/engine/Session;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean includingSystemSession
         0: .line 1863
            aload 0 /* this */
            getfield org.h2.engine.Database.userSessions:Ljava/util/Set;
            dup
            astore 3
            monitorenter
         1: .line 1864
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.userSessions:Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* list */
        start local 2 // java.util.ArrayList list
         2: .line 1863
            aload 3
            monitorexit
         3: goto 6
        end local 2 // java.util.ArrayList list
      StackMap locals: org.h2.engine.Database int top java.util.Set
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
        start local 2 // java.util.ArrayList list
         6: .line 1867
      StackMap locals: org.h2.engine.Database int java.util.ArrayList
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            astore 3 /* sys */
        start local 3 // org.h2.engine.Session sys
         7: .line 1868
            aload 0 /* this */
            getfield org.h2.engine.Database.lobSession:Lorg/h2/engine/Session;
            astore 4 /* lob */
        start local 4 // org.h2.engine.Session lob
         8: .line 1869
            iload 1 /* includingSystemSession */
            ifeq 10
            aload 3 /* sys */
            ifnull 10
         9: .line 1870
            aload 2 /* list */
            aload 3 /* sys */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1872
      StackMap locals: org.h2.engine.Session org.h2.engine.Session
      StackMap stack:
            iload 1 /* includingSystemSession */
            ifeq 12
            aload 4 /* lob */
            ifnull 12
        11: .line 1873
            aload 2 /* list */
            aload 4 /* lob */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        12: .line 1875
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iconst_0
            anewarray org.h2.engine.Session
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.h2.engine.Session[]
            areturn
        end local 4 // org.h2.engine.Session lob
        end local 3 // org.h2.engine.Session sys
        end local 2 // java.util.ArrayList list
        end local 1 // boolean includingSystemSession
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   13     0                    this  Lorg/h2/engine/Database;
            0   13     1  includingSystemSession  Z
            2    4     2                    list  Ljava/util/ArrayList<Lorg/h2/engine/Session;>;
            6   13     2                    list  Ljava/util/ArrayList<Lorg/h2/engine/Session;>;
            7   13     3                     sys  Lorg/h2/engine/Session;
            8   13     4                     lob  Lorg/h2/engine/Session;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
                        Name  Flags
      includingSystemSession  

  public void updateMeta(org.h2.engine.Session, org.h2.engine.DbObject);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.engine.DbObject obj
         0: .line 1885
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.isMVStore:()Z
            ifeq 15
         1: .line 1886
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getId:()I
            istore 3 /* id */
        start local 3 // int id
         2: .line 1887
            iload 3 /* id */
            ifle 28
         3: .line 1888
            aload 0 /* this */
            getfield org.h2.engine.Database.starting:Z
            ifne 9
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.isTemporary:()Z
            ifne 9
         4: .line 1889
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            invokevirtual org.h2.table.Table.getTemplateRow:()Lorg/h2/result/Row;
            astore 4 /* newRow */
        start local 4 // org.h2.result.Row newRow
         5: .line 1890
            aload 2 /* obj */
            aload 4 /* newRow */
            invokestatic org.h2.engine.MetaRecord.populateRowFromDBObject:(Lorg/h2/engine/DbObject;Lorg/h2/result/SearchRow;)V
         6: .line 1891
            aload 0 /* this */
            getfield org.h2.engine.Database.metaIdIndex:Lorg/h2/index/Index;
            aload 1 /* session */
            iload 3 /* id */
            i2l
            invokeinterface org.h2.index.Index.getRow:(Lorg/h2/engine/Session;J)Lorg/h2/result/Row;
            astore 5 /* oldRow */
        start local 5 // org.h2.result.Row oldRow
         7: .line 1892
            aload 5 /* oldRow */
            ifnull 9
         8: .line 1893
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            aload 1 /* session */
            aload 5 /* oldRow */
            aload 4 /* newRow */
            invokevirtual org.h2.table.Table.updateRow:(Lorg/h2/engine/Session;Lorg/h2/result/Row;Lorg/h2/result/Row;)V
        end local 5 // org.h2.result.Row oldRow
        end local 4 // org.h2.result.Row newRow
         9: .line 1897
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            dup
            astore 4
            monitorenter
        10: .line 1898
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            iload 3 /* id */
            invokevirtual java.util.BitSet.set:(I)V
        11: .line 1897
            aload 4
            monitorexit
        12: goto 28
      StackMap locals: org.h2.engine.Database org.h2.engine.Session org.h2.engine.DbObject int java.util.BitSet
      StackMap stack: java.lang.Throwable
        13: aload 4
            monitorexit
        14: athrow
        end local 3 // int id
        15: .line 1902
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.Database.lockMeta:(Lorg/h2/engine/Session;)Z
            istore 3 /* metaWasLocked */
        start local 3 // boolean metaWasLocked
        16: .line 1903
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        17: .line 1904
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getId:()I
            istore 5 /* id */
        start local 5 // int id
        18: .line 1905
            aload 0 /* this */
            aload 1 /* session */
            iload 5 /* id */
            invokevirtual org.h2.engine.Database.removeMeta:(Lorg/h2/engine/Session;I)V
        19: .line 1906
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* obj */
            invokevirtual org.h2.engine.Database.addMeta:(Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
        20: .line 1908
            iload 5 /* id */
            ifle 22
        21: .line 1909
            aload 0 /* this */
            getfield org.h2.engine.Database.objectIds:Ljava/util/BitSet;
            iload 5 /* id */
            invokevirtual java.util.BitSet.set:(I)V
        end local 5 // int id
        22: .line 1903
      StackMap locals: int org.h2.engine.Database
      StackMap stack:
            aload 4
            monitorexit
        23: goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        24: aload 4
            monitorexit
        25: athrow
        26: .line 1912
      StackMap locals:
      StackMap stack:
            iload 3 /* metaWasLocked */
            ifne 28
        27: .line 1913
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.Database.unlockMeta:(Lorg/h2/engine/Session;)V
        end local 3 // boolean metaWasLocked
        28: .line 1916
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.h2.engine.DbObject obj
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   29     0           this  Lorg/h2/engine/Database;
            0   29     1        session  Lorg/h2/engine/Session;
            0   29     2            obj  Lorg/h2/engine/DbObject;
            2   15     3             id  I
            5    9     4         newRow  Lorg/h2/result/Row;
            7    9     5         oldRow  Lorg/h2/result/Row;
           16   28     3  metaWasLocked  Z
           18   22     5             id  I
      Exception table:
        from    to  target  type
          10    12      13  any
          13    14      13  any
          17    23      24  any
          24    25      24  any
    MethodParameters:
         Name  Flags
      session  
      obj      

  public synchronized void renameSchemaObject(org.h2.engine.Session, org.h2.schema.SchemaObject, java.lang.String);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/schema/SchemaObject;Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.schema.SchemaObject obj
        start local 3 // java.lang.String newName
         0: .line 1927
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.checkWritingAllowed:()V
         1: .line 1928
            aload 2 /* obj */
            invokeinterface org.h2.schema.SchemaObject.getSchema:()Lorg/h2/schema/Schema;
            aload 2 /* obj */
            aload 3 /* newName */
            invokevirtual org.h2.schema.Schema.rename:(Lorg/h2/schema/SchemaObject;Ljava/lang/String;)V
         2: .line 1929
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* obj */
            invokevirtual org.h2.engine.Database.updateMetaAndFirstLevelChildren:(Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
         3: .line 1930
            return
        end local 3 // java.lang.String newName
        end local 2 // org.h2.schema.SchemaObject obj
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/h2/engine/Database;
            0    4     1  session  Lorg/h2/engine/Session;
            0    4     2      obj  Lorg/h2/schema/SchemaObject;
            0    4     3  newName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      session  
      obj      
      newName  

  private synchronized void updateMetaAndFirstLevelChildren(org.h2.engine.Session, org.h2.engine.DbObject);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.engine.DbObject obj
         0: .line 1933
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getChildren:()Ljava/util/ArrayList;
            astore 3 /* list */
        start local 3 // java.util.ArrayList list
         1: .line 1934
            aload 0 /* this */
            aload 2 /* obj */
            invokevirtual org.h2.engine.Database.findComment:(Lorg/h2/engine/DbObject;)Lorg/h2/engine/Comment;
            astore 4 /* comment */
        start local 4 // org.h2.engine.Comment comment
         2: .line 1935
            aload 4 /* comment */
            ifnull 4
         3: .line 1936
            aload 4 /* comment */
            invokevirtual org.h2.engine.Comment.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
         4: .line 1938
      StackMap locals: java.util.ArrayList org.h2.engine.Comment
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* obj */
            invokevirtual org.h2.engine.Database.updateMeta:(Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
         5: .line 1940
            aload 3 /* list */
            ifnull 11
         6: .line 1941
            aload 3 /* list */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 6
            goto 10
      StackMap locals: org.h2.engine.Database org.h2.engine.Session org.h2.engine.DbObject java.util.ArrayList org.h2.engine.Comment top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.engine.DbObject
            astore 5 /* o */
        start local 5 // org.h2.engine.DbObject o
         8: .line 1942
            aload 5 /* o */
            invokeinterface org.h2.engine.DbObject.getCreateSQL:()Ljava/lang/String;
            ifnull 10
         9: .line 1943
            aload 0 /* this */
            aload 1 /* session */
            aload 5 /* o */
            invokevirtual org.h2.engine.Database.updateMeta:(Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
        end local 5 // org.h2.engine.DbObject o
        10: .line 1941
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        11: .line 1947
      StackMap locals: org.h2.engine.Database org.h2.engine.Session org.h2.engine.DbObject java.util.ArrayList org.h2.engine.Comment
      StackMap stack:
            return
        end local 4 // org.h2.engine.Comment comment
        end local 3 // java.util.ArrayList list
        end local 2 // org.h2.engine.DbObject obj
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/h2/engine/Database;
            0   12     1  session  Lorg/h2/engine/Session;
            0   12     2      obj  Lorg/h2/engine/DbObject;
            1   12     3     list  Ljava/util/ArrayList<Lorg/h2/engine/DbObject;>;
            2   12     4  comment  Lorg/h2/engine/Comment;
            8   10     5        o  Lorg/h2/engine/DbObject;
    MethodParameters:
         Name  Flags
      session  
      obj      

  public synchronized void renameDatabaseObject(org.h2.engine.Session, org.h2.engine.DbObject, java.lang.String);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.engine.DbObject obj
        start local 3 // java.lang.String newName
         0: .line 1958
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.checkWritingAllowed:()V
         1: .line 1959
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getType:()I
            istore 4 /* type */
        start local 4 // int type
         2: .line 1960
            aload 0 /* this */
            iload 4 /* type */
            invokevirtual org.h2.engine.Database.getMap:(I)Ljava/util/HashMap;
            astore 5 /* map */
        start local 5 // java.util.HashMap map
         3: .line 1961
            getstatic org.h2.engine.SysProperties.CHECK:Z
            ifeq 8
         4: .line 1962
            aload 5 /* map */
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getName:()Ljava/lang/String;
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 1963
            new java.lang.StringBuilder
            dup
            ldc "not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
         6: .line 1965
      StackMap locals: int java.util.HashMap
      StackMap stack:
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getName:()Ljava/lang/String;
            aload 3 /* newName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            aload 5 /* map */
            aload 3 /* newName */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 1966
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "object already exists: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* newName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
         8: .line 1969
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.checkRename:()V
         9: .line 1970
            aload 5 /* map */
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getName:()Ljava/lang/String;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1971
            aload 2 /* obj */
            aload 3 /* newName */
            invokeinterface org.h2.engine.DbObject.rename:(Ljava/lang/String;)V
        11: .line 1972
            aload 5 /* map */
            aload 3 /* newName */
            aload 2 /* obj */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 1973
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* obj */
            invokevirtual org.h2.engine.Database.updateMetaAndFirstLevelChildren:(Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
        13: .line 1974
            return
        end local 5 // java.util.HashMap map
        end local 4 // int type
        end local 3 // java.lang.String newName
        end local 2 // org.h2.engine.DbObject obj
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/h2/engine/Database;
            0   14     1  session  Lorg/h2/engine/Session;
            0   14     2      obj  Lorg/h2/engine/DbObject;
            0   14     3  newName  Ljava/lang/String;
            2   14     4     type  I
            3   14     5      map  Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/engine/DbObject;>;
    MethodParameters:
         Name  Flags
      session  
      obj      
      newName  

  public java.lang.String createTempFile();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1983
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            istore 1 /* inTempDir */
        start local 1 // boolean inTempDir
         1: .line 1984
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         2: .line 1985
            aload 0 /* this */
            getfield org.h2.engine.Database.persistent:Z
            ifne 4
         3: .line 1986
            new java.lang.StringBuilder
            dup
            ldc "memFS:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* name */
         4: .line 1988
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 2 /* name */
            ldc ".temp.db"
            iload 1 /* inTempDir */
            invokestatic org.h2.store.fs.FileUtils.createTempFile:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
         5: areturn
        end local 2 // java.lang.String name
        end local 1 // boolean inTempDir
         6: .line 1989
      StackMap locals: org.h2.engine.Database
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         7: .line 1990
            aload 1 /* e */
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokestatic org.h2.message.DbException.convertIOException:(Ljava/io/IOException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.io.IOException e
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/h2/engine/Database;
            1    6     1  inTempDir  Z
            2    6     2       name  Ljava/lang/String;
            7    8     1          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     5       6  Class java.io.IOException

  private void deleteOldTempFiles();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 1995
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokestatic org.h2.store.fs.FileUtils.getParent:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* path */
        start local 1 // java.lang.String path
         1: .line 1996
            aload 1 /* path */
            invokestatic org.h2.store.fs.FileUtils.newDirectoryStream:(Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.h2.engine.Database java.lang.String top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* name */
        start local 2 // java.lang.String name
         3: .line 1997
            aload 2 /* name */
            ldc ".temp.db"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 1998
            aload 2 /* name */
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 2000
            aload 2 /* name */
            invokestatic org.h2.store.fs.FileUtils.tryDelete:(Ljava/lang/String;)Z
            pop
        end local 2 // java.lang.String name
         6: .line 1996
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 2003
            return
        end local 1 // java.lang.String path
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/h2/engine/Database;
            1    8     1  path  Ljava/lang/String;
            3    6     2  name  Ljava/lang/String;

  public org.h2.schema.Schema getSchema(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/schema/Schema;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String schemaName
         0: .line 2013
            aload 0 /* this */
            aload 1 /* schemaName */
            invokevirtual org.h2.engine.Database.findSchema:(Ljava/lang/String;)Lorg/h2/schema/Schema;
            astore 2 /* schema */
        start local 2 // org.h2.schema.Schema schema
         1: .line 2014
            aload 2 /* schema */
            ifnonnull 3
         2: .line 2015
            ldc 90079
            aload 1 /* schemaName */
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         3: .line 2017
      StackMap locals: org.h2.schema.Schema
      StackMap stack:
            aload 2 /* schema */
            areturn
        end local 2 // org.h2.schema.Schema schema
        end local 1 // java.lang.String schemaName
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/h2/engine/Database;
            0    4     1  schemaName  Ljava/lang/String;
            1    4     2      schema  Lorg/h2/schema/Schema;
    MethodParameters:
            Name  Flags
      schemaName  

  public synchronized void removeDatabaseObject(org.h2.engine.Session, org.h2.engine.DbObject);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.engine.DbObject obj
         0: .line 2027
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.checkWritingAllowed:()V
         1: .line 2028
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getName:()Ljava/lang/String;
            astore 3 /* objName */
        start local 3 // java.lang.String objName
         2: .line 2029
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getType:()I
            istore 4 /* type */
        start local 4 // int type
         3: .line 2030
            aload 0 /* this */
            iload 4 /* type */
            invokevirtual org.h2.engine.Database.getMap:(I)Ljava/util/HashMap;
            astore 5 /* map */
        start local 5 // java.util.HashMap map
         4: .line 2031
            getstatic org.h2.engine.SysProperties.CHECK:Z
            ifeq 6
            aload 5 /* map */
            aload 3 /* objName */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 2032
            new java.lang.StringBuilder
            dup
            ldc "not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* objName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
         6: .line 2034
      StackMap locals: java.lang.String int java.util.HashMap
      StackMap stack:
            aload 0 /* this */
            aload 2 /* obj */
            invokevirtual org.h2.engine.Database.findComment:(Lorg/h2/engine/DbObject;)Lorg/h2/engine/Comment;
            astore 6 /* comment */
        start local 6 // org.h2.engine.Comment comment
         7: .line 2035
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.Database.lockMeta:(Lorg/h2/engine/Session;)Z
            pop
         8: .line 2036
            aload 6 /* comment */
            ifnull 10
         9: .line 2037
            aload 0 /* this */
            aload 1 /* session */
            aload 6 /* comment */
            invokevirtual org.h2.engine.Database.removeDatabaseObject:(Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
        10: .line 2039
      StackMap locals: org.h2.engine.Comment
      StackMap stack:
            aload 2 /* obj */
            invokeinterface org.h2.engine.DbObject.getId:()I
            istore 7 /* id */
        start local 7 // int id
        11: .line 2040
            aload 2 /* obj */
            aload 1 /* session */
            invokeinterface org.h2.engine.DbObject.removeChildrenAndResources:(Lorg/h2/engine/Session;)V
        12: .line 2041
            aload 5 /* map */
            aload 3 /* objName */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 2042
            aload 0 /* this */
            aload 1 /* session */
            iload 7 /* id */
            invokevirtual org.h2.engine.Database.removeMeta:(Lorg/h2/engine/Session;I)V
        14: .line 2043
            return
        end local 7 // int id
        end local 6 // org.h2.engine.Comment comment
        end local 5 // java.util.HashMap map
        end local 4 // int type
        end local 3 // java.lang.String objName
        end local 2 // org.h2.engine.DbObject obj
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/h2/engine/Database;
            0   15     1  session  Lorg/h2/engine/Session;
            0   15     2      obj  Lorg/h2/engine/DbObject;
            2   15     3  objName  Ljava/lang/String;
            3   15     4     type  I
            4   15     5      map  Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/engine/DbObject;>;
            7   15     6  comment  Lorg/h2/engine/Comment;
           11   15     7       id  I
    MethodParameters:
         Name  Flags
      session  
      obj      

  public org.h2.table.Table getDependentTable(org.h2.schema.SchemaObject, org.h2.table.Table);
    descriptor: (Lorg/h2/schema/SchemaObject;Lorg/h2/table/Table;)Lorg/h2/table/Table;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.schema.SchemaObject obj
        start local 2 // org.h2.table.Table except
         0: .line 2053
            aload 1 /* obj */
            invokeinterface org.h2.schema.SchemaObject.getType:()I
            tableswitch { // 1 - 13
                    1: 1
                    2: 1
                    3: 2
                    4: 1
                    5: 1
                    6: 2
                    7: 2
                    8: 1
                    9: 2
                   10: 2
                   11: 2
                   12: 2
                   13: 1
              default: 2
          }
         1: .line 2060
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 2063
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* set */
        start local 3 // java.util.HashSet set
         3: .line 2064
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.engine.Database.getAllTablesAndViews:(Z)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 13
      StackMap locals: org.h2.engine.Database org.h2.schema.SchemaObject org.h2.table.Table java.util.HashSet top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.table.Table
            astore 4 /* t */
        start local 4 // org.h2.table.Table t
         5: .line 2065
            aload 2 /* except */
            aload 4 /* t */
            if_acmpne 7
         6: .line 2066
            goto 13
         7: .line 2067
      StackMap locals: org.h2.engine.Database org.h2.schema.SchemaObject org.h2.table.Table java.util.HashSet org.h2.table.Table java.util.Iterator
      StackMap stack:
            getstatic org.h2.table.TableType.VIEW:Lorg/h2/table/TableType;
            aload 4 /* t */
            invokevirtual org.h2.table.Table.getTableType:()Lorg/h2/table/TableType;
            if_acmpne 9
         8: .line 2068
            goto 13
         9: .line 2070
      StackMap locals:
      StackMap stack:
            aload 3 /* set */
            invokevirtual java.util.HashSet.clear:()V
        10: .line 2071
            aload 4 /* t */
            aload 3 /* set */
            invokevirtual org.h2.table.Table.addDependencies:(Ljava/util/HashSet;)V
        11: .line 2072
            aload 3 /* set */
            aload 1 /* obj */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 2073
            aload 4 /* t */
            areturn
        end local 4 // org.h2.table.Table t
        13: .line 2064
      StackMap locals: org.h2.engine.Database org.h2.schema.SchemaObject org.h2.table.Table java.util.HashSet top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        14: .line 2076
            aconst_null
            areturn
        end local 3 // java.util.HashSet set
        end local 2 // org.h2.table.Table except
        end local 1 // org.h2.schema.SchemaObject obj
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/h2/engine/Database;
            0   15     1     obj  Lorg/h2/schema/SchemaObject;
            0   15     2  except  Lorg/h2/table/Table;
            3   15     3     set  Ljava/util/HashSet<Lorg/h2/engine/DbObject;>;
            5   13     4       t  Lorg/h2/table/Table;
    MethodParameters:
        Name  Flags
      obj     
      except  

  public void removeSchemaObject(org.h2.engine.Session, org.h2.schema.SchemaObject);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/schema/SchemaObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.schema.SchemaObject obj
         0: .line 2087
            aload 2 /* obj */
            invokeinterface org.h2.schema.SchemaObject.getType:()I
            istore 3 /* type */
        start local 3 // int type
         1: .line 2088
            iload 3 /* type */
            ifne 6
         2: .line 2089
            aload 2 /* obj */
            checkcast org.h2.table.Table
            astore 4 /* table */
        start local 4 // org.h2.table.Table table
         3: .line 2090
            aload 4 /* table */
            invokevirtual org.h2.table.Table.isTemporary:()Z
            ifeq 18
            aload 4 /* table */
            invokevirtual org.h2.table.Table.isGlobalTemporary:()Z
            ifne 18
         4: .line 2091
            aload 1 /* session */
            aload 4 /* table */
            invokevirtual org.h2.engine.Session.removeLocalTempTable:(Lorg/h2/table/Table;)V
         5: .line 2092
            return
        end local 4 // org.h2.table.Table table
         6: .line 2094
      StackMap locals: int
      StackMap stack:
            iload 3 /* type */
            iconst_1
            if_icmpne 12
         7: .line 2095
            aload 2 /* obj */
            checkcast org.h2.index.Index
            astore 4 /* index */
        start local 4 // org.h2.index.Index index
         8: .line 2096
            aload 4 /* index */
            invokeinterface org.h2.index.Index.getTable:()Lorg/h2/table/Table;
            astore 5 /* table */
        start local 5 // org.h2.table.Table table
         9: .line 2097
            aload 5 /* table */
            invokevirtual org.h2.table.Table.isTemporary:()Z
            ifeq 18
            aload 5 /* table */
            invokevirtual org.h2.table.Table.isGlobalTemporary:()Z
            ifne 18
        10: .line 2098
            aload 1 /* session */
            aload 4 /* index */
            invokevirtual org.h2.engine.Session.removeLocalTempTableIndex:(Lorg/h2/index/Index;)V
        11: .line 2099
            return
        end local 5 // org.h2.table.Table table
        end local 4 // org.h2.index.Index index
        12: .line 2101
      StackMap locals:
      StackMap stack:
            iload 3 /* type */
            iconst_5
            if_icmpne 18
        13: .line 2102
            aload 2 /* obj */
            checkcast org.h2.constraint.Constraint
            astore 4 /* constraint */
        start local 4 // org.h2.constraint.Constraint constraint
        14: .line 2103
            aload 4 /* constraint */
            invokevirtual org.h2.constraint.Constraint.getTable:()Lorg/h2/table/Table;
            astore 5 /* table */
        start local 5 // org.h2.table.Table table
        15: .line 2104
            aload 5 /* table */
            invokevirtual org.h2.table.Table.isTemporary:()Z
            ifeq 18
            aload 5 /* table */
            invokevirtual org.h2.table.Table.isGlobalTemporary:()Z
            ifne 18
        16: .line 2105
            aload 1 /* session */
            aload 4 /* constraint */
            invokevirtual org.h2.engine.Session.removeLocalTempTableConstraint:(Lorg/h2/constraint/Constraint;)V
        17: .line 2106
            return
        end local 5 // org.h2.table.Table table
        end local 4 // org.h2.constraint.Constraint constraint
        18: .line 2109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.checkWritingAllowed:()V
        19: .line 2110
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.Database.lockMeta:(Lorg/h2/engine/Session;)Z
            pop
        20: .line 2111
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        21: .line 2112
            aload 0 /* this */
            aload 2 /* obj */
            invokevirtual org.h2.engine.Database.findComment:(Lorg/h2/engine/DbObject;)Lorg/h2/engine/Comment;
            astore 5 /* comment */
        start local 5 // org.h2.engine.Comment comment
        22: .line 2113
            aload 5 /* comment */
            ifnull 24
        23: .line 2114
            aload 0 /* this */
            aload 1 /* session */
            aload 5 /* comment */
            invokevirtual org.h2.engine.Database.removeDatabaseObject:(Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
        24: .line 2116
      StackMap locals: org.h2.engine.Database org.h2.engine.Comment
      StackMap stack:
            aload 2 /* obj */
            invokeinterface org.h2.schema.SchemaObject.getSchema:()Lorg/h2/schema/Schema;
            aload 2 /* obj */
            invokevirtual org.h2.schema.Schema.remove:(Lorg/h2/schema/SchemaObject;)V
        25: .line 2117
            aload 2 /* obj */
            invokeinterface org.h2.schema.SchemaObject.getId:()I
            istore 6 /* id */
        start local 6 // int id
        26: .line 2118
            aload 0 /* this */
            getfield org.h2.engine.Database.starting:Z
            ifne 32
        27: .line 2119
            aload 0 /* this */
            aload 2 /* obj */
            aconst_null
            invokevirtual org.h2.engine.Database.getDependentTable:(Lorg/h2/schema/SchemaObject;Lorg/h2/table/Table;)Lorg/h2/table/Table;
            astore 7 /* t */
        start local 7 // org.h2.table.Table t
        28: .line 2120
            aload 7 /* t */
            ifnull 31
        29: .line 2121
            aload 2 /* obj */
            invokeinterface org.h2.schema.SchemaObject.getSchema:()Lorg/h2/schema/Schema;
            aload 2 /* obj */
            invokevirtual org.h2.schema.Schema.add:(Lorg/h2/schema/SchemaObject;)V
        30: .line 2122
            ldc 90107
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* obj */
            iconst_0
            invokeinterface org.h2.schema.SchemaObject.getSQL:(Z)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 7 /* t */
            iconst_0
            invokevirtual org.h2.table.Table.getSQL:(Z)Ljava/lang/String;
            aastore
            invokestatic org.h2.message.DbException.get:(I[Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        31: .line 2124
      StackMap locals: int org.h2.table.Table
      StackMap stack:
            aload 2 /* obj */
            aload 1 /* session */
            invokeinterface org.h2.schema.SchemaObject.removeChildrenAndResources:(Lorg/h2/engine/Session;)V
        end local 7 // org.h2.table.Table t
        32: .line 2126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            iload 6 /* id */
            invokevirtual org.h2.engine.Database.removeMeta:(Lorg/h2/engine/Session;I)V
        end local 6 // int id
        end local 5 // org.h2.engine.Comment comment
        33: .line 2111
            aload 4
            monitorexit
        34: goto 37
      StackMap locals: org.h2.engine.Database org.h2.engine.Session org.h2.schema.SchemaObject int org.h2.engine.Database
      StackMap stack: java.lang.Throwable
        35: aload 4
            monitorexit
        36: athrow
        37: .line 2128
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int type
        end local 2 // org.h2.schema.SchemaObject obj
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   38     0        this  Lorg/h2/engine/Database;
            0   38     1     session  Lorg/h2/engine/Session;
            0   38     2         obj  Lorg/h2/schema/SchemaObject;
            1   38     3        type  I
            3    6     4       table  Lorg/h2/table/Table;
            8   12     4       index  Lorg/h2/index/Index;
            9   12     5       table  Lorg/h2/table/Table;
           14   18     4  constraint  Lorg/h2/constraint/Constraint;
           15   18     5       table  Lorg/h2/table/Table;
           22   33     5     comment  Lorg/h2/engine/Comment;
           26   33     6          id  I
           28   32     7           t  Lorg/h2/table/Table;
      Exception table:
        from    to  target  type
          21    34      35  any
          35    36      35  any
    MethodParameters:
         Name  Flags
      session  
      obj      

  public boolean isPersistent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2136
            aload 0 /* this */
            getfield org.h2.engine.Database.persistent:Z
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public org.h2.message.TraceSystem getTraceSystem();
    descriptor: ()Lorg/h2/message/TraceSystem;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2140
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public synchronized void setCacheSize(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int kb
         0: .line 2144
            aload 0 /* this */
            getfield org.h2.engine.Database.starting:Z
            ifeq 3
         1: .line 2145
            invokestatic org.h2.util.Utils.getMemoryMax:()J
            invokestatic org.h2.util.MathUtils.convertLongToInt:(J)I
            iconst_2
            idiv
            istore 2 /* max */
        start local 2 // int max
         2: .line 2146
            iload 1 /* kb */
            iload 2 /* max */
            invokestatic java.lang.Math.min:(II)I
            istore 1 /* kb */
        end local 2 // int max
         3: .line 2148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* kb */
            putfield org.h2.engine.Database.cacheSize:I
         4: .line 2149
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 6
         5: .line 2150
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            iload 1 /* kb */
            invokevirtual org.h2.store.PageStore.setMaxCacheMemory:(I)V
         6: .line 2152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 8
         7: .line 2153
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            iconst_1
            iload 1 /* kb */
            invokestatic java.lang.Math.max:(II)I
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.setCacheSize:(I)V
         8: .line 2155
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int kb
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/h2/engine/Database;
            0    9     1    kb  I
            2    3     2   max  I
    MethodParameters:
      Name  Flags
      kb    

  public synchronized void setMasterUser(org.h2.engine.User);
    descriptor: (Lorg/h2/engine/User;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.User user
         0: .line 2158
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Database.lockMeta:(Lorg/h2/engine/Session;)Z
            pop
         1: .line 2159
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            aload 1 /* user */
            invokevirtual org.h2.engine.Database.addDatabaseObject:(Lorg/h2/engine/Session;Lorg/h2/engine/DbObject;)V
         2: .line 2160
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            iconst_1
            invokevirtual org.h2.engine.Session.commit:(Z)V
         3: .line 2161
            return
        end local 1 // org.h2.engine.User user
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/engine/Database;
            0    4     1  user  Lorg/h2/engine/User;
    MethodParameters:
      Name  Flags
      user  

  public org.h2.engine.Role getPublicRole();
    descriptor: ()Lorg/h2/engine/Role;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2164
            aload 0 /* this */
            getfield org.h2.engine.Database.publicRole:Lorg/h2/engine/Role;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public synchronized java.lang.String getTempTableName(java.lang.String, org.h2.engine.Session);
    descriptor: (Ljava/lang/String;Lorg/h2/engine/Session;)Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String baseName
        start local 2 // org.h2.engine.Session session
         0: .line 2177
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* baseName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "_COPY_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* session */
            invokevirtual org.h2.engine.Session.getId:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         1: .line 2178
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            dup
            getfield org.h2.engine.Database.nextTempTableId:I
            dup_x1
            iconst_1
            iadd
            putfield org.h2.engine.Database.nextTempTableId:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         2: .line 2177
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* tempName */
        start local 3 // java.lang.String tempName
         3: .line 2179
            aload 0 /* this */
            getfield org.h2.engine.Database.mainSchema:Lorg/h2/schema/Schema;
            aload 2 /* session */
            aload 3 /* tempName */
            invokevirtual org.h2.schema.Schema.findTableOrView:(Lorg/h2/engine/Session;Ljava/lang/String;)Lorg/h2/table/Table;
            ifnonnull 0
         4: .line 2180
            aload 3 /* tempName */
            areturn
        end local 3 // java.lang.String tempName
        end local 2 // org.h2.engine.Session session
        end local 1 // java.lang.String baseName
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/h2/engine/Database;
            0    5     1  baseName  Ljava/lang/String;
            0    5     2   session  Lorg/h2/engine/Session;
            3    5     3  tempName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      baseName  
      session   

  public void setCompareMode(org.h2.value.CompareMode);
    descriptor: (Lorg/h2/value/CompareMode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.value.CompareMode compareMode
         0: .line 2184
            aload 0 /* this */
            aload 1 /* compareMode */
            putfield org.h2.engine.Database.compareMode:Lorg/h2/value/CompareMode;
         1: .line 2185
            return
        end local 1 // org.h2.value.CompareMode compareMode
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/h2/engine/Database;
            0    2     1  compareMode  Lorg/h2/value/CompareMode;
    MethodParameters:
             Name  Flags
      compareMode  

  public void setCluster(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String cluster
         0: .line 2188
            aload 0 /* this */
            aload 1 /* cluster */
            putfield org.h2.engine.Database.cluster:Ljava/lang/String;
         1: .line 2189
            return
        end local 1 // java.lang.String cluster
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/h2/engine/Database;
            0    2     1  cluster  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      cluster  

  public void checkWritingAllowed();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2193
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifeq 2
         1: .line 2194
            ldc 90097
            invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
            athrow
         2: .line 2196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpne 5
         3: .line 2197
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectChangePending:Z
            ifne 5
         4: .line 2198
            ldc 90097
            invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
            athrow
         5: .line 2201
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/engine/Database;

  public boolean isReadOnly();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2204
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setWriteDelay(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int value
         0: .line 2208
            aload 0 /* this */
            iload 1 /* value */
            putfield org.h2.engine.Database.writeDelay:I
         1: .line 2209
            aload 0 /* this */
            getfield org.h2.engine.Database.writer:Lorg/h2/store/WriterThread;
            ifnull 6
         2: .line 2210
            aload 0 /* this */
            getfield org.h2.engine.Database.writer:Lorg/h2/store/WriterThread;
            iload 1 /* value */
            invokevirtual org.h2.store.WriterThread.setWriteDelay:(I)V
         3: .line 2212
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.engine.Database.writeDelay:I
            iconst_5
            if_icmpge 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: org.h2.engine.Database
         4: iconst_0
      StackMap locals: org.h2.engine.Database int
      StackMap stack: org.h2.engine.Database int
         5: putfield org.h2.engine.Database.flushOnEachCommit:Z
         6: .line 2214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 11
         7: .line 2215
            iload 1 /* value */
            ifge 8
            iconst_0
            goto 9
      StackMap locals:
      StackMap stack:
         8: iload 1 /* value */
      StackMap locals:
      StackMap stack: int
         9: istore 2 /* millis */
        start local 2 // int millis
        10: .line 2216
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.getMvStore:()Lorg/h2/mvstore/MVStore;
            iload 2 /* millis */
            invokevirtual org.h2.mvstore.MVStore.setAutoCommitDelay:(I)V
        end local 2 // int millis
        11: .line 2218
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int value
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/h2/engine/Database;
            0   12     1   value  I
           10   11     2  millis  I
    MethodParameters:
       Name  Flags
      value  

  public int getRetentionTime();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2221
            aload 0 /* this */
            getfield org.h2.engine.Database.retentionTime:I
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setRetentionTime(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int value
         0: .line 2225
            aload 0 /* this */
            iload 1 /* value */
            putfield org.h2.engine.Database.retentionTime:I
         1: .line 2226
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 3
         2: .line 2227
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.getMvStore:()Lorg/h2/mvstore/MVStore;
            iload 1 /* value */
            invokevirtual org.h2.mvstore.MVStore.setRetentionTime:(I)V
         3: .line 2229
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int value
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/h2/engine/Database;
            0    4     1  value  I
    MethodParameters:
       Name  Flags
      value  

  public void setAllowBuiltinAliasOverride(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean b
         0: .line 2232
            aload 0 /* this */
            iload 1 /* b */
            putfield org.h2.engine.Database.allowBuiltinAliasOverride:Z
         1: .line 2233
            return
        end local 1 // boolean b
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/engine/Database;
            0    2     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  public boolean isAllowBuiltinAliasOverride();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2236
            aload 0 /* this */
            getfield org.h2.engine.Database.allowBuiltinAliasOverride:Z
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public boolean getFlushOnEachCommit();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2245
            aload 0 /* this */
            getfield org.h2.engine.Database.flushOnEachCommit:Z
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public java.util.ArrayList<org.h2.store.InDoubtTransaction> getInDoubtTransactions();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2254
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 2
         1: .line 2255
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.getInDoubtTransactions:()Ljava/util/ArrayList;
            areturn
         2: .line 2257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.getInDoubtTransactions:()Ljava/util/ArrayList;
      StackMap locals:
      StackMap stack: java.util.ArrayList
         4: areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/engine/Database;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/store/InDoubtTransaction;>;

  synchronized void prepareCommit(org.h2.engine.Session, java.lang.String);
    descriptor: (Lorg/h2/engine/Session;Ljava/lang/String;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
        start local 2 // java.lang.String transaction
         0: .line 2267
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifeq 2
         1: .line 2268
            return
         2: .line 2270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 5
         3: .line 2271
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            aload 1 /* session */
            aload 2 /* transaction */
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.prepareCommit:(Lorg/h2/engine/Session;Ljava/lang/String;)V
         4: .line 2272
            return
         5: .line 2274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 8
         6: .line 2275
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.flushLog:()V
         7: .line 2276
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            aload 1 /* session */
            aload 2 /* transaction */
            invokevirtual org.h2.store.PageStore.prepareCommit:(Lorg/h2/engine/Session;Ljava/lang/String;)V
         8: .line 2278
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String transaction
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/h2/engine/Database;
            0    9     1      session  Lorg/h2/engine/Session;
            0    9     2  transaction  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      session      
      transaction  

  synchronized void commit(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
         0: .line 2286
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.throwLastBackgroundException:()V
         1: .line 2287
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifeq 3
         2: .line 2288
            return
         3: .line 2290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 5
         4: .line 2291
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            aload 1 /* session */
            invokevirtual org.h2.store.PageStore.commit:(Lorg/h2/engine/Session;)V
         5: .line 2293
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            invokevirtual org.h2.engine.Session.setAllCommitted:()V
         6: .line 2294
            return
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/h2/engine/Database;
            0    7     1  session  Lorg/h2/engine/Session;
    MethodParameters:
         Name  Flags
      session  

  private void throwLastBackgroundException();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2297
            aload 0 /* this */
            getfield org.h2.engine.Database.backgroundException:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.message.DbException
            astore 1 /* b */
        start local 1 // org.h2.message.DbException b
         1: .line 2298
            aload 1 /* b */
            ifnull 3
         2: .line 2300
            aload 1 /* b */
            invokevirtual org.h2.message.DbException.getErrorCode:()I
            aload 1 /* b */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* b */
            invokevirtual org.h2.message.DbException.getMessage:()Ljava/lang/String;
            aastore
            invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
         3: .line 2302
      StackMap locals: org.h2.message.DbException
      StackMap stack:
            return
        end local 1 // org.h2.message.DbException b
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/engine/Database;
            1    4     1     b  Lorg/h2/message/DbException;

  public void setBackgroundException(org.h2.message.DbException);
    descriptor: (Lorg/h2/message/DbException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.message.DbException e
         0: .line 2305
            aload 0 /* this */
            getfield org.h2.engine.Database.backgroundException:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            aload 1 /* e */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 4
         1: .line 2306
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.getTraceSystem:()Lorg/h2/message/TraceSystem;
            astore 2 /* t */
        start local 2 // org.h2.message.TraceSystem t
         2: .line 2307
            aload 2 /* t */
            ifnull 4
         3: .line 2308
            aload 2 /* t */
            iconst_2
            invokevirtual org.h2.message.TraceSystem.getTrace:(I)Lorg/h2/message/Trace;
            aload 1 /* e */
            ldc "flush"
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 2 // org.h2.message.TraceSystem t
         4: .line 2311
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.h2.message.DbException e
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/engine/Database;
            0    5     1     e  Lorg/h2/message/DbException;
            2    4     2     t  Lorg/h2/message/TraceSystem;
    MethodParameters:
      Name  Flags
      e     

  public java.lang.Throwable getBackgroundException();
    descriptor: ()Ljava/lang/Throwable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2314
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.getMvStore:()Lorg/h2/mvstore/MVStore;
            invokevirtual org.h2.mvstore.MVStore.getPanicException:()Ljava/lang/IllegalStateException;
            astore 1 /* exception */
        start local 1 // java.lang.IllegalStateException exception
         1: .line 2315
            aload 1 /* exception */
            ifnull 3
         2: .line 2316
            aload 1 /* exception */
            areturn
         3: .line 2318
      StackMap locals: java.lang.IllegalStateException
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.backgroundException:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Throwable
            areturn
        end local 1 // java.lang.IllegalStateException exception
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/h2/engine/Database;
            1    4     1  exception  Ljava/lang/IllegalStateException;

  public synchronized void flush();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2326
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifeq 2
         1: .line 2327
            return
         2: .line 2329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 4
         3: .line 2330
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.flushLog:()V
         4: .line 2332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 10
         5: .line 2334
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.flush:()V
         6: .line 2335
            goto 10
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         7: astore 1 /* e */
        start local 1 // java.lang.RuntimeException e
         8: .line 2336
            aload 0 /* this */
            getfield org.h2.engine.Database.backgroundException:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            aload 1 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         9: .line 2337
            aload 1 /* e */
            athrow
        end local 1 // java.lang.RuntimeException e
        10: .line 2340
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/h2/engine/Database;
            8   10     1     e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.RuntimeException

  public void setEventListener(org.h2.api.DatabaseEventListener);
    descriptor: (Lorg/h2/api/DatabaseEventListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.api.DatabaseEventListener eventListener
         0: .line 2343
            aload 0 /* this */
            aload 1 /* eventListener */
            putfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
         1: .line 2344
            return
        end local 1 // org.h2.api.DatabaseEventListener eventListener
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/h2/engine/Database;
            0    2     1  eventListener  Lorg/h2/api/DatabaseEventListener;
    MethodParameters:
               Name  Flags
      eventListener  

  public void setEventListenerClass(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String className
         0: .line 2347
            aload 1 /* className */
            ifnull 1
            aload 1 /* className */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 3
         1: .line 2348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
         2: .line 2349
            goto 15
         3: .line 2351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         4: .line 2352
            aload 1 /* className */
            invokestatic org.h2.util.JdbcUtils.loadUserClass:(Ljava/lang/String;)Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.api.DatabaseEventListener
         5: .line 2351
            putfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
         6: .line 2353
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseURL:Ljava/lang/String;
            astore 2 /* url */
        start local 2 // java.lang.String url
         7: .line 2354
            aload 0 /* this */
            getfield org.h2.engine.Database.cipher:Ljava/lang/String;
            ifnull 9
         8: .line 2355
            new java.lang.StringBuilder
            dup
            aload 2 /* url */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ";CIPHER="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.h2.engine.Database.cipher:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* url */
         9: .line 2357
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
            aload 2 /* url */
            invokeinterface org.h2.api.DatabaseEventListener.init:(Ljava/lang/String;)V
        end local 2 // java.lang.String url
        10: .line 2358
            goto 15
      StackMap locals: org.h2.engine.Database java.lang.String
      StackMap stack: java.lang.Throwable
        11: astore 2 /* e */
        start local 2 // java.lang.Throwable e
        12: .line 2360
            ldc 90099
            aload 2 /* e */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        13: .line 2361
            aload 1 /* className */
            aastore
            dup
            iconst_1
            aload 2 /* e */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            aastore
        14: .line 2359
            invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 2 // java.lang.Throwable e
        15: .line 2364
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String className
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/h2/engine/Database;
            0   16     1  className  Ljava/lang/String;
            7   10     2        url  Ljava/lang/String;
           12   15     2          e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3    10      11  Class java.lang.Throwable
    MethodParameters:
           Name  Flags
      className  

  public void setProgress(int, java.lang.String, int, int);
    descriptor: (ILjava/lang/String;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.h2.engine.Database this
        start local 1 // int state
        start local 2 // java.lang.String name
        start local 3 // int x
        start local 4 // int max
         0: .line 2376
            aload 0 /* this */
            getfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
            ifnull 4
         1: .line 2378
            aload 0 /* this */
            getfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
            iload 1 /* state */
            aload 2 /* name */
            iload 3 /* x */
            iload 4 /* max */
            invokeinterface org.h2.api.DatabaseEventListener.setProgress:(ILjava/lang/String;II)V
         2: .line 2379
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 2383
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int max
        end local 3 // int x
        end local 2 // java.lang.String name
        end local 1 // int state
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/h2/engine/Database;
            0    5     1  state  I
            0    5     2   name  Ljava/lang/String;
            0    5     3      x  I
            0    5     4    max  I
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    MethodParameters:
       Name  Flags
      state  
      name   
      x      
      max    

  public void exceptionThrown(java.sql.SQLException, java.lang.String);
    descriptor: (Ljava/sql/SQLException;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // java.sql.SQLException e
        start local 2 // java.lang.String sql
         0: .line 2393
            aload 0 /* this */
            getfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
            ifnull 4
         1: .line 2395
            aload 0 /* this */
            getfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
            aload 1 /* e */
            aload 2 /* sql */
            invokeinterface org.h2.api.DatabaseEventListener.exceptionThrown:(Ljava/sql/SQLException;Ljava/lang/String;)V
         2: .line 2396
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 2400
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String sql
        end local 1 // java.sql.SQLException e
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/engine/Database;
            0    5     1     e  Ljava/sql/SQLException;
            0    5     2   sql  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      e     
      sql   

  public synchronized void sync();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2407
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifeq 2
         1: .line 2408
            return
         2: .line 2410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 4
         3: .line 2411
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.sync:()V
         4: .line 2413
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 6
         5: .line 2414
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.sync:()V
         6: .line 2416
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/h2/engine/Database;

  public int getMaxMemoryRows();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2419
            aload 0 /* this */
            getfield org.h2.engine.Database.maxMemoryRows:I
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setMaxMemoryRows(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int value
         0: .line 2423
            aload 0 /* this */
            iload 1 /* value */
            putfield org.h2.engine.Database.maxMemoryRows:I
         1: .line 2424
            return
        end local 1 // int value
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/h2/engine/Database;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  public void setMaxMemoryUndo(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int value
         0: .line 2427
            aload 0 /* this */
            iload 1 /* value */
            putfield org.h2.engine.Database.maxMemoryUndo:I
         1: .line 2428
            return
        end local 1 // int value
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/h2/engine/Database;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  public int getMaxMemoryUndo();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2431
            aload 0 /* this */
            getfield org.h2.engine.Database.maxMemoryUndo:I
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setLockMode(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int lockMode
         0: .line 2435
            iload 1 /* lockMode */
            tableswitch { // 0 - 3
                    0: 1
                    1: 5
                    2: 5
                    3: 5
              default: 6
          }
         1: .line 2437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.multiThreaded:Z
            ifeq 7
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.isMVStore:()Z
            ifne 7
         2: .line 2442
            ldc 90021
         3: .line 2443
            ldc "MV_STORE=FALSE & LOCK_MODE=0 & MULTI_THREADED=TRUE"
         4: .line 2441
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         5: .line 2449
      StackMap locals:
      StackMap stack:
            goto 7
         6: .line 2451
      StackMap locals:
      StackMap stack:
            ldc "lock mode"
            iload 1 /* lockMode */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
            athrow
         7: .line 2453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* lockMode */
            putfield org.h2.engine.Database.lockMode:I
         8: .line 2454
            return
        end local 1 // int lockMode
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/h2/engine/Database;
            0    9     1  lockMode  I
    MethodParameters:
          Name  Flags
      lockMode  

  public int getLockMode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2457
            aload 0 /* this */
            getfield org.h2.engine.Database.lockMode:I
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setCloseDelay(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int value
         0: .line 2461
            aload 0 /* this */
            iload 1 /* value */
            putfield org.h2.engine.Database.closeDelay:I
         1: .line 2462
            return
        end local 1 // int value
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/h2/engine/Database;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  public org.h2.engine.Session getSystemSession();
    descriptor: ()Lorg/h2/engine/Session;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2465
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public boolean isClosing();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2474
            aload 0 /* this */
            getfield org.h2.engine.Database.closing:Z
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setMaxLengthInplaceLob(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int value
         0: .line 2478
            aload 0 /* this */
            iload 1 /* value */
            putfield org.h2.engine.Database.maxLengthInplaceLob:I
         1: .line 2479
            return
        end local 1 // int value
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/h2/engine/Database;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  public int getMaxLengthInplaceLob();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2483
            aload 0 /* this */
            getfield org.h2.engine.Database.maxLengthInplaceLob:I
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setIgnoreCase(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean b
         0: .line 2487
            aload 0 /* this */
            iload 1 /* b */
            putfield org.h2.engine.Database.ignoreCase:Z
         1: .line 2488
            return
        end local 1 // boolean b
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/engine/Database;
            0    2     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  public boolean getIgnoreCase();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2491
            aload 0 /* this */
            getfield org.h2.engine.Database.starting:Z
            ifeq 2
         1: .line 2493
            iconst_0
            ireturn
         2: .line 2495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.ignoreCase:Z
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/engine/Database;

  public synchronized void setDeleteFilesOnDisconnect(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean b
         0: .line 2499
            aload 0 /* this */
            iload 1 /* b */
            putfield org.h2.engine.Database.deleteFilesOnDisconnect:Z
         1: .line 2500
            return
        end local 1 // boolean b
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/engine/Database;
            0    2     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  public java.lang.String getLobCompressionAlgorithm(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int type
         0: .line 2504
            aload 0 /* this */
            getfield org.h2.engine.Database.lobCompressionAlgorithm:Ljava/lang/String;
            areturn
        end local 1 // int type
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;
            0    1     1  type  I
    MethodParameters:
      Name  Flags
      type  

  public void setLobCompressionAlgorithm(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String stringValue
         0: .line 2508
            aload 0 /* this */
            aload 1 /* stringValue */
            putfield org.h2.engine.Database.lobCompressionAlgorithm:Ljava/lang/String;
         1: .line 2509
            return
        end local 1 // java.lang.String stringValue
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/h2/engine/Database;
            0    2     1  stringValue  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      stringValue  

  public synchronized void setMaxLogSize(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // long value
         0: .line 2512
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 2
         1: .line 2513
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            lload 1 /* value */
            invokevirtual org.h2.store.PageStore.setMaxLogSize:(J)V
         2: .line 2515
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long value
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/h2/engine/Database;
            0    3     1  value  J
    MethodParameters:
       Name  Flags
      value  

  public void setAllowLiterals(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int value
         0: .line 2518
            aload 0 /* this */
            iload 1 /* value */
            putfield org.h2.engine.Database.allowLiterals:I
         1: .line 2519
            return
        end local 1 // int value
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/h2/engine/Database;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  public boolean getOptimizeReuseResults();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2522
            aload 0 /* this */
            getfield org.h2.engine.Database.optimizeReuseResults:Z
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setOptimizeReuseResults(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean b
         0: .line 2526
            aload 0 /* this */
            iload 1 /* b */
            putfield org.h2.engine.Database.optimizeReuseResults:Z
         1: .line 2527
            return
        end local 1 // boolean b
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/engine/Database;
            0    2     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  public java.lang.Object getLobSyncObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2531
            aload 0 /* this */
            getfield org.h2.engine.Database.lobSyncObject:Ljava/lang/Object;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public int getSessionCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2535
            aload 0 /* this */
            getfield org.h2.engine.Database.userSessions:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setReferentialIntegrity(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean b
         0: .line 2539
            aload 0 /* this */
            iload 1 /* b */
            putfield org.h2.engine.Database.referentialIntegrity:Z
         1: .line 2540
            return
        end local 1 // boolean b
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/engine/Database;
            0    2     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  public boolean getReferentialIntegrity();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2543
            aload 0 /* this */
            getfield org.h2.engine.Database.referentialIntegrity:Z
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setQueryStatistics(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean b
         0: .line 2547
            aload 0 /* this */
            iload 1 /* b */
            putfield org.h2.engine.Database.queryStatistics:Z
         1: .line 2548
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 2549
            iload 1 /* b */
            ifne 4
         3: .line 2550
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.queryStatisticsData:Lorg/h2/engine/QueryStatisticsData;
         4: .line 2548
      StackMap locals: org.h2.engine.Database
      StackMap stack:
            aload 2
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 2553
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean b
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/h2/engine/Database;
            0    9     1     b  Z
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any
    MethodParameters:
      Name  Flags
      b     

  public boolean getQueryStatistics();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2556
            aload 0 /* this */
            getfield org.h2.engine.Database.queryStatistics:Z
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setQueryStatisticsMaxEntries(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int n
         0: .line 2560
            aload 0 /* this */
            iload 1 /* n */
            putfield org.h2.engine.Database.queryStatisticsMaxEntries:I
         1: .line 2561
            aload 0 /* this */
            getfield org.h2.engine.Database.queryStatisticsData:Lorg/h2/engine/QueryStatisticsData;
            ifnull 9
         2: .line 2562
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 2563
            aload 0 /* this */
            getfield org.h2.engine.Database.queryStatisticsData:Lorg/h2/engine/QueryStatisticsData;
            ifnull 5
         4: .line 2564
            aload 0 /* this */
            getfield org.h2.engine.Database.queryStatisticsData:Lorg/h2/engine/QueryStatisticsData;
            aload 0 /* this */
            getfield org.h2.engine.Database.queryStatisticsMaxEntries:I
            invokevirtual org.h2.engine.QueryStatisticsData.setMaxQueryEntries:(I)V
         5: .line 2562
      StackMap locals: org.h2.engine.Database
      StackMap stack:
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 2568
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/h2/engine/Database;
            0   10     1     n  I
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any
    MethodParameters:
      Name  Flags
      n     

  public org.h2.engine.QueryStatisticsData getQueryStatisticsData();
    descriptor: ()Lorg/h2/engine/QueryStatisticsData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2571
            aload 0 /* this */
            getfield org.h2.engine.Database.queryStatistics:Z
            ifne 2
         1: .line 2572
            aconst_null
            areturn
         2: .line 2574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.queryStatisticsData:Lorg/h2/engine/QueryStatisticsData;
            ifnonnull 10
         3: .line 2575
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         4: .line 2576
            aload 0 /* this */
            getfield org.h2.engine.Database.queryStatisticsData:Lorg/h2/engine/QueryStatisticsData;
            ifnonnull 6
         5: .line 2577
            aload 0 /* this */
            new org.h2.engine.QueryStatisticsData
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.queryStatisticsMaxEntries:I
            invokespecial org.h2.engine.QueryStatisticsData.<init>:(I)V
            putfield org.h2.engine.Database.queryStatisticsData:Lorg/h2/engine/QueryStatisticsData;
         6: .line 2575
      StackMap locals: org.h2.engine.Database
      StackMap stack:
            aload 1
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 1
            monitorexit
         9: athrow
        10: .line 2581
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.queryStatisticsData:Lorg/h2/engine/QueryStatisticsData;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/h2/engine/Database;
      Exception table:
        from    to  target  type
           4     7       8  any
           8     9       8  any

  public boolean isStarting();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2591
            aload 0 /* this */
            getfield org.h2.engine.Database.starting:Z
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public boolean isMVStore();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2600
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.mvStore:Z
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  void opened();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2608
            aload 0 /* this */
            getfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
            ifnull 2
         1: .line 2609
            aload 0 /* this */
            getfield org.h2.engine.Database.eventListener:Lorg/h2/api/DatabaseEventListener;
            invokeinterface org.h2.api.DatabaseEventListener.opened:()V
         2: .line 2611
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.writer:Lorg/h2/store/WriterThread;
            ifnull 4
         3: .line 2612
            aload 0 /* this */
            getfield org.h2.engine.Database.writer:Lorg/h2/store/WriterThread;
            invokevirtual org.h2.store.WriterThread.startThread:()V
         4: .line 2614
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/engine/Database;

  public void setMode(org.h2.engine.Mode);
    descriptor: (Lorg/h2/engine/Mode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Mode mode
         0: .line 2617
            aload 0 /* this */
            aload 1 /* mode */
            putfield org.h2.engine.Database.mode:Lorg/h2/engine/Mode;
         1: .line 2618
            return
        end local 1 // org.h2.engine.Mode mode
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/engine/Database;
            0    2     1  mode  Lorg/h2/engine/Mode;
    MethodParameters:
      Name  Flags
      mode  

  public org.h2.engine.Mode getMode();
    descriptor: ()Lorg/h2/engine/Mode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2621
            aload 0 /* this */
            getfield org.h2.engine.Database.mode:Lorg/h2/engine/Mode;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public boolean isMultiThreaded();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2625
            aload 0 /* this */
            getfield org.h2.engine.Database.multiThreaded:Z
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setMultiThreaded(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean multiThreaded
         0: .line 2629
            iload 1 /* multiThreaded */
            ifeq 5
            aload 0 /* this */
            getfield org.h2.engine.Database.multiThreaded:Z
            iload 1 /* multiThreaded */
            if_icmpeq 5
         1: .line 2630
            aload 0 /* this */
            getfield org.h2.engine.Database.lockMode:I
            ifne 5
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.isMVStore:()Z
            ifne 5
         2: .line 2634
            ldc 90021
         3: .line 2635
            ldc "MV_STORE=FALSE & LOCK_MODE=0 & MULTI_THREADED=TRUE"
         4: .line 2633
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         5: .line 2638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* multiThreaded */
            putfield org.h2.engine.Database.multiThreaded:Z
         6: .line 2639
            return
        end local 1 // boolean multiThreaded
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/h2/engine/Database;
            0    7     1  multiThreaded  Z
    MethodParameters:
               Name  Flags
      multiThreaded  

  public void setMaxOperationMemory(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int maxOperationMemory
         0: .line 2642
            aload 0 /* this */
            iload 1 /* maxOperationMemory */
            putfield org.h2.engine.Database.maxOperationMemory:I
         1: .line 2643
            return
        end local 1 // int maxOperationMemory
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/h2/engine/Database;
            0    2     1  maxOperationMemory  I
    MethodParameters:
                    Name  Flags
      maxOperationMemory  

  public int getMaxOperationMemory();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2646
            aload 0 /* this */
            getfield org.h2.engine.Database.maxOperationMemory:I
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public org.h2.engine.Session getExclusiveSession();
    descriptor: ()Lorg/h2/engine/Session;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2650
            aload 0 /* this */
            getfield org.h2.engine.Database.exclusiveSession:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.h2.engine.Session
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setExclusiveSession(org.h2.engine.Session, boolean);
    descriptor: (Lorg/h2/engine/Session;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
        start local 2 // boolean closeOthers
         0: .line 2660
            aload 0 /* this */
            getfield org.h2.engine.Database.exclusiveSession:Ljava/util/concurrent/atomic/AtomicReference;
            aload 1 /* session */
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         1: .line 2661
            iload 2 /* closeOthers */
            ifeq 3
         2: .line 2662
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.h2.engine.Database.closeAllSessionsException:(Lorg/h2/engine/Session;)V
         3: .line 2664
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean closeOthers
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/h2/engine/Database;
            0    4     1      session  Lorg/h2/engine/Session;
            0    4     2  closeOthers  Z
    MethodParameters:
             Name  Flags
      session      
      closeOthers  

  public org.h2.util.SmallLRUCache<java.lang.String, java.lang.String[]> getLobFileListCache();
    descriptor: ()Lorg/h2/util/SmallLRUCache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2668
            aload 0 /* this */
            getfield org.h2.engine.Database.lobFileListCache:Lorg/h2/util/SmallLRUCache;
            ifnonnull 2
         1: .line 2669
            aload 0 /* this */
            sipush 128
            invokestatic org.h2.util.SmallLRUCache.newInstance:(I)Lorg/h2/util/SmallLRUCache;
            putfield org.h2.engine.Database.lobFileListCache:Lorg/h2/util/SmallLRUCache;
         2: .line 2671
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.lobFileListCache:Lorg/h2/util/SmallLRUCache;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/engine/Database;
    Signature: ()Lorg/h2/util/SmallLRUCache<Ljava/lang/String;[Ljava/lang/String;>;

  public boolean isSysTableLocked();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2680
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            ifnull 1
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            invokevirtual org.h2.table.Table.isLockedExclusively:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/engine/Database;

  public boolean isSysTableLockedBy(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.engine.Session session
         0: .line 2691
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            ifnull 1
            aload 0 /* this */
            getfield org.h2.engine.Database.meta:Lorg/h2/table/Table;
            aload 1 /* session */
            invokevirtual org.h2.table.Table.isLockedExclusivelyBy:(Lorg/h2/engine/Session;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/h2/engine/Database;
            0    2     1  session  Lorg/h2/engine/Session;
    MethodParameters:
         Name  Flags
      session  

  public org.h2.table.TableLinkConnection getLinkConnection(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/table/TableLinkConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String driver
        start local 2 // java.lang.String url
        start local 3 // java.lang.String user
        start local 4 // java.lang.String password
         0: .line 2705
            aload 0 /* this */
            getfield org.h2.engine.Database.linkConnections:Ljava/util/HashMap;
            ifnonnull 2
         1: .line 2706
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.engine.Database.linkConnections:Ljava/util/HashMap;
         2: .line 2708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.linkConnections:Ljava/util/HashMap;
            aload 1 /* driver */
            aload 2 /* url */
            aload 3 /* user */
         3: .line 2709
            aload 4 /* password */
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.shareLinkedConnections:Z
         4: .line 2708
            invokestatic org.h2.table.TableLinkConnection.open:(Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lorg/h2/table/TableLinkConnection;
            areturn
        end local 4 // java.lang.String password
        end local 3 // java.lang.String user
        end local 2 // java.lang.String url
        end local 1 // java.lang.String driver
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/h2/engine/Database;
            0    5     1    driver  Ljava/lang/String;
            0    5     2       url  Ljava/lang/String;
            0    5     3      user  Ljava/lang/String;
            0    5     4  password  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      driver    
      url       
      user      
      password  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2714
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseShortName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokespecial java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void shutdownImmediately();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2721
            aload 0 /* this */
            iconst_1
            putfield org.h2.engine.Database.closing:Z
         1: .line 2722
            aload 0 /* this */
            iconst_1
            invokevirtual org.h2.engine.Database.setPowerOffCount:(I)V
         2: .line 2724
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.checkPowerOff:()V
         3: .line 2725
            goto 5
      StackMap locals:
      StackMap stack: org.h2.message.DbException
         4: pop
         5: .line 2728
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.closeFiles:()V
         6: .line 2729
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/h2/engine/Database;
      Exception table:
        from    to  target  type
           2     3       4  Class org.h2.message.DbException

  public org.h2.util.TempFileDeleter getTempFileDeleter();
    descriptor: ()Lorg/h2/util/TempFileDeleter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2733
            aload 0 /* this */
            getfield org.h2.engine.Database.tempFileDeleter:Lorg/h2/util/TempFileDeleter;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public org.h2.store.PageStore getPageStore();
    descriptor: ()Lorg/h2/store/PageStore;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2737
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.mvStore:Z
            ifeq 4
         1: .line 2738
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnonnull 3
         2: .line 2739
            aload 0 /* this */
            aload 0 /* this */
            invokestatic org.h2.mvstore.db.MVTableEngine.init:(Lorg/h2/engine/Database;)Lorg/h2/mvstore/db/MVTableEngine$Store;
            putfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
         3: .line 2741
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         4: .line 2743
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         5: .line 2744
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnonnull 15
         6: .line 2745
            aload 0 /* this */
            new org.h2.store.PageStore
            dup
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 2746
            ldc ".h2.db"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.engine.Database.accessModeData:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.engine.Database.cacheSize:I
            invokespecial org.h2.store.PageStore.<init>:(Lorg/h2/engine/Database;Ljava/lang/String;Ljava/lang/String;I)V
         8: .line 2745
            putfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
         9: .line 2747
            aload 0 /* this */
            getfield org.h2.engine.Database.pageSize:I
            sipush 4096
            if_icmpeq 11
        10: .line 2748
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            aload 0 /* this */
            getfield org.h2.engine.Database.pageSize:I
            invokevirtual org.h2.store.PageStore.setPageSize:(I)V
        11: .line 2750
      StackMap locals: org.h2.engine.Database
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifne 13
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.FS:Lorg/h2/store/FileLockMethod;
            if_acmpne 13
        12: .line 2751
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            iconst_1
            invokevirtual org.h2.store.PageStore.setLockFile:(Z)V
        13: .line 2753
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            aload 0 /* this */
            getfield org.h2.engine.Database.logMode:I
            invokevirtual org.h2.store.PageStore.setLogMode:(I)V
        14: .line 2754
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.open:()V
        15: .line 2756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            aload 1
            monitorexit
        16: areturn
        17: .line 2743
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        18: athrow
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/h2/engine/Database;
      Exception table:
        from    to  target  type
           5    16      17  any
          17    18      17  any

  public org.h2.table.Table getFirstUserTable();
    descriptor: ()Lorg/h2/table/Table;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2767
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.engine.Database.getAllTablesAndViews:(Z)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 9
      StackMap locals: org.h2.engine.Database top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.table.Table
            astore 1 /* table */
        start local 1 // org.h2.table.Table table
         2: .line 2768
            aload 1 /* table */
            invokevirtual org.h2.table.Table.getCreateSQL:()Ljava/lang/String;
            ifnull 9
         3: .line 2769
            aload 1 /* table */
            invokevirtual org.h2.table.Table.isHidden:()Z
            ifeq 5
         4: .line 2771
            goto 9
         5: .line 2774
      StackMap locals: org.h2.engine.Database org.h2.table.Table java.util.Iterator
      StackMap stack:
            aload 1 /* table */
            invokevirtual org.h2.table.Table.getSchema:()Lorg/h2/schema/Schema;
            invokevirtual org.h2.schema.Schema.getId:()I
            iconst_m1
            if_icmpne 8
         6: .line 2775
            aload 1 /* table */
            invokevirtual org.h2.table.Table.getName:()Ljava/lang/String;
            ldc "LOB_BLOCKS"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 2776
            goto 9
         8: .line 2778
      StackMap locals:
      StackMap stack:
            aload 1 /* table */
            areturn
        end local 1 // org.h2.table.Table table
         9: .line 2767
      StackMap locals: org.h2.engine.Database top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 2781
            aconst_null
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/h2/engine/Database;
            2    9     1  table  Lorg/h2/table/Table;

  public boolean isReconnectNeeded();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2793
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpeq 2
         1: .line 2794
            iconst_0
            ireturn
         2: .line 2796
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectChangePending:Z
            ifeq 4
         3: .line 2797
            iconst_0
            ireturn
         4: .line 2799
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lstore 1 /* now */
        start local 1 // long now
         5: .line 2800
            lload 1 /* now */
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckNext:J
            lcmp
            ifge 7
         6: .line 2801
            iconst_0
            ireturn
         7: .line 2803
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            lload 1 /* now */
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckDelayNs:J
            ladd
            putfield org.h2.engine.Database.reconnectCheckNext:J
         8: .line 2804
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ifnonnull 12
         9: .line 2805
            aload 0 /* this */
            new org.h2.store.FileLock
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.traceSystem:Lorg/h2/message/TraceSystem;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.engine.Database.databaseName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 2806
            ldc ".lock.db"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            sipush 1000
            invokespecial org.h2.store.FileLock.<init>:(Lorg/h2/message/TraceSystem;Ljava/lang/String;I)V
        11: .line 2805
            putfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
        12: .line 2809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.load:()Ljava/util/Properties;
            astore 3 /* prop */
        start local 3 // java.util.Properties prop
        13: aload 3 /* prop */
            astore 4 /* first */
        start local 4 // java.util.Properties first
        14: .line 2811
      StackMap locals: java.util.Properties java.util.Properties
      StackMap stack:
            aload 3 /* prop */
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectLastLock:Ljava/util/Properties;
            invokevirtual java.util.Properties.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 2812
            iconst_0
            ireturn
        16: .line 2814
      StackMap locals:
      StackMap stack:
            aload 3 /* prop */
            ldc "changePending"
            aconst_null
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 18
        17: .line 2815
            goto 28
        18: .line 2817
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
        19: .line 2818
            lload 1 /* now */
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckDelayNs:J
            ldc 10
            lmul
            ladd
            lcmp
            ifle 24
        20: .line 2819
            aload 4 /* first */
            aload 3 /* prop */
            invokevirtual java.util.Properties.equals:(Ljava/lang/Object;)Z
            ifeq 24
        21: .line 2822
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            ldc "changePending"
            aconst_null
            invokevirtual org.h2.store.FileLock.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
        22: .line 2823
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.save:()Ljava/util/Properties;
            pop
        23: .line 2824
            goto 28
        24: .line 2827
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            ldc "delay (change pending)"
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
        25: .line 2828
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckDelayNs:J
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            invokestatic java.lang.Thread.sleep:(J)V
        26: .line 2829
            aload 0 /* this */
            getfield org.h2.engine.Database.lock:Lorg/h2/store/FileLock;
            invokevirtual org.h2.store.FileLock.load:()Ljava/util/Properties;
            astore 3 /* prop */
        27: .line 2810
            goto 14
        28: .line 2831
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* prop */
            putfield org.h2.engine.Database.reconnectLastLock:Ljava/util/Properties;
        end local 4 // java.util.Properties first
        end local 3 // java.util.Properties prop
        29: .line 2832
            goto 32
      StackMap locals: org.h2.engine.Database long
      StackMap stack: java.lang.Exception
        30: astore 3 /* e */
        start local 3 // java.lang.Exception e
        31: .line 2834
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aload 3 /* e */
            ldc "readOnly {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
        end local 3 // java.lang.Exception e
        32: .line 2837
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // long now
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   33     0   this  Lorg/h2/engine/Database;
            5   33     1    now  J
           13   29     3   prop  Ljava/util/Properties;
           14   29     4  first  Ljava/util/Properties;
           31   32     3      e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          12    15      30  Class java.lang.Exception
          16    29      30  Class java.lang.Exception

  public void checkpointIfRequired();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2847
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpne 2
         1: .line 2848
            aload 0 /* this */
            getfield org.h2.engine.Database.readOnly:Z
            ifne 2
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectChangePending:Z
            ifeq 2
            aload 0 /* this */
            getfield org.h2.engine.Database.closing:Z
            ifeq 3
         2: .line 2849
      StackMap locals:
      StackMap stack:
            return
         3: .line 2851
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lstore 1 /* now */
        start local 1 // long now
         4: .line 2852
            lload 1 /* now */
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckNext:J
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectCheckDelayNs:J
            ladd
            lcmp
            ifle 32
         5: .line 2853
            aload 0 /* this */
            getfield org.h2.engine.Database.checkpointAllowed:I
            ifge 7
         6: .line 2854
            aload 0 /* this */
            getfield org.h2.engine.Database.checkpointAllowed:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
         7: .line 2856
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectSync:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         8: .line 2857
            aload 0 /* this */
            getfield org.h2.engine.Database.checkpointAllowed:I
            ifle 11
         9: .line 2858
            aload 3
            monitorexit
        10: return
        11: .line 2860
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.h2.engine.Database.checkpointRunning:Z
        12: .line 2856
            aload 3
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 3
            monitorexit
        15: athrow
        16: .line 2862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 3
            monitorenter
        17: .line 2863
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            ldc "checkpoint start"
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
        18: .line 2864
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.flushSequences:()V
        19: .line 2865
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.checkpoint:()V
        20: .line 2866
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.engine.Database.reconnectModified:(Z)Z
            pop
        21: .line 2867
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            ldc "checkpoint end"
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
        22: .line 2862
            aload 3
            monitorexit
        23: goto 26
      StackMap locals: org.h2.engine.Database long org.h2.engine.Database
      StackMap stack: java.lang.Throwable
        24: aload 3
            monitorexit
        25: athrow
        26: .line 2869
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectSync:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
        27: .line 2870
            aload 0 /* this */
            iconst_0
            putfield org.h2.engine.Database.checkpointRunning:Z
        28: .line 2869
            aload 3
            monitorexit
        29: goto 32
      StackMap locals: org.h2.engine.Database long java.lang.Object
      StackMap stack: java.lang.Throwable
        30: aload 3
            monitorexit
        31: athrow
        32: .line 2873
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long now
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   33     0  this  Lorg/h2/engine/Database;
            4   33     1   now  J
      Exception table:
        from    to  target  type
           8    10      14  any
          11    13      14  any
          14    15      14  any
          17    23      24  any
          24    25      24  any
          27    29      30  any
          30    31      30  any

  public boolean isFileLockSerialized();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2876
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/engine/Database;

  private void flushSequences();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2880
            aload 0 /* this */
            iconst_3
            invokevirtual org.h2.engine.Database.getAllSchemaObjects:(I)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.h2.engine.Database top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.schema.SchemaObject
            astore 1 /* obj */
        start local 1 // org.h2.schema.SchemaObject obj
         2: .line 2881
            aload 1 /* obj */
            checkcast org.h2.schema.Sequence
            astore 3 /* sequence */
        start local 3 // org.h2.schema.Sequence sequence
         3: .line 2882
            aload 3 /* sequence */
            invokevirtual org.h2.schema.Sequence.flushWithoutMargin:()V
        end local 3 // org.h2.schema.Sequence sequence
        end local 1 // org.h2.schema.SchemaObject obj
         4: .line 2880
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 2884
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/h2/engine/Database;
            2    4     1       obj  Lorg/h2/schema/SchemaObject;
            3    4     3  sequence  Lorg/h2/schema/Sequence;

  public void checkpoint();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2890
            aload 0 /* this */
            getfield org.h2.engine.Database.persistent:Z
            ifeq 10
         1: .line 2891
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 2892
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 4
         3: .line 2893
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.checkpoint:()V
         4: .line 2891
      StackMap locals: org.h2.engine.Database
      StackMap stack:
            aload 1
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 2896
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 10
         9: .line 2897
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            invokevirtual org.h2.mvstore.db.MVTableEngine$Store.flush:()V
        10: .line 2900
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.getTempFileDeleter:()Lorg/h2/util/TempFileDeleter;
            invokevirtual org.h2.util.TempFileDeleter.deleteUnused:()V
        11: .line 2901
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/h2/engine/Database;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any

  public boolean beforeWriting();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2910
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpeq 5
         1: .line 2911
            iconst_1
            ireturn
         2: .line 2915
      StackMap locals:
      StackMap stack:
            bipush 10
            invokestatic java.lang.Math.random:()D
            ldc 10.0
            dmul
            d2i
            iadd
            i2l
            invokestatic java.lang.Thread.sleep:(J)V
         3: .line 2916
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: pop
         5: .line 2913
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.checkpointRunning:Z
            ifne 2
         6: .line 2920
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectSync:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         7: .line 2921
            aload 0 /* this */
            iconst_1
            invokevirtual org.h2.engine.Database.reconnectModified:(Z)Z
            ifeq 12
         8: .line 2922
            aload 0 /* this */
            dup
            getfield org.h2.engine.Database.checkpointAllowed:I
            iconst_1
            iadd
            dup_x1
            putfield org.h2.engine.Database.checkpointAllowed:I
            bipush 20
            if_icmple 10
         9: .line 2923
            aload 0 /* this */
            getfield org.h2.engine.Database.checkpointAllowed:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        10: .line 2925
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
        11: iconst_1
            ireturn
        12: .line 2920
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 1
            monitorexit
        15: athrow
        16: .line 2929
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.lang.System.nanoTime:()J
            lconst_1
            lsub
            putfield org.h2.engine.Database.reconnectCheckNext:J
        17: .line 2930
            aload 0 /* this */
            aconst_null
            putfield org.h2.engine.Database.reconnectLastLock:Ljava/util/Properties;
        18: .line 2931
            iconst_0
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/h2/engine/Database;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception
           7    11      14  any
          12    13      14  any
          14    15      14  any

  public void afterWriting();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2938
            aload 0 /* this */
            getfield org.h2.engine.Database.fileLockMethod:Lorg/h2/store/FileLockMethod;
            getstatic org.h2.store.FileLockMethod.SERIALIZED:Lorg/h2/store/FileLockMethod;
            if_acmpeq 2
         1: .line 2939
            return
         2: .line 2941
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.reconnectSync:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         3: .line 2942
            aload 0 /* this */
            dup
            getfield org.h2.engine.Database.checkpointAllowed:I
            iconst_1
            isub
            putfield org.h2.engine.Database.checkpointAllowed:I
         4: .line 2941
            aload 1
            monitorexit
         5: goto 8
      StackMap locals: org.h2.engine.Database java.lang.Object
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 2944
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.checkpointAllowed:I
            ifge 10
         9: .line 2945
            aload 0 /* this */
            getfield org.h2.engine.Database.checkpointAllowed:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        10: .line 2947
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/h2/engine/Database;
      Exception table:
        from    to  target  type
           3     5       6  any
           6     7       6  any

  public void setReadOnly(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // boolean readOnly
         0: .line 2955
            aload 0 /* this */
            iload 1 /* readOnly */
            putfield org.h2.engine.Database.readOnly:Z
         1: .line 2956
            return
        end local 1 // boolean readOnly
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/h2/engine/Database;
            0    2     1  readOnly  Z
    MethodParameters:
          Name  Flags
      readOnly  

  public void setCompactMode(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int compactMode
         0: .line 2959
            aload 0 /* this */
            iload 1 /* compactMode */
            putfield org.h2.engine.Database.compactMode:I
         1: .line 2960
            return
        end local 1 // int compactMode
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/h2/engine/Database;
            0    2     1  compactMode  I
    MethodParameters:
             Name  Flags
      compactMode  

  public org.h2.util.SourceCompiler getCompiler();
    descriptor: ()Lorg/h2/util/SourceCompiler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2963
            aload 0 /* this */
            getfield org.h2.engine.Database.compiler:Lorg/h2/util/SourceCompiler;
            ifnonnull 2
         1: .line 2964
            aload 0 /* this */
            new org.h2.util.SourceCompiler
            dup
            invokespecial org.h2.util.SourceCompiler.<init>:()V
            putfield org.h2.engine.Database.compiler:Lorg/h2/util/SourceCompiler;
         2: .line 2966
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.compiler:Lorg/h2/util/SourceCompiler;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/engine/Database;

  public org.h2.store.LobStorageInterface getLobStorage();
    descriptor: ()Lorg/h2/store/LobStorageInterface;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2971
            aload 0 /* this */
            getfield org.h2.engine.Database.lobStorage:Lorg/h2/store/LobStorageInterface;
            ifnonnull 5
         1: .line 2972
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.mvStore:Z
            ifeq 4
         2: .line 2973
            aload 0 /* this */
            new org.h2.store.LobStorageMap
            dup
            aload 0 /* this */
            invokespecial org.h2.store.LobStorageMap.<init>:(Lorg/h2/engine/Database;)V
            putfield org.h2.engine.Database.lobStorage:Lorg/h2/store/LobStorageInterface;
         3: .line 2974
            goto 5
         4: .line 2975
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.h2.store.LobStorageBackend
            dup
            aload 0 /* this */
            invokespecial org.h2.store.LobStorageBackend.<init>:(Lorg/h2/engine/Database;)V
            putfield org.h2.engine.Database.lobStorage:Lorg/h2/store/LobStorageInterface;
         5: .line 2978
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.lobStorage:Lorg/h2/store/LobStorageInterface;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/engine/Database;

  public org.h2.jdbc.JdbcConnection getLobConnectionForInit();
    descriptor: ()Lorg/h2/jdbc/JdbcConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2982
            ldc "jdbc:default:connection"
            astore 1 /* url */
        start local 1 // java.lang.String url
         1: .line 2983
            new org.h2.jdbc.JdbcConnection
            dup
         2: .line 2984
            aload 0 /* this */
            getfield org.h2.engine.Database.systemSession:Lorg/h2/engine/Session;
            aload 0 /* this */
            getfield org.h2.engine.Database.systemUser:Lorg/h2/engine/User;
            invokevirtual org.h2.engine.User.getName:()Ljava/lang/String;
            aload 1 /* url */
         3: .line 2983
            invokespecial org.h2.jdbc.JdbcConnection.<init>:(Lorg/h2/engine/SessionInterface;Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* conn */
        start local 2 // org.h2.jdbc.JdbcConnection conn
         4: .line 2985
            aload 2 /* conn */
            iconst_0
            invokevirtual org.h2.jdbc.JdbcConnection.setTraceLevel:(I)V
         5: .line 2986
            aload 2 /* conn */
            areturn
        end local 2 // org.h2.jdbc.JdbcConnection conn
        end local 1 // java.lang.String url
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/engine/Database;
            1    6     1   url  Ljava/lang/String;
            4    6     2  conn  Lorg/h2/jdbc/JdbcConnection;

  public org.h2.jdbc.JdbcConnection getLobConnectionForRegularUse();
    descriptor: ()Lorg/h2/jdbc/JdbcConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2990
            ldc "jdbc:default:connection"
            astore 1 /* url */
        start local 1 // java.lang.String url
         1: .line 2991
            new org.h2.jdbc.JdbcConnection
            dup
         2: .line 2992
            aload 0 /* this */
            getfield org.h2.engine.Database.lobSession:Lorg/h2/engine/Session;
            aload 0 /* this */
            getfield org.h2.engine.Database.systemUser:Lorg/h2/engine/User;
            invokevirtual org.h2.engine.User.getName:()Ljava/lang/String;
            aload 1 /* url */
         3: .line 2991
            invokespecial org.h2.jdbc.JdbcConnection.<init>:(Lorg/h2/engine/SessionInterface;Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* conn */
        start local 2 // org.h2.jdbc.JdbcConnection conn
         4: .line 2993
            aload 2 /* conn */
            iconst_0
            invokevirtual org.h2.jdbc.JdbcConnection.setTraceLevel:(I)V
         5: .line 2994
            aload 2 /* conn */
            areturn
        end local 2 // org.h2.jdbc.JdbcConnection conn
        end local 1 // java.lang.String url
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/engine/Database;
            1    6     1   url  Ljava/lang/String;
            4    6     2  conn  Lorg/h2/jdbc/JdbcConnection;

  public org.h2.engine.Session getLobSession();
    descriptor: ()Lorg/h2/engine/Session;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 2998
            aload 0 /* this */
            getfield org.h2.engine.Database.lobSession:Lorg/h2/engine/Session;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setLogMode(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int log
         0: .line 3002
            iload 1 /* log */
            iflt 1
            iload 1 /* log */
            iconst_2
            if_icmple 2
         1: .line 3003
      StackMap locals:
      StackMap stack:
            ldc "LOG"
            iload 1 /* log */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
            athrow
         2: .line 3005
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 5
         3: .line 3006
            aload 0 /* this */
            iload 1 /* log */
            putfield org.h2.engine.Database.logMode:I
         4: .line 3007
            return
         5: .line 3009
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         6: .line 3010
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 12
         7: .line 3011
            iload 1 /* log */
            iconst_2
            if_icmpne 9
         8: .line 3012
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.getLogMode:()I
            iconst_2
            if_icmpeq 10
         9: .line 3015
      StackMap locals: org.h2.engine.Database
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.trace:Lorg/h2/message/Trace;
            aconst_null
            ldc "log {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* log */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 3017
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* log */
            putfield org.h2.engine.Database.logMode:I
        11: .line 3018
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            iload 1 /* log */
            invokevirtual org.h2.store.PageStore.setLogMode:(I)V
        12: .line 3009
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 2
            monitorexit
        15: athrow
        16: .line 3021
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int log
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/h2/engine/Database;
            0   17     1   log  I
      Exception table:
        from    to  target  type
           6    13      14  any
          14    15      14  any
    MethodParameters:
      Name  Flags
      log   

  public int getLogMode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 3024
            aload 0 /* this */
            getfield org.h2.engine.Database.store:Lorg/h2/mvstore/db/MVTableEngine$Store;
            ifnull 2
         1: .line 3025
            aload 0 /* this */
            getfield org.h2.engine.Database.logMode:I
            ireturn
         2: .line 3027
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         3: .line 3028
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            ifnull 6
         4: .line 3029
            aload 0 /* this */
            getfield org.h2.engine.Database.pageStore:Lorg/h2/store/PageStore;
            invokevirtual org.h2.store.PageStore.getLogMode:()I
            aload 1
            monitorexit
         5: ireturn
         6: .line 3027
      StackMap locals: org.h2.engine.Database
      StackMap stack:
            aload 1
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 1
            monitorexit
         9: athrow
        10: .line 3032
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/h2/engine/Database;
      Exception table:
        from    to  target  type
           3     5       8  any
           6     7       8  any
           8     9       8  any

  public int getDefaultTableType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 3036
            aload 0 /* this */
            getfield org.h2.engine.Database.defaultTableType:I
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setDefaultTableType(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // int defaultTableType
         0: .line 3040
            aload 0 /* this */
            iload 1 /* defaultTableType */
            putfield org.h2.engine.Database.defaultTableType:I
         1: .line 3041
            return
        end local 1 // int defaultTableType
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/h2/engine/Database;
            0    2     1  defaultTableType  I
    MethodParameters:
                  Name  Flags
      defaultTableType  

  public org.h2.engine.DbSettings getSettings();
    descriptor: ()Lorg/h2/engine/DbSettings;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 3044
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public <V> java.util.HashMap<java.lang.String, V> newStringMap();
    descriptor: ()Ljava/util/HashMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 3055
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.caseInsensitiveIdentifiers:Z
            ifeq 1
            new org.h2.value.CaseInsensitiveMap
            dup
            invokespecial org.h2.value.CaseInsensitiveMap.<init>:()V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
      StackMap locals:
      StackMap stack: java.util.HashMap
         2: areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/engine/Database;
    Signature: <V:Ljava/lang/Object;>()Ljava/util/HashMap<Ljava/lang/String;TV;>;

  public <V> java.util.concurrent.ConcurrentHashMap<java.lang.String, V> newConcurrentStringMap();
    descriptor: ()Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 3066
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.caseInsensitiveIdentifiers:Z
            ifeq 1
            new org.h2.value.CaseInsensitiveConcurrentMap
            dup
            invokespecial org.h2.value.CaseInsensitiveConcurrentMap.<init>:()V
            goto 2
         1: .line 3067
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
         2: .line 3066
      StackMap locals:
      StackMap stack: java.util.concurrent.ConcurrentHashMap
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/engine/Database;
    Signature: <V:Ljava/lang/Object;>()Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;TV;>;

  public boolean equalsIdentifiers(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String a
        start local 2 // java.lang.String b
         0: .line 3079
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.caseInsensitiveIdentifiers:Z
            ifeq 1
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 2 // java.lang.String b
        end local 1 // java.lang.String a
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/engine/Database;
            0    3     1     a  Ljava/lang/String;
            0    3     2     b  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      a     
      b     

  public java.lang.String sysIdentifier(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String upperName
         0: .line 3090
            getstatic org.h2.engine.Database.$assertionsDisabled:Z
            ifne 1
            aload 1 /* upperName */
            invokestatic org.h2.engine.Database.isUpperSysIdentifier:(Ljava/lang/String;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3091
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.dbSettings:Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.databaseToLower:Z
            ifeq 2
            aload 1 /* upperName */
            invokestatic org.h2.util.StringUtils.toLowerEnglish:(Ljava/lang/String;)Ljava/lang/String;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 1 /* upperName */
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // java.lang.String upperName
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/h2/engine/Database;
            0    4     1  upperName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      upperName  

  private static boolean isUpperSysIdentifier(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.String upperName
         0: .line 3095
            aload 0 /* upperName */
            invokevirtual java.lang.String.length:()I
            istore 1 /* l */
        start local 1 // int l
         1: .line 3096
            iload 1 /* l */
            ifne 3
         2: .line 3097
            iconst_0
            ireturn
         3: .line 3099
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 3100
      StackMap locals: int
      StackMap stack:
            aload 0 /* upperName */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* ch */
        start local 3 // int ch
         6: .line 3101
            iload 3 /* ch */
            bipush 65
            if_icmplt 7
            iload 3 /* ch */
            bipush 90
            if_icmple 8
            iload 3 /* ch */
            bipush 95
            if_icmpeq 8
         7: .line 3102
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // int ch
         8: .line 3099
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            iload 1 /* l */
            if_icmplt 5
        end local 2 // int i
        10: .line 3105
            iconst_1
            ireturn
        end local 1 // int l
        end local 0 // java.lang.String upperName
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0  upperName  Ljava/lang/String;
            1   11     1          l  I
            4   10     2          i  I
            6    8     3         ch  I
    MethodParameters:
           Name  Flags
      upperName  

  public int readLob(long, byte[], long, byte[], int, int);
    descriptor: (J[BJ[BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=9, args_size=7
        start local 0 // org.h2.engine.Database this
        start local 1 // long lobId
        start local 3 // byte[] hmac
        start local 4 // long offset
        start local 6 // byte[] buff
        start local 7 // int off
        start local 8 // int length
         0: .line 3111
            invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
            athrow
        end local 8 // int length
        end local 7 // int off
        end local 6 // byte[] buff
        end local 4 // long offset
        end local 3 // byte[] hmac
        end local 1 // long lobId
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/h2/engine/Database;
            0    1     1   lobId  J
            0    1     3    hmac  [B
            0    1     4  offset  J
            0    1     6    buff  [B
            0    1     7     off  I
            0    1     8  length  I
    MethodParameters:
        Name  Flags
      lobId   
      hmac    
      offset  
      buff    
      off     
      length  

  public byte[] getFileEncryptionKey();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 3115
            aload 0 /* this */
            getfield org.h2.engine.Database.fileEncryptionKey:[B
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public int getPageSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 3119
            aload 0 /* this */
            getfield org.h2.engine.Database.pageSize:I
            ireturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public org.h2.api.JavaObjectSerializer getJavaObjectSerializer();
    descriptor: ()Lorg/h2/api/JavaObjectSerializer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 3124
            aload 0 /* this */
            invokevirtual org.h2.engine.Database.initJavaObjectSerializer:()V
         1: .line 3125
            aload 0 /* this */
            getfield org.h2.engine.Database.javaObjectSerializer:Lorg/h2/api/JavaObjectSerializer;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/engine/Database;

  private void initJavaObjectSerializer();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 3129
            aload 0 /* this */
            getfield org.h2.engine.Database.javaObjectSerializerInitialized:Z
            ifeq 2
         1: .line 3130
            return
         2: .line 3132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         3: .line 3133
            aload 0 /* this */
            getfield org.h2.engine.Database.javaObjectSerializerInitialized:Z
            ifeq 6
         4: .line 3134
            aload 1
            monitorexit
         5: return
         6: .line 3136
      StackMap locals: org.h2.engine.Database
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.javaObjectSerializerName:Ljava/lang/String;
            astore 2 /* serializerName */
        start local 2 // java.lang.String serializerName
         7: .line 3137
            aload 2 /* serializerName */
            ifnull 17
         8: .line 3138
            aload 2 /* serializerName */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 2 /* serializerName */
         9: .line 3139
            aload 2 /* serializerName */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 17
        10: .line 3140
            aload 2 /* serializerName */
            ldc "null"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        11: .line 3142
            aload 0 /* this */
        12: .line 3143
            aload 2 /* serializerName */
            invokestatic org.h2.util.JdbcUtils.loadUserClass:(Ljava/lang/String;)Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.api.JavaObjectSerializer
        13: .line 3142
            putfield org.h2.engine.Database.javaObjectSerializer:Lorg/h2/api/JavaObjectSerializer;
        14: .line 3144
            goto 17
      StackMap locals: org.h2.engine.Database org.h2.engine.Database java.lang.String
      StackMap stack: java.lang.Exception
        15: astore 3 /* e */
        start local 3 // java.lang.Exception e
        16: .line 3145
            aload 3 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 3 // java.lang.Exception e
        17: .line 3149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.h2.engine.Database.javaObjectSerializerInitialized:Z
        end local 2 // java.lang.String serializerName
        18: .line 3132
            aload 1
            monitorexit
        19: goto 22
      StackMap locals: org.h2.engine.Database org.h2.engine.Database
      StackMap stack: java.lang.Throwable
        20: aload 1
            monitorexit
        21: athrow
        22: .line 3151
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lorg/h2/engine/Database;
            7   18     2  serializerName  Ljava/lang/String;
           16   17     3               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          11    14      15  Class java.lang.Exception
           3     5      20  any
           6    19      20  any
          20    21      20  any

  public void setJavaObjectSerializerName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String serializerName
         0: .line 3154
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 3155
            aload 0 /* this */
            iconst_0
            putfield org.h2.engine.Database.javaObjectSerializerInitialized:Z
         2: .line 3156
            aload 0 /* this */
            aload 1 /* serializerName */
            putfield org.h2.engine.Database.javaObjectSerializerName:Ljava/lang/String;
         3: .line 3154
            aload 2
            monitorexit
         4: goto 7
      StackMap locals: org.h2.engine.Database java.lang.String org.h2.engine.Database
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
         7: .line 3158
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String serializerName
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/h2/engine/Database;
            0    8     1  serializerName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
                Name  Flags
      serializerName  

  public org.h2.api.TableEngine getTableEngine(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/api/TableEngine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // java.lang.String tableEngine
         0: .line 3167
            getstatic org.h2.engine.Database.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.tableEngines:Ljava/util/HashMap;
            aload 1 /* tableEngine */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.api.TableEngine
            astore 2 /* engine */
        start local 2 // org.h2.api.TableEngine engine
         2: .line 3170
            aload 2 /* engine */
            ifnonnull 8
         3: .line 3172
            aload 1 /* tableEngine */
            invokestatic org.h2.util.JdbcUtils.loadUserClass:(Ljava/lang/String;)Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.api.TableEngine
            astore 2 /* engine */
         4: .line 3173
            goto 7
      StackMap locals: org.h2.engine.Database java.lang.String org.h2.api.TableEngine
      StackMap stack: java.lang.Exception
         5: astore 3 /* e */
        start local 3 // java.lang.Exception e
         6: .line 3174
            aload 3 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 3 // java.lang.Exception e
         7: .line 3176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.engine.Database.tableEngines:Ljava/util/HashMap;
            aload 1 /* tableEngine */
            aload 2 /* engine */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 3178
      StackMap locals:
      StackMap stack:
            aload 2 /* engine */
            areturn
        end local 2 // org.h2.api.TableEngine engine
        end local 1 // java.lang.String tableEngine
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/h2/engine/Database;
            0    9     1  tableEngine  Ljava/lang/String;
            2    9     2       engine  Lorg/h2/api/TableEngine;
            6    7     3            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Exception
    MethodParameters:
             Name  Flags
      tableEngine  

  public org.h2.security.auth.Authenticator getAuthenticator();
    descriptor: ()Lorg/h2/security/auth/Authenticator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Database this
         0: .line 3186
            aload 0 /* this */
            getfield org.h2.engine.Database.authenticator:Lorg/h2/security/auth/Authenticator;
            areturn
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Database;

  public void setAuthenticator(org.h2.security.auth.Authenticator);
    descriptor: (Lorg/h2/security/auth/Authenticator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.engine.Database this
        start local 1 // org.h2.security.auth.Authenticator authenticator
         0: .line 3195
            aload 1 /* authenticator */
            ifnull 2
         1: .line 3196
            aload 1 /* authenticator */
            aload 0 /* this */
            invokeinterface org.h2.security.auth.Authenticator.init:(Lorg/h2/engine/Database;)V
         2: .line 3198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* authenticator */
            putfield org.h2.engine.Database.authenticator:Lorg/h2/security/auth/Authenticator;
         3: .line 3199
            return
        end local 1 // org.h2.security.auth.Authenticator authenticator
        end local 0 // org.h2.engine.Database this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/h2/engine/Database;
            0    4     1  authenticator  Lorg/h2/security/auth/Authenticator;
    MethodParameters:
               Name  Flags
      authenticator  
}
SourceFile: "Database.java"
NestMembers:
  org.h2.engine.Database$1
InnerClasses:
  org.h2.engine.Database$1
  public Store = org.h2.mvstore.db.MVTableEngine$Store of org.h2.mvstore.db.MVTableEngine