public class org.h2.store.PageStore implements org.h2.util.CacheWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.store.PageStore
  super_class: java.lang.Object
{
  public static final int PAGE_SIZE_MIN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  public static final int PAGE_SIZE_MAX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32768

  public static final int LOG_MODE_OFF;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int LOG_MODE_SYNC;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int PAGE_ID_FREE_LIST_ROOT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int PAGE_ID_META_ROOT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int MIN_PAGE_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private static final int INCREMENT_KB;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

  private static final int INCREMENT_PERCENT_MIN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 35

  private static final int READ_VERSION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int WRITE_VERSION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int META_TYPE_DATA_INDEX;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int META_TYPE_BTREE_INDEX;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int META_TABLE_ID;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final int COMPACT_BLOCK_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1536

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

  private final org.h2.message.Trace trace;
    descriptor: Lorg/h2/message/Trace;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

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

  private long writeCountBase;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long writeCount;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long readCount;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

  private long fileLength;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

  private final java.util.HashMap<java.lang.Integer, org.h2.index.PageIndex> metaObjects;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/Integer;Lorg/h2/index/PageIndex;>;

  private java.util.HashMap<java.lang.Integer, org.h2.index.PageIndex> tempObjects;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/Integer;Lorg/h2/index/PageIndex;>;

  private java.util.HashMap<java.lang.Integer, java.lang.Integer> reservedPages;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/Integer;Ljava/lang/Integer;>;

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

  private long maxLogSize;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

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

  private final java.util.ArrayList<org.h2.store.PageFreeList> freeLists;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/h2/store/PageFreeList;>;

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

  private java.util.ArrayList<java.lang.Integer> recordedPagesList;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Ljava/lang/Integer;>;

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

  private long changeCount;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

  private long logSizeBase;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private java.util.HashMap<java.lang.String, java.lang.Integer> statistics;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;

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

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

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

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

  public void <init>(org.h2.engine.Database, java.lang.String, java.lang.String, int);
    descriptor: (Lorg/h2/engine/Database;Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.engine.Database database
        start local 2 // java.lang.String fileName
        start local 3 // java.lang.String accessMode
        start local 4 // int cacheSizeDefault
         0: .line 213
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 136
            aload 0 /* this */
            sipush 4096
            putfield org.h2.store.PageStore.pageSize:I
         2: .line 164
            aload 0 /* this */
            new org.h2.util.IntIntHashMap
            dup
            invokespecial org.h2.util.IntIntHashMap.<init>:()V
            putfield org.h2.store.PageStore.metaRootPageId:Lorg/h2/util/IntIntHashMap;
         3: .line 165
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
         4: .line 175
            aload 0 /* this */
            ldc 16777216
            putfield org.h2.store.PageStore.maxLogSize:J
         5: .line 181
            aload 0 /* this */
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            putfield org.h2.store.PageStore.freed:Ljava/util/BitSet;
         6: .line 182
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.h2.store.PageStore.freeLists:Ljava/util/ArrayList;
         7: .line 195
            aload 0 /* this */
            lconst_1
            putfield org.h2.store.PageStore.changeCount:J
         8: .line 200
            aload 0 /* this */
            iconst_2
            putfield org.h2.store.PageStore.logMode:I
         9: .line 215
            aload 0 /* this */
            aload 2 /* fileName */
            putfield org.h2.store.PageStore.fileName:Ljava/lang/String;
        10: .line 216
            aload 0 /* this */
            aload 3 /* accessMode */
            putfield org.h2.store.PageStore.accessMode:Ljava/lang/String;
        11: .line 217
            aload 0 /* this */
            aload 1 /* database */
            putfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
        12: .line 218
            aload 0 /* this */
            aload 1 /* database */
            bipush 14
            invokevirtual org.h2.engine.Database.getTrace:(I)Lorg/h2/message/Trace;
            putfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
        13: .line 221
            aload 1 /* database */
            invokevirtual org.h2.engine.Database.getCacheType:()Ljava/lang/String;
            astore 5 /* cacheType */
        start local 5 // java.lang.String cacheType
        14: .line 222
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* cacheType */
            iload 4 /* cacheSizeDefault */
            invokestatic org.h2.util.CacheLRU.getCache:(Lorg/h2/util/CacheWriter;Ljava/lang/String;I)Lorg/h2/util/Cache;
            putfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
        15: .line 223
            aload 0 /* this */
            new org.h2.engine.Session
            dup
            aload 1 /* database */
            aconst_null
            iconst_0
            invokespecial org.h2.engine.Session.<init>:(Lorg/h2/engine/Database;Lorg/h2/engine/User;I)V
            putfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
        16: .line 224
            return
        end local 5 // java.lang.String cacheType
        end local 4 // int cacheSizeDefault
        end local 3 // java.lang.String accessMode
        end local 2 // java.lang.String fileName
        end local 1 // org.h2.engine.Database database
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lorg/h2/store/PageStore;
            0   17     1          database  Lorg/h2/engine/Database;
            0   17     2          fileName  Ljava/lang/String;
            0   17     3        accessMode  Ljava/lang/String;
            0   17     4  cacheSizeDefault  I
           14   17     5         cacheType  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      database          
      fileName          
      accessMode        
      cacheSizeDefault  

  public void statisticsStart();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 230
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.store.PageStore.statistics:Ljava/util/HashMap;
         1: .line 231
            return
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/store/PageStore;

  public java.util.HashMap<java.lang.String, java.lang.Integer> statisticsEnd();
    descriptor: ()Ljava/util/HashMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 239
            aload 0 /* this */
            getfield org.h2.store.PageStore.statistics:Ljava/util/HashMap;
            astore 1 /* result */
        start local 1 // java.util.HashMap result
         1: .line 240
            aload 0 /* this */
            aconst_null
            putfield org.h2.store.PageStore.statistics:Ljava/util/HashMap;
         2: .line 241
            aload 1 /* result */
            areturn
        end local 1 // java.util.HashMap result
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/h2/store/PageStore;
            1    3     1  result  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;
    Signature: ()Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Integer;>;

  private void statisticsIncrement(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // java.lang.String key
         0: .line 245
            aload 0 /* this */
            getfield org.h2.store.PageStore.statistics:Ljava/util/HashMap;
            ifnull 5
         1: .line 246
            aload 0 /* this */
            getfield org.h2.store.PageStore.statistics:Ljava/util/HashMap;
            aload 1 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* old */
        start local 2 // java.lang.Integer old
         2: .line 247
            aload 0 /* this */
            getfield org.h2.store.PageStore.statistics:Ljava/util/HashMap;
            aload 1 /* key */
            aload 2 /* old */
            ifnonnull 3
            iconst_1
            goto 4
      StackMap locals: org.h2.store.PageStore java.lang.String java.lang.Integer
      StackMap stack: java.util.HashMap java.lang.String
         3: aload 2 /* old */
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            iadd
      StackMap locals: org.h2.store.PageStore java.lang.String java.lang.Integer
      StackMap stack: java.util.HashMap java.lang.String int
         4: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // java.lang.Integer old
         5: .line 249
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String key
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/store/PageStore;
            0    6     1   key  Ljava/lang/String;
            2    5     2   old  Ljava/lang/Integer;
    MethodParameters:
      Name  Flags
      key   

  public synchronized int copyDirect(int, java.io.OutputStream);
    descriptor: (ILjava/io/OutputStream;)I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pageId
        start local 2 // java.io.OutputStream out
         0: .line 260
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            newarray 8
            astore 3 /* buffer */
        start local 3 // byte[] buffer
         1: .line 261
            iload 1 /* pageId */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            if_icmplt 3
         2: .line 262
            iconst_m1
            ireturn
         3: .line 264
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            iload 1 /* pageId */
            i2l
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSizeShift:I
            lshl
            invokevirtual org.h2.store.FileStore.seek:(J)V
         4: .line 265
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            aload 3 /* buffer */
            iconst_0
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            invokevirtual org.h2.store.FileStore.readFullyDirect:([BII)V
         5: .line 266
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.readCount:J
            lconst_1
            ladd
            putfield org.h2.store.PageStore.readCount:J
         6: .line 267
            aload 2 /* out */
            aload 3 /* buffer */
            iconst_0
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            invokevirtual java.io.OutputStream.write:([BII)V
         7: .line 268
            iload 1 /* pageId */
            iconst_1
            iadd
            ireturn
        end local 3 // byte[] buffer
        end local 2 // java.io.OutputStream out
        end local 1 // int pageId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/h2/store/PageStore;
            0    8     1  pageId  I
            0    8     2     out  Ljava/io/OutputStream;
            1    8     3  buffer  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      pageId  
      out     

  public synchronized void open();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 276
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaRootPageId:Lorg/h2/util/IntIntHashMap;
            iconst_m1
            iconst_4
            invokevirtual org.h2.util.IntIntHashMap.put:(II)V
         1: .line 277
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
            invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
            ifeq 11
         2: .line 278
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
            invokestatic org.h2.store.fs.FileUtils.size:(Ljava/lang/String;)J
            lstore 1 /* length */
        start local 1 // long length
         3: .line 279
            lload 1 /* length */
            ldc 320
            lcmp
            ifge 9
         4: .line 280
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.isReadOnly:()Z
            ifeq 7
         5: .line 282
            ldc 90030
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " length: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 1 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 281
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         7: .line 285
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.openNew:()V
         8: .line 286
            goto 16
         9: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.openExisting:()V
        end local 1 // long length
        10: .line 289
            goto 16
        11: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.openNew:()V
        12: .line 292
            goto 16
      StackMap locals:
      StackMap stack: org.h2.message.DbException
        13: astore 1 /* e */
        start local 1 // org.h2.message.DbException e
        14: .line 293
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.close:()V
        15: .line 294
            aload 1 /* e */
            athrow
        end local 1 // org.h2.message.DbException e
        16: .line 296
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lorg/h2/store/PageStore;
            3   10     1  length  J
           14   16     1       e  Lorg/h2/message/DbException;
      Exception table:
        from    to  target  type
           0    12      13  Class org.h2.message.DbException

  private void openNew();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 299
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            invokevirtual org.h2.store.PageStore.setPageSize:(I)V
         1: .line 300
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            invokestatic org.h2.store.PageFreeList.getPagesAddressed:(I)I
            putfield org.h2.store.PageStore.freeListPagesPerList:I
         2: .line 301
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.store.PageStore.accessMode:Ljava/lang/String;
            iconst_0
            invokevirtual org.h2.engine.Database.openFile:(Ljava/lang/String;Ljava/lang/String;Z)Lorg/h2/store/FileStore;
            putfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
         3: .line 302
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.lockFile:()V
         4: .line 303
            aload 0 /* this */
            iconst_1
            putfield org.h2.store.PageStore.recoveryRunning:Z
         5: .line 304
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeStaticHeader:()V
         6: .line 305
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeVariableHeader:()V
         7: .line 306
            aload 0 /* this */
            new org.h2.store.PageLog
            dup
            aload 0 /* this */
            invokespecial org.h2.store.PageLog.<init>:(Lorg/h2/store/PageStore;)V
            putfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
         8: .line 307
            aload 0 /* this */
            iconst_5
            invokevirtual org.h2.store.PageStore.increaseFileSize:(I)V
         9: .line 308
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.openMetaIndex:()V
        10: .line 309
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.allocatePage:()I
            putfield org.h2.store.PageStore.logFirstTrunkPage:I
        11: .line 310
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            aload 0 /* this */
            getfield org.h2.store.PageStore.logFirstTrunkPage:I
            iconst_0
            invokevirtual org.h2.store.PageLog.openForWriting:(IZ)V
        12: .line 311
            aload 0 /* this */
            iconst_1
            putfield org.h2.store.PageStore.isNew:Z
        13: .line 312
            aload 0 /* this */
            iconst_0
            putfield org.h2.store.PageStore.recoveryRunning:Z
        14: .line 313
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.increaseFileSize:()V
        15: .line 314
            return
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/h2/store/PageStore;

  private void lockFile();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 317
            aload 0 /* this */
            getfield org.h2.store.PageStore.lockFile:Z
            ifeq 4
         1: .line 318
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            invokevirtual org.h2.store.FileStore.tryLock:()Z
            ifne 4
         2: .line 320
            ldc 90020
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
         3: .line 319
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         4: .line 323
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/store/PageStore;

  private void openExisting();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 327
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.store.PageStore.accessMode:Ljava/lang/String;
            iconst_1
            invokevirtual org.h2.engine.Database.openFile:(Ljava/lang/String;Ljava/lang/String;Z)Lorg/h2/store/FileStore;
            putfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
         1: .line 328
            goto 8
      StackMap locals:
      StackMap stack: org.h2.message.DbException
         2: astore 1 /* e */
        start local 1 // org.h2.message.DbException e
         3: .line 329
            aload 1 /* e */
            invokevirtual org.h2.message.DbException.getErrorCode:()I
            ldc 90031
            if_icmpne 7
         4: .line 330
            aload 1 /* e */
            invokevirtual org.h2.message.DbException.getMessage:()Ljava/lang/String;
            ldc "locked"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 7
         5: .line 337
            ldc 90020
            aload 1 /* e */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
            aastore
         6: .line 336
            invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
         7: .line 340
      StackMap locals: org.h2.message.DbException
      StackMap stack:
            aload 1 /* e */
            athrow
        end local 1 // org.h2.message.DbException e
         8: .line 342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.lockFile:()V
         9: .line 343
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.readStaticHeader:()V
        10: .line 344
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            invokestatic org.h2.store.PageFreeList.getPagesAddressed:(I)I
            putfield org.h2.store.PageStore.freeListPagesPerList:I
        11: .line 345
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            invokevirtual org.h2.store.FileStore.length:()J
            putfield org.h2.store.PageStore.fileLength:J
        12: .line 346
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileLength:J
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            i2l
            ldiv
            l2i
            putfield org.h2.store.PageStore.pageCount:I
        13: .line 347
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            iconst_5
            if_icmpge 23
        14: .line 348
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.isReadOnly:()Z
            ifeq 18
        15: .line 349
            ldc 90030
        16: .line 350
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " pageCount: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 349
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        18: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            invokevirtual org.h2.store.FileStore.releaseLock:()V
        19: .line 353
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            invokevirtual org.h2.store.FileStore.close:()V
        20: .line 354
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
            invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
        21: .line 355
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.openNew:()V
        22: .line 356
            return
        23: .line 358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.readVariableHeader:()V
        24: .line 359
            aload 0 /* this */
            new org.h2.store.PageLog
            dup
            aload 0 /* this */
            invokespecial org.h2.store.PageLog.<init>:(Lorg/h2/store/PageStore;)V
            putfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
        25: .line 360
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            aload 0 /* this */
            getfield org.h2.store.PageStore.logKey:I
            aload 0 /* this */
            getfield org.h2.store.PageStore.logFirstTrunkPage:I
            aload 0 /* this */
            getfield org.h2.store.PageStore.logFirstDataPage:I
            invokevirtual org.h2.store.PageLog.openForReading:(III)V
        26: .line 361
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.recover:()Z
            istore 1 /* isEmpty */
        start local 1 // boolean isEmpty
        27: .line 362
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.isReadOnly:()Z
            ifne 32
        28: .line 363
            aload 0 /* this */
            iconst_1
            putfield org.h2.store.PageStore.readMode:Z
        29: .line 364
            iload 1 /* isEmpty */
            ifeq 30
            getstatic org.h2.engine.SysProperties.MODIFY_ON_WRITE:Z
            ifeq 30
            aload 0 /* this */
            getfield org.h2.store.PageStore.tempObjects:Ljava/util/HashMap;
            ifnull 32
        30: .line 365
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.openForWriting:()V
        31: .line 366
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.removeOldTempIndexes:()V
        32: .line 369
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean isEmpty
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   33     0     this  Lorg/h2/store/PageStore;
            3    8     1        e  Lorg/h2/message/DbException;
           27   33     1  isEmpty  Z
      Exception table:
        from    to  target  type
           0     1       2  Class org.h2.message.DbException

  private void openForWriting();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 372
            aload 0 /* this */
            getfield org.h2.store.PageStore.readMode:Z
            ifeq 1
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.isReadOnly:()Z
            ifeq 2
         1: .line 373
      StackMap locals:
      StackMap stack:
            return
         2: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.h2.store.PageStore.readMode:Z
         3: .line 376
            aload 0 /* this */
            iconst_1
            putfield org.h2.store.PageStore.recoveryRunning:Z
         4: .line 377
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.free:()V
         5: .line 378
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.allocatePage:()I
            putfield org.h2.store.PageStore.logFirstTrunkPage:I
         6: .line 379
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            aload 0 /* this */
            getfield org.h2.store.PageStore.logFirstTrunkPage:I
            iconst_0
            invokevirtual org.h2.store.PageLog.openForWriting:(IZ)V
         7: .line 380
            aload 0 /* this */
            iconst_0
            putfield org.h2.store.PageStore.recoveryRunning:Z
         8: .line 381
            aload 0 /* this */
            getfield org.h2.store.PageStore.freed:Ljava/util/BitSet;
            iconst_0
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            iconst_1
            invokevirtual java.util.BitSet.set:(IIZ)V
         9: .line 382
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.checkpoint:()V
        10: .line 383
            return
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/h2/store/PageStore;

  private void removeOldTempIndexes();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 386
            aload 0 /* this */
            getfield org.h2.store.PageStore.tempObjects:Ljava/util/HashMap;
            ifnull 10
         1: .line 387
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.h2.store.PageStore.tempObjects:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.putAll:(Ljava/util/Map;)V
         2: .line 388
            aload 0 /* this */
            getfield org.h2.store.PageStore.tempObjects:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 7
      StackMap locals: org.h2.store.PageStore top java.util.Iterator
      StackMap stack:
         3: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.index.PageIndex
            astore 1 /* index */
        start local 1 // org.h2.index.PageIndex index
         4: .line 389
            aload 1 /* index */
            invokevirtual org.h2.index.PageIndex.getTable:()Lorg/h2/table/Table;
            invokevirtual org.h2.table.Table.isTemporary:()Z
            ifeq 7
         5: .line 390
            aload 1 /* index */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.index.PageIndex.truncate:(Lorg/h2/engine/Session;)V
         6: .line 391
            aload 1 /* index */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.index.PageIndex.remove:(Lorg/h2/engine/Session;)V
        end local 1 // org.h2.index.PageIndex index
         7: .line 388
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 394
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            iconst_1
            invokevirtual org.h2.engine.Session.commit:(Z)V
         9: .line 395
            aload 0 /* this */
            aconst_null
            putfield org.h2.store.PageStore.tempObjects:Ljava/util/HashMap;
        10: .line 397
      StackMap locals: org.h2.store.PageStore
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
        11: .line 398
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaIndex:Lorg/h2/index/PageDataIndex;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 399
            return
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lorg/h2/store/PageStore;
            4    7     1  index  Lorg/h2/index/PageIndex;

  private void writeIndexRowCounts();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 402
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: org.h2.store.PageStore top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.index.PageIndex
            astore 1 /* index */
        start local 1 // org.h2.index.PageIndex index
         2: .line 403
            aload 1 /* index */
            invokevirtual org.h2.index.PageIndex.writeRowCount:()V
        end local 1 // org.h2.index.PageIndex index
         3: .line 402
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 405
            return
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/h2/store/PageStore;
            2    3     1  index  Lorg/h2/index/PageIndex;

  private void writeBack();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 408
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            invokeinterface org.h2.util.Cache.getAllChanged:()Ljava/util/ArrayList;
            astore 1 /* list */
        start local 1 // java.util.ArrayList list
         1: .line 409
            aload 1 /* list */
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
         2: .line 410
            aload 1 /* list */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.h2.store.PageStore java.util.ArrayList top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.util.CacheObject
            astore 2 /* cacheObject */
        start local 2 // org.h2.util.CacheObject cacheObject
         4: .line 411
            aload 0 /* this */
            aload 2 /* cacheObject */
            invokevirtual org.h2.store.PageStore.writeBack:(Lorg/h2/util/CacheObject;)V
        end local 2 // org.h2.util.CacheObject cacheObject
         5: .line 410
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 413
            return
        end local 1 // java.util.ArrayList list
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/h2/store/PageStore;
            1    7     1         list  Ljava/util/ArrayList<Lorg/h2/util/CacheObject;>;
            4    5     2  cacheObject  Lorg/h2/util/CacheObject;

  public synchronized void checkpoint();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 419
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            ldc "checkpoint"
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
         1: .line 420
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            ifnull 2
            aload 0 /* this */
            getfield org.h2.store.PageStore.readMode:Z
            ifne 2
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.isReadOnly:()Z
            ifne 2
            aload 0 /* this */
            getfield org.h2.store.PageStore.backupLevel:I
            ifle 3
         2: .line 423
      StackMap locals:
      StackMap stack:
            return
         3: .line 425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.checkPowerOff:()V
         4: .line 426
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeIndexRowCounts:()V
         5: .line 428
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.checkpoint:()V
         6: .line 429
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeBack:()V
         7: .line 431
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.getFirstUncommittedSection:()I
            istore 1 /* firstUncommittedSection */
        start local 1 // int firstUncommittedSection
         8: .line 433
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            iload 1 /* firstUncommittedSection */
            invokevirtual org.h2.store.PageLog.removeUntil:(I)V
         9: .line 436
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeBack:()V
        10: .line 439
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.checkpoint:()V
        11: .line 441
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
            ifeq 13
        12: .line 442
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            ldc "writeFree"
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
        13: .line 444
      StackMap locals: int
      StackMap stack:
            bipush 16
            newarray 8
            astore 2 /* test */
        start local 2 // byte[] test
        14: .line 445
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            newarray 8
            astore 3 /* empty */
        start local 3 // byte[] empty
        15: .line 446
            iconst_3
            istore 4 /* i */
        start local 4 // int i
        16: goto 31
        17: .line 447
      StackMap locals: byte[] byte[] int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual org.h2.store.PageStore.isUsed:(I)Z
            ifeq 20
        18: .line 448
            aload 0 /* this */
            getfield org.h2.store.PageStore.freed:Ljava/util/BitSet;
            iload 4 /* i */
            invokevirtual java.util.BitSet.clear:(I)V
        19: .line 449
            goto 30
      StackMap locals:
      StackMap stack:
        20: aload 0 /* this */
            getfield org.h2.store.PageStore.freed:Ljava/util/BitSet;
            iload 4 /* i */
            invokevirtual java.util.BitSet.get:(I)Z
            ifne 30
        21: .line 450
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
            ifeq 23
        22: .line 451
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            new java.lang.StringBuilder
            dup
            ldc "free "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
        23: .line 453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            iload 4 /* i */
            i2l
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSizeShift:I
            lshl
            invokevirtual org.h2.store.FileStore.seek:(J)V
        24: .line 454
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            aload 2 /* test */
            iconst_0
            bipush 16
            invokevirtual org.h2.store.FileStore.readFully:([BII)V
        25: .line 455
            aload 2 /* test */
            iconst_0
            baload
            ifeq 29
        26: .line 456
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            iload 4 /* i */
            i2l
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSizeShift:I
            lshl
            invokevirtual org.h2.store.FileStore.seek:(J)V
        27: .line 457
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            aload 3 /* empty */
            iconst_0
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            invokevirtual org.h2.store.FileStore.write:([BII)V
        28: .line 458
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.writeCount:J
            lconst_1
            ladd
            putfield org.h2.store.PageStore.writeCount:J
        29: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.freed:Ljava/util/BitSet;
            iload 4 /* i */
            invokevirtual java.util.BitSet.set:(I)V
        30: .line 446
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 4 /* i */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            if_icmplt 17
        end local 4 // int i
        32: .line 463
            return
        end local 3 // byte[] empty
        end local 2 // byte[] test
        end local 1 // int firstUncommittedSection
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   33     0                     this  Lorg/h2/store/PageStore;
            8   33     1  firstUncommittedSection  I
           14   33     2                     test  [B
           15   33     3                    empty  [B
           16   32     4                        i  I

  public synchronized void compact(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=20, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int compactMode
         0: .line 472
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.getSettings:()Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.pageStoreTrim:Z
            ifne 2
         1: .line 473
            return
         2: .line 475
      StackMap locals:
      StackMap stack:
            getstatic org.h2.engine.SysProperties.MODIFY_ON_WRITE:Z
            ifeq 5
            aload 0 /* this */
            getfield org.h2.store.PageStore.readMode:Z
            ifeq 5
         3: .line 476
            iload 1 /* compactMode */
            ifne 5
         4: .line 477
            return
         5: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.openForWriting:()V
         6: .line 481
            iconst_m1
            istore 2 /* lastUsed */
        start local 2 // int lastUsed
         7: .line 482
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            invokevirtual org.h2.store.PageStore.getFreeListId:(I)I
            istore 3 /* i */
        start local 3 // int i
         8: goto 13
         9: .line 483
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.h2.store.PageStore.getFreeList:(I)Lorg/h2/store/PageFreeList;
            invokevirtual org.h2.store.PageFreeList.getLastUsed:()I
            istore 2 /* lastUsed */
        10: .line 484
            iload 2 /* lastUsed */
            iconst_m1
            if_icmpeq 12
        11: .line 485
            goto 14
        12: .line 482
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            ifge 9
        end local 3 // int i
        14: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeBack:()V
        15: .line 491
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.free:()V
        16: .line 492
            aload 0 /* this */
            iconst_1
            putfield org.h2.store.PageStore.recoveryRunning:Z
        17: .line 494
            aload 0 /* this */
            iload 2 /* lastUsed */
            iconst_1
            iadd
            putfield org.h2.store.PageStore.logFirstTrunkPage:I
        18: .line 495
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.logFirstTrunkPage:I
            invokevirtual org.h2.store.PageStore.allocatePage:(I)V
        19: .line 496
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            aload 0 /* this */
            getfield org.h2.store.PageStore.logFirstTrunkPage:I
            iconst_1
            invokevirtual org.h2.store.PageLog.openForWriting:(IZ)V
        20: .line 498
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.checkpoint:()V
        21: .line 499
            goto 25
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 3
        23: .line 500
            aload 0 /* this */
            iconst_0
            putfield org.h2.store.PageStore.recoveryRunning:Z
        24: .line 501
            aload 3
            athrow
        25: .line 500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.h2.store.PageStore.recoveryRunning:Z
        26: .line 502
            invokestatic java.lang.System.nanoTime:()J
            lstore 3 /* start */
        start local 3 // long start
        27: .line 503
            iload 1 /* compactMode */
        28: .line 504
            bipush 82
        29: .line 503
            if_icmpne 30
            iconst_1
            goto 31
      StackMap locals: long
      StackMap stack:
        30: iconst_0
      StackMap locals:
      StackMap stack: int
        31: istore 5 /* isCompactFully */
        start local 5 // boolean isCompactFully
        32: .line 505
            iload 1 /* compactMode */
        33: .line 506
            bipush 84
        34: .line 505
            if_icmpne 35
            iconst_1
            goto 36
      StackMap locals: int
      StackMap stack:
        35: iconst_0
      StackMap locals:
      StackMap stack: int
        36: istore 6 /* isDefrag */
        start local 6 // boolean isDefrag
        37: .line 508
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.getSettings:()Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.defragAlways:Z
            ifeq 39
        38: .line 509
            iconst_1
            dup
            istore 6 /* isDefrag */
            istore 5 /* isCompactFully */
        39: .line 512
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.getSettings:()Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.maxCompactTime:I
            istore 7 /* maxCompactTime */
        start local 7 // int maxCompactTime
        40: .line 513
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.getSettings:()Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.maxCompactCount:I
            istore 8 /* maxMove */
        start local 8 // int maxMove
        41: .line 515
            iload 5 /* isCompactFully */
            ifne 42
            iload 6 /* isDefrag */
            ifeq 44
        42: .line 516
      StackMap locals: int int
      StackMap stack:
            ldc 2147483647
            istore 7 /* maxCompactTime */
        43: .line 517
            ldc 2147483647
            istore 8 /* maxMove */
        44: .line 519
      StackMap locals:
      StackMap stack:
            iload 5 /* isCompactFully */
            ifeq 45
            sipush 1536
            goto 46
      StackMap locals:
      StackMap stack:
        45: iconst_1
      StackMap locals:
      StackMap stack: int
        46: istore 9 /* blockSize */
        start local 9 // int blockSize
        47: .line 520
            iconst_5
            istore 10 /* firstFree */
        start local 10 // int firstFree
        48: .line 521
            iload 2 /* lastUsed */
            istore 11 /* x */
        start local 11 // int x
        49: iconst_0
            istore 12 /* j */
        start local 12 // int j
        50: goto 74
        51: .line 523
      StackMap locals: org.h2.store.PageStore int int long int int int int int int int int
      StackMap stack:
            iload 11 /* x */
            iload 9 /* blockSize */
            isub
            iconst_1
            iadd
            istore 13 /* full */
        start local 13 // int full
        52: goto 72
        53: .line 524
      StackMap locals: int
      StackMap stack:
            iload 13 /* full */
            iconst_5
            if_icmple 71
            aload 0 /* this */
            iload 13 /* full */
            invokevirtual org.h2.store.PageStore.isUsed:(I)Z
            ifeq 71
        54: .line 525
            aload 0 /* this */
            dup
            astore 14
            monitorenter
        55: .line 526
            aload 0 /* this */
            iload 10 /* firstFree */
            invokevirtual org.h2.store.PageStore.getFirstFree:(I)I
            istore 10 /* firstFree */
        56: .line 527
            iload 10 /* firstFree */
            iconst_m1
            if_icmpeq 57
            iload 10 /* firstFree */
            iload 13 /* full */
            if_icmplt 60
        57: .line 528
      StackMap locals: org.h2.store.PageStore
      StackMap stack:
            iload 8 /* maxMove */
            istore 12 /* j */
        58: .line 529
            aload 14
            monitorexit
        59: goto 73
        60: .line 531
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 13 /* full */
            iload 10 /* firstFree */
            invokevirtual org.h2.store.PageStore.compact:(II)Z
            ifeq 67
        61: .line 532
            iinc 12 /* j */ 1
        62: .line 533
            invokestatic java.lang.System.nanoTime:()J
            lstore 15 /* now */
        start local 15 // long now
        63: .line 534
            lload 15 /* now */
            lload 3 /* start */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            iload 7 /* maxCompactTime */
            i2l
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            ladd
            lcmp
            ifle 67
        64: .line 535
            iload 8 /* maxMove */
            istore 12 /* j */
        65: .line 536
            aload 14
            monitorexit
        66: goto 73
        end local 15 // long now
        67: .line 525
      StackMap locals:
      StackMap stack:
            aload 14
            monitorexit
        68: goto 71
      StackMap locals:
      StackMap stack: java.lang.Throwable
        69: aload 14
            monitorexit
        70: athrow
        71: .line 523
      StackMap locals:
      StackMap stack:
            iinc 13 /* full */ 1
      StackMap locals:
      StackMap stack:
        72: iload 13 /* full */
            iload 11 /* x */
            if_icmple 53
        end local 13 // int full
        73: .line 522
      StackMap locals:
      StackMap stack:
            iload 11 /* x */
            iload 9 /* blockSize */
            isub
            istore 11 /* x */
        74: .line 521
      StackMap locals:
      StackMap stack:
            iload 11 /* x */
            iconst_5
            if_icmple 77
        75: .line 522
            iload 12 /* j */
            iload 8 /* maxMove */
        76: .line 521
            if_icmplt 51
        end local 12 // int j
        end local 11 // int x
        77: .line 543
      StackMap locals:
      StackMap stack:
            iload 6 /* isDefrag */
            ifeq 132
        78: .line 544
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.checkpoint:()V
        79: .line 545
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeBack:()V
        80: .line 546
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            invokeinterface org.h2.util.Cache.clear:()V
        81: .line 547
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            iconst_0
            invokevirtual org.h2.engine.Database.getAllTablesAndViews:(Z)Ljava/util/ArrayList;
            astore 11 /* tables */
        start local 11 // java.util.ArrayList tables
        82: .line 548
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.h2.store.PageStore.recordedPagesList:Ljava/util/ArrayList;
        83: .line 549
            aload 0 /* this */
            new org.h2.util.IntIntHashMap
            dup
            invokespecial org.h2.util.IntIntHashMap.<init>:()V
            putfield org.h2.store.PageStore.recordedPagesIndex:Lorg/h2/util/IntIntHashMap;
        84: .line 550
            aload 0 /* this */
            iconst_1
            putfield org.h2.store.PageStore.recordPageReads:Z
        85: .line 551
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.getSystemSession:()Lorg/h2/engine/Session;
            astore 12 /* sysSession */
        start local 12 // org.h2.engine.Session sysSession
        86: .line 552
            aload 11 /* tables */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 14
            goto 100
      StackMap locals: org.h2.store.PageStore int int long int int int int int int java.util.ArrayList org.h2.engine.Session top java.util.Iterator
      StackMap stack:
        87: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.table.Table
            astore 13 /* table */
        start local 13 // org.h2.table.Table table
        88: .line 553
            aload 13 /* table */
            invokevirtual org.h2.table.Table.isTemporary:()Z
            ifne 100
            getstatic org.h2.table.TableType.TABLE:Lorg/h2/table/TableType;
            aload 13 /* table */
            invokevirtual org.h2.table.Table.getTableType:()Lorg/h2/table/TableType;
            if_acmpne 100
        89: .line 554
            aload 13 /* table */
            aload 12 /* sysSession */
            invokevirtual org.h2.table.Table.getScanIndex:(Lorg/h2/engine/Session;)Lorg/h2/index/Index;
            astore 15 /* scanIndex */
        start local 15 // org.h2.index.Index scanIndex
        90: .line 555
            aload 15 /* scanIndex */
            aload 12 /* sysSession */
            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 16 /* cursor */
        start local 16 // org.h2.index.Cursor cursor
        91: .line 556
            goto 93
        92: .line 557
      StackMap locals: org.h2.store.PageStore int int long int int int int int int java.util.ArrayList org.h2.engine.Session org.h2.table.Table java.util.Iterator org.h2.index.Index org.h2.index.Cursor
      StackMap stack:
            aload 16 /* cursor */
            invokeinterface org.h2.index.Cursor.get:()Lorg/h2/result/Row;
            pop
        93: .line 556
      StackMap locals:
      StackMap stack:
            aload 16 /* cursor */
            invokeinterface org.h2.index.Cursor.next:()Z
            ifne 92
        94: .line 559
            aload 13 /* table */
            invokevirtual org.h2.table.Table.getIndexes:()Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 18
            goto 99
      StackMap locals: org.h2.store.PageStore int int long int int int int int int java.util.ArrayList org.h2.engine.Session org.h2.table.Table java.util.Iterator org.h2.index.Index org.h2.index.Cursor top java.util.Iterator
      StackMap stack:
        95: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.index.Index
            astore 17 /* index */
        start local 17 // org.h2.index.Index index
        96: .line 560
            aload 17 /* index */
            aload 15 /* scanIndex */
            if_acmpeq 99
            aload 17 /* index */
            invokeinterface org.h2.index.Index.canScan:()Z
            ifeq 99
        97: .line 561
            aload 17 /* index */
            aload 12 /* sysSession */
            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 16 /* cursor */
        98: .line 562
      StackMap locals: org.h2.store.PageStore int int long int int int int int int java.util.ArrayList org.h2.engine.Session org.h2.table.Table java.util.Iterator org.h2.index.Index org.h2.index.Cursor org.h2.index.Index java.util.Iterator
      StackMap stack:
            aload 16 /* cursor */
            invokeinterface org.h2.index.Cursor.next:()Z
            ifne 98
        end local 17 // org.h2.index.Index index
        99: .line 559
      StackMap locals: org.h2.store.PageStore int int long int int int int int int java.util.ArrayList org.h2.engine.Session org.h2.table.Table java.util.Iterator org.h2.index.Index org.h2.index.Cursor top java.util.Iterator
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 95
        end local 16 // org.h2.index.Cursor cursor
        end local 15 // org.h2.index.Index scanIndex
        end local 13 // org.h2.table.Table table
       100: .line 552
      StackMap locals: org.h2.store.PageStore int int long int int int int int int java.util.ArrayList org.h2.engine.Session top java.util.Iterator
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 87
       101: .line 569
            aload 0 /* this */
            iconst_0
            putfield org.h2.store.PageStore.recordPageReads:Z
       102: .line 570
            iconst_4
            istore 13 /* target */
        start local 13 // int target
       103: .line 571
            iconst_0
            istore 14 /* temp */
        start local 14 // int temp
       104: .line 572
            iconst_0
            istore 15 /* i */
        start local 15 // int i
       105: aload 0 /* this */
            getfield org.h2.store.PageStore.recordedPagesList:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 16 /* size */
        start local 16 // int size
       106: goto 129
       107: .line 573
      StackMap locals: org.h2.store.PageStore int int long int int int int int int java.util.ArrayList org.h2.engine.Session int int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.checkpoint:()V
       108: .line 574
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeBack:()V
       109: .line 575
            aload 0 /* this */
            getfield org.h2.store.PageStore.recordedPagesList:Ljava/util/ArrayList;
            iload 15 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 17 /* source */
        start local 17 // int source
       110: .line 576
            aload 0 /* this */
            iload 17 /* source */
            invokevirtual org.h2.store.PageStore.getPage:(I)Lorg/h2/store/Page;
            astore 18 /* pageSource */
        start local 18 // org.h2.store.Page pageSource
       111: .line 577
            aload 18 /* pageSource */
            invokevirtual org.h2.store.Page.canMove:()Z
            ifne 113
       112: .line 578
            goto 128
       113: .line 581
      StackMap locals: int org.h2.store.Page
      StackMap stack:
            aload 0 /* this */
            iinc 13 /* target */ 1
            iload 13 /* target */
            invokevirtual org.h2.store.PageStore.getPage:(I)Lorg/h2/store/Page;
            astore 19 /* pageTarget */
        start local 19 // org.h2.store.Page pageTarget
       114: .line 582
            aload 19 /* pageTarget */
            ifnull 115
            aload 19 /* pageTarget */
            invokevirtual org.h2.store.Page.canMove:()Z
            ifeq 113
        end local 19 // org.h2.store.Page pageTarget
       115: .line 586
      StackMap locals:
      StackMap stack:
            iload 13 /* target */
            iload 17 /* source */
            if_icmpne 117
       116: .line 587
            goto 128
       117: .line 589
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 14 /* temp */
            invokevirtual org.h2.store.PageStore.getFirstFree:(I)I
            istore 14 /* temp */
       118: .line 590
            iload 14 /* temp */
            iconst_m1
            if_icmpne 120
       119: .line 591
            ldc "no free page for defrag"
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
       120: .line 593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            invokeinterface org.h2.util.Cache.clear:()V
       121: .line 594
            aload 0 /* this */
            iload 17 /* source */
            iload 13 /* target */
            iload 14 /* temp */
            invokevirtual org.h2.store.PageStore.swap:(III)V
       122: .line 595
            aload 0 /* this */
            getfield org.h2.store.PageStore.recordedPagesIndex:Lorg/h2/util/IntIntHashMap;
            iload 13 /* target */
            invokevirtual org.h2.util.IntIntHashMap.get:(I)I
            istore 19 /* index */
        start local 19 // int index
       123: .line 596
            iload 19 /* index */
            iconst_m1
            if_icmpeq 126
       124: .line 597
            aload 0 /* this */
            getfield org.h2.store.PageStore.recordedPagesList:Ljava/util/ArrayList;
            iload 19 /* index */
            iload 17 /* source */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
       125: .line 598
            aload 0 /* this */
            getfield org.h2.store.PageStore.recordedPagesIndex:Lorg/h2/util/IntIntHashMap;
            iload 17 /* source */
            iload 19 /* index */
            invokevirtual org.h2.util.IntIntHashMap.put:(II)V
       126: .line 600
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.recordedPagesList:Ljava/util/ArrayList;
            iload 15 /* i */
            iload 13 /* target */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
       127: .line 601
            aload 0 /* this */
            getfield org.h2.store.PageStore.recordedPagesIndex:Lorg/h2/util/IntIntHashMap;
            iload 13 /* target */
            iload 15 /* i */
            invokevirtual org.h2.util.IntIntHashMap.put:(II)V
        end local 19 // int index
        end local 18 // org.h2.store.Page pageSource
        end local 17 // int source
       128: .line 572
      StackMap locals:
      StackMap stack:
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
       129: iload 15 /* i */
            iload 16 /* size */
            if_icmplt 107
        end local 16 // int size
        end local 15 // int i
       130: .line 603
            aload 0 /* this */
            aconst_null
            putfield org.h2.store.PageStore.recordedPagesList:Ljava/util/ArrayList;
       131: .line 604
            aload 0 /* this */
            aconst_null
            putfield org.h2.store.PageStore.recordedPagesIndex:Lorg/h2/util/IntIntHashMap;
        end local 14 // int temp
        end local 13 // int target
        end local 12 // org.h2.engine.Session sysSession
        end local 11 // java.util.ArrayList tables
       132: .line 607
      StackMap locals: org.h2.store.PageStore int int long int int int int int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.checkpoint:()V
       133: .line 608
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.checkpoint:()V
       134: .line 609
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeIndexRowCounts:()V
       135: .line 610
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.checkpoint:()V
       136: .line 611
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeBack:()V
       137: .line 612
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.store.PageStore.commit:(Lorg/h2/engine/Session;)V
       138: .line 613
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeBack:()V
       139: .line 614
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.checkpoint:()V
       140: .line 616
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.free:()V
       141: .line 618
            aload 0 /* this */
            iconst_1
            putfield org.h2.store.PageStore.recoveryRunning:Z
       142: .line 620
            aload 0 /* this */
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.logKey:I
            iconst_1
            iadd
            dup_x1
            putfield org.h2.store.PageStore.logKey:I
            iconst_0
            iconst_0
            invokevirtual org.h2.store.PageStore.setLogFirstPage:(III)V
       143: .line 621
            goto 147
      StackMap locals:
      StackMap stack: java.lang.Throwable
       144: astore 11
       145: .line 622
            aload 0 /* this */
            iconst_0
            putfield org.h2.store.PageStore.recoveryRunning:Z
       146: .line 623
            aload 11
            athrow
       147: .line 622
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.h2.store.PageStore.recoveryRunning:Z
       148: .line 624
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeBack:()V
       149: .line 625
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            invokevirtual org.h2.store.PageStore.getFreeListId:(I)I
            istore 11 /* i */
        start local 11 // int i
       150: goto 155
       151: .line 626
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 11 /* i */
            invokevirtual org.h2.store.PageStore.getFreeList:(I)Lorg/h2/store/PageFreeList;
            invokevirtual org.h2.store.PageFreeList.getLastUsed:()I
            istore 2 /* lastUsed */
       152: .line 627
            iload 2 /* lastUsed */
            iconst_m1
            if_icmpeq 154
       153: .line 628
            goto 156
       154: .line 625
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ -1
      StackMap locals:
      StackMap stack:
       155: iload 11 /* i */
            ifge 151
        end local 11 // int i
       156: .line 631
      StackMap locals:
      StackMap stack:
            iload 2 /* lastUsed */
            iconst_1
            iadd
            istore 11 /* newPageCount */
        start local 11 // int newPageCount
       157: .line 632
            iload 11 /* newPageCount */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            if_icmpge 159
       158: .line 633
            aload 0 /* this */
            getfield org.h2.store.PageStore.freed:Ljava/util/BitSet;
            iload 11 /* newPageCount */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            iconst_0
            invokevirtual java.util.BitSet.set:(IIZ)V
       159: .line 635
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 11 /* newPageCount */
            putfield org.h2.store.PageStore.pageCount:I
       160: .line 637
            aload 0 /* this */
            getfield org.h2.store.PageStore.freeLists:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
       161: .line 638
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            new java.lang.StringBuilder
            dup
            ldc "pageCount: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
       162: .line 639
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            i2l
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSizeShift:I
            lshl
            lstore 12 /* newLength */
        start local 12 // long newLength
       163: .line 640
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            invokevirtual org.h2.store.FileStore.length:()J
            lload 12 /* newLength */
            lcmp
            ifeq 166
       164: .line 641
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            lload 12 /* newLength */
            invokevirtual org.h2.store.FileStore.setLength:(J)V
       165: .line 642
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.writeCount:J
            lconst_1
            ladd
            putfield org.h2.store.PageStore.writeCount:J
       166: .line 644
      StackMap locals: long
      StackMap stack:
            return
        end local 12 // long newLength
        end local 11 // int newPageCount
        end local 10 // int firstFree
        end local 9 // int blockSize
        end local 8 // int maxMove
        end local 7 // int maxCompactTime
        end local 6 // boolean isDefrag
        end local 5 // boolean isCompactFully
        end local 3 // long start
        end local 2 // int lastUsed
        end local 1 // int compactMode
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  167     0            this  Lorg/h2/store/PageStore;
            0  167     1     compactMode  I
            7  167     2        lastUsed  I
            8   14     3               i  I
           27  167     3           start  J
           32  167     5  isCompactFully  Z
           37  167     6        isDefrag  Z
           40  167     7  maxCompactTime  I
           41  167     8         maxMove  I
           47  167     9       blockSize  I
           48  167    10       firstFree  I
           49   77    11               x  I
           50   77    12               j  I
           52   73    13            full  I
           63   67    15             now  J
           82  132    11          tables  Ljava/util/ArrayList<Lorg/h2/table/Table;>;
           86  132    12      sysSession  Lorg/h2/engine/Session;
           88  100    13           table  Lorg/h2/table/Table;
           90  100    15       scanIndex  Lorg/h2/index/Index;
           91  100    16          cursor  Lorg/h2/index/Cursor;
           96   99    17           index  Lorg/h2/index/Index;
          103  132    13          target  I
          104  132    14            temp  I
          105  130    15               i  I
          106  130    16            size  I
          110  128    17          source  I
          111  128    18      pageSource  Lorg/h2/store/Page;
          114  115    19      pageTarget  Lorg/h2/store/Page;
          123  128    19           index  I
          150  156    11               i  I
          157  167    11    newPageCount  I
          163  167    12       newLength  J
      Exception table:
        from    to  target  type
          17    22      22  any
          55    59      69  any
          60    66      69  any
          67    68      69  any
          69    70      69  any
         142   144     144  any
    MethodParameters:
             Name  Flags
      compactMode  

  private int getFirstFree(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int start
         0: .line 647
            iconst_m1
            istore 2 /* free */
        start local 2 // int free
         1: .line 648
            aload 0 /* this */
            iload 1 /* start */
            invokevirtual org.h2.store.PageStore.getFreeListId:(I)I
            istore 3 /* id */
        start local 3 // int id
         2: goto 7
         3: .line 649
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* id */
            invokevirtual org.h2.store.PageStore.getFreeList:(I)Lorg/h2/store/PageFreeList;
            iload 1 /* start */
            invokevirtual org.h2.store.PageFreeList.getFirstFree:(I)I
            istore 2 /* free */
         4: .line 650
            iload 2 /* free */
            iconst_m1
            if_icmpeq 6
         5: .line 651
            goto 8
         6: .line 648
      StackMap locals:
      StackMap stack:
            iinc 3 /* id */ 1
      StackMap locals:
      StackMap stack:
         7: iload 1 /* start */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            if_icmplt 3
        end local 3 // int id
         8: .line 654
      StackMap locals:
      StackMap stack:
            iload 2 /* free */
            ireturn
        end local 2 // int free
        end local 1 // int start
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/h2/store/PageStore;
            0    9     1  start  I
            1    9     2   free  I
            2    8     3     id  I
    MethodParameters:
       Name  Flags
      start  

  private void swap(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.h2.store.PageStore this
        start local 1 // int a
        start local 2 // int b
        start local 3 // int free
         0: .line 658
            iload 1 /* a */
            iconst_5
            if_icmplt 1
            iload 2 /* b */
            iconst_5
            if_icmpge 3
         1: .line 659
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            iload 1 /* a */
            invokevirtual org.h2.store.PageStore.isUsed:(I)Z
            invokestatic java.lang.String.valueOf:(Z)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 */
            iload 2 /* b */
            invokevirtual org.h2.store.PageStore.isUsed:(I)Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 660
            new java.lang.StringBuilder
            dup
            ldc "can't swap "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* a */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* b */
            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;
            pop
         3: .line 662
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            iload 3 /* free */
            invokeinterface org.h2.util.Cache.get:(I)Lorg/h2/util/CacheObject;
            checkcast org.h2.store.Page
            astore 4 /* f */
        start local 4 // org.h2.store.Page f
         4: .line 663
            aload 4 /* f */
            ifnull 6
         5: .line 664
            new java.lang.StringBuilder
            dup
            ldc "not free: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* f */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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 666
      StackMap locals: org.h2.store.Page
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
            ifeq 8
         7: .line 667
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            new java.lang.StringBuilder
            dup
            ldc "swap "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* a */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* b */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " via "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* free */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
         8: .line 669
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* pageA */
        start local 5 // org.h2.store.Page pageA
         9: .line 670
            aload 0 /* this */
            iload 1 /* a */
            invokevirtual org.h2.store.PageStore.isUsed:(I)Z
            ifeq 14
        10: .line 671
            aload 0 /* this */
            iload 1 /* a */
            invokevirtual org.h2.store.PageStore.getPage:(I)Lorg/h2/store/Page;
            astore 5 /* pageA */
        11: .line 672
            aload 5 /* pageA */
            ifnull 13
        12: .line 673
            aload 5 /* pageA */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            iload 3 /* free */
            invokevirtual org.h2.store.Page.moveTo:(Lorg/h2/engine/Session;I)V
        13: .line 675
      StackMap locals: org.h2.store.Page
      StackMap stack:
            aload 0 /* this */
            iload 1 /* a */
            invokevirtual org.h2.store.PageStore.free:(I)V
        14: .line 677
      StackMap locals:
      StackMap stack:
            iload 3 /* free */
            iload 2 /* b */
            if_icmpeq 25
        15: .line 678
            aload 0 /* this */
            iload 2 /* b */
            invokevirtual org.h2.store.PageStore.isUsed:(I)Z
            ifeq 20
        16: .line 679
            aload 0 /* this */
            iload 2 /* b */
            invokevirtual org.h2.store.PageStore.getPage:(I)Lorg/h2/store/Page;
            astore 6 /* pageB */
        start local 6 // org.h2.store.Page pageB
        17: .line 680
            aload 6 /* pageB */
            ifnull 19
        18: .line 681
            aload 6 /* pageB */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            iload 1 /* a */
            invokevirtual org.h2.store.Page.moveTo:(Lorg/h2/engine/Session;I)V
        19: .line 683
      StackMap locals: org.h2.store.Page
      StackMap stack:
            aload 0 /* this */
            iload 2 /* b */
            invokevirtual org.h2.store.PageStore.free:(I)V
        end local 6 // org.h2.store.Page pageB
        20: .line 685
      StackMap locals:
      StackMap stack:
            aload 5 /* pageA */
            ifnull 25
        21: .line 686
            aload 0 /* this */
            iload 3 /* free */
            invokevirtual org.h2.store.PageStore.getPage:(I)Lorg/h2/store/Page;
            astore 4 /* f */
        22: .line 687
            aload 4 /* f */
            ifnull 24
        23: .line 688
            aload 4 /* f */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            iload 2 /* b */
            invokevirtual org.h2.store.Page.moveTo:(Lorg/h2/engine/Session;I)V
        24: .line 690
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* free */
            invokevirtual org.h2.store.PageStore.free:(I)V
        25: .line 693
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.h2.store.Page pageA
        end local 4 // org.h2.store.Page f
        end local 3 // int free
        end local 2 // int b
        end local 1 // int a
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   26     0   this  Lorg/h2/store/PageStore;
            0   26     1      a  I
            0   26     2      b  I
            0   26     3   free  I
            4   26     4      f  Lorg/h2/store/Page;
            9   26     5  pageA  Lorg/h2/store/Page;
           17   20     6  pageB  Lorg/h2/store/Page;
    MethodParameters:
      Name  Flags
      a     
      b     
      free  

  private boolean compact(int, int);
    descriptor: (II)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // int full
        start local 2 // int free
         0: .line 696
            iload 1 /* full */
            iconst_5
            if_icmplt 1
            iload 2 /* free */
            iconst_m1
            if_icmpeq 1
            iload 2 /* free */
            iload 1 /* full */
            if_icmpge 1
            aload 0 /* this */
            iload 1 /* full */
            invokevirtual org.h2.store.PageStore.isUsed:(I)Z
            ifne 2
         1: .line 697
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 699
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            iload 2 /* free */
            invokeinterface org.h2.util.Cache.get:(I)Lorg/h2/util/CacheObject;
            checkcast org.h2.store.Page
            astore 3 /* f */
        start local 3 // org.h2.store.Page f
         3: .line 700
            aload 3 /* f */
            ifnull 5
         4: .line 701
            new java.lang.StringBuilder
            dup
            ldc "not free: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* f */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
         5: .line 703
      StackMap locals: org.h2.store.Page
      StackMap stack:
            aload 0 /* this */
            iload 1 /* full */
            invokevirtual org.h2.store.PageStore.getPage:(I)Lorg/h2/store/Page;
            astore 4 /* p */
        start local 4 // org.h2.store.Page p
         6: .line 704
            aload 4 /* p */
            ifnonnull 9
         7: .line 705
            aload 0 /* this */
            iload 1 /* full */
            invokevirtual org.h2.store.PageStore.freePage:(I)V
         8: .line 706
            goto 25
      StackMap locals: org.h2.store.Page
      StackMap stack:
         9: aload 4 /* p */
            instanceof org.h2.store.PageStreamData
            ifne 10
            aload 4 /* p */
            instanceof org.h2.store.PageStreamTrunk
            ifeq 13
        10: .line 707
      StackMap locals:
      StackMap stack:
            aload 4 /* p */
            invokevirtual org.h2.store.Page.getPos:()I
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.getMinPageId:()I
            if_icmpge 25
        11: .line 710
            aload 0 /* this */
            iload 1 /* full */
            invokevirtual org.h2.store.PageStore.freePage:(I)V
        12: .line 712
            goto 25
        13: .line 713
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
            ifeq 15
        14: .line 714
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            new java.lang.StringBuilder
            dup
            ldc "move "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* p */
            invokevirtual org.h2.store.Page.getPos:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* free */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
        15: .line 717
      StackMap locals:
      StackMap stack:
            aload 4 /* p */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            iload 2 /* free */
            invokevirtual org.h2.store.Page.moveTo:(Lorg/h2/engine/Session;I)V
        16: .line 718
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 5
        18: .line 719
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.changeCount:J
            lconst_1
            ladd
            dup2_x1
            putfield org.h2.store.PageStore.changeCount:J
            lconst_0
            lcmp
            ifge 21
        19: .line 721
            ldc "changeCount has wrapped"
        20: .line 720
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        21: .line 723
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        22: .line 719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.changeCount:J
            lconst_1
            ladd
            dup2_x1
            putfield org.h2.store.PageStore.changeCount:J
            lconst_0
            lcmp
            ifge 25
        23: .line 721
            ldc "changeCount has wrapped"
        24: .line 720
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        25: .line 725
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // org.h2.store.Page p
        end local 3 // org.h2.store.Page f
        end local 2 // int free
        end local 1 // int full
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0  this  Lorg/h2/store/PageStore;
            0   26     1  full  I
            0   26     2  free  I
            3   26     3     f  Lorg/h2/store/Page;
            6   26     4     p  Lorg/h2/store/Page;
      Exception table:
        from    to  target  type
          15    17      17  any
    MethodParameters:
      Name  Flags
      full  
      free  

  public synchronized org.h2.store.Page getPage(int);
    descriptor: (I)Lorg/h2/store/Page;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pageId
         0: .line 735
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            iload 1 /* pageId */
            invokeinterface org.h2.util.Cache.get:(I)Lorg/h2/util/CacheObject;
            checkcast org.h2.store.Page
            astore 2 /* p */
        start local 2 // org.h2.store.Page p
         1: .line 736
            aload 2 /* p */
            ifnull 3
         2: .line 737
            aload 2 /* p */
            areturn
         3: .line 740
      StackMap locals: org.h2.store.Page
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
            astore 3 /* data */
        start local 3 // org.h2.store.Data data
         4: .line 741
            aload 0 /* this */
            iload 1 /* pageId */
            aload 3 /* data */
            invokevirtual org.h2.store.PageStore.readPage:(ILorg/h2/store/Data;)V
         5: .line 742
            aload 3 /* data */
            invokevirtual org.h2.store.Data.readByte:()B
            istore 4 /* type */
        start local 4 // int type
         6: .line 743
            iload 4 /* type */
            ifne 8
         7: .line 744
            aconst_null
            areturn
         8: .line 746
      StackMap locals: org.h2.store.Data int
      StackMap stack:
            aload 3 /* data */
            invokevirtual org.h2.store.Data.readShortInt:()S
            pop
         9: .line 747
            aload 3 /* data */
            invokevirtual org.h2.store.Data.readInt:()I
            pop
        10: .line 748
            aload 3 /* data */
            invokevirtual org.h2.store.Data.getBytes:()[B
            iload 1 /* pageId */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            invokestatic org.h2.store.PageStore.checksumTest:([BII)Z
            ifne 14
        11: .line 749
            ldc 90030
        12: .line 750
            ldc "wrong checksum"
        13: .line 749
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        14: .line 752
      StackMap locals:
      StackMap stack:
            iload 4 /* type */
            bipush -17
            iand
            tableswitch { // 1 - 8
                    1: 17
                    2: 34
                    3: 51
                    4: 55
                    5: 72
                    6: 15
                    7: 89
                    8: 91
              default: 93
          }
        15: .line 754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* data */
            iload 1 /* pageId */
            invokestatic org.h2.store.PageFreeList.read:(Lorg/h2/store/PageStore;Lorg/h2/store/Data;I)Lorg/h2/store/PageFreeList;
            astore 2 /* p */
        16: .line 755
            goto 96
        17: .line 757
      StackMap locals:
      StackMap stack:
            aload 3 /* data */
            invokevirtual org.h2.store.Data.readVarInt:()I
            istore 5 /* indexId */
        start local 5 // int indexId
        18: .line 758
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iload 5 /* indexId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.index.PageIndex
            astore 6 /* idx */
        start local 6 // org.h2.index.PageIndex idx
        19: .line 759
            aload 6 /* idx */
            ifnonnull 23
        20: .line 760
            ldc 90030
        21: .line 761
            new java.lang.StringBuilder
            dup
            ldc "index not found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* indexId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 760
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        23: .line 763
      StackMap locals: int org.h2.index.PageIndex
      StackMap stack:
            aload 6 /* idx */
            instanceof org.h2.index.PageDataIndex
            ifne 27
        24: .line 764
            ldc 90030
        25: .line 765
            new java.lang.StringBuilder
            dup
            ldc "not a data index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* indexId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* idx */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 764
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        27: .line 767
      StackMap locals:
      StackMap stack:
            aload 6 /* idx */
            checkcast org.h2.index.PageDataIndex
            astore 7 /* index */
        start local 7 // org.h2.index.PageDataIndex index
        28: .line 768
            aload 0 /* this */
            getfield org.h2.store.PageStore.statistics:Ljava/util/HashMap;
            ifnull 32
        29: .line 769
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 7 /* index */
            invokevirtual org.h2.index.PageDataIndex.getTable:()Lorg/h2/table/Table;
            invokevirtual org.h2.table.Table.getName:()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;
        30: .line 770
            aload 7 /* index */
            invokevirtual org.h2.index.PageDataIndex.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " read"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 769
            invokevirtual org.h2.store.PageStore.statisticsIncrement:(Ljava/lang/String;)V
        32: .line 772
      StackMap locals: org.h2.index.PageDataIndex
      StackMap stack:
            aload 7 /* index */
            aload 3 /* data */
            iload 1 /* pageId */
            invokestatic org.h2.index.PageDataLeaf.read:(Lorg/h2/index/PageDataIndex;Lorg/h2/store/Data;I)Lorg/h2/store/Page;
            astore 2 /* p */
        33: .line 773
            goto 96
        end local 7 // org.h2.index.PageDataIndex index
        end local 6 // org.h2.index.PageIndex idx
        end local 5 // int indexId
        34: .line 776
      StackMap locals:
      StackMap stack:
            aload 3 /* data */
            invokevirtual org.h2.store.Data.readVarInt:()I
            istore 5 /* indexId */
        start local 5 // int indexId
        35: .line 777
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iload 5 /* indexId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.index.PageIndex
            astore 6 /* idx */
        start local 6 // org.h2.index.PageIndex idx
        36: .line 778
            aload 6 /* idx */
            ifnonnull 40
        37: .line 779
            ldc 90030
        38: .line 780
            new java.lang.StringBuilder
            dup
            ldc "index not found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* indexId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        39: .line 779
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        40: .line 782
      StackMap locals: int org.h2.index.PageIndex
      StackMap stack:
            aload 6 /* idx */
            instanceof org.h2.index.PageDataIndex
            ifne 44
        41: .line 783
            ldc 90030
        42: .line 784
            new java.lang.StringBuilder
            dup
            ldc "not a data index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* indexId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* idx */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 783
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        44: .line 786
      StackMap locals:
      StackMap stack:
            aload 6 /* idx */
            checkcast org.h2.index.PageDataIndex
            astore 7 /* index */
        start local 7 // org.h2.index.PageDataIndex index
        45: .line 787
            aload 0 /* this */
            getfield org.h2.store.PageStore.statistics:Ljava/util/HashMap;
            ifnull 49
        46: .line 788
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 7 /* index */
            invokevirtual org.h2.index.PageDataIndex.getTable:()Lorg/h2/table/Table;
            invokevirtual org.h2.table.Table.getName:()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;
        47: .line 789
            aload 7 /* index */
            invokevirtual org.h2.index.PageDataIndex.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " read"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 788
            invokevirtual org.h2.store.PageStore.statisticsIncrement:(Ljava/lang/String;)V
        49: .line 791
      StackMap locals: org.h2.index.PageDataIndex
      StackMap stack:
            aload 7 /* index */
            aload 3 /* data */
            iload 1 /* pageId */
            invokestatic org.h2.index.PageDataNode.read:(Lorg/h2/index/PageDataIndex;Lorg/h2/store/Data;I)Lorg/h2/store/Page;
            astore 2 /* p */
        50: .line 792
            goto 96
        end local 7 // org.h2.index.PageDataIndex index
        end local 6 // org.h2.index.PageIndex idx
        end local 5 // int indexId
        51: .line 795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* data */
            iload 1 /* pageId */
            invokestatic org.h2.index.PageDataOverflow.read:(Lorg/h2/store/PageStore;Lorg/h2/store/Data;I)Lorg/h2/store/Page;
            astore 2 /* p */
        52: .line 796
            aload 0 /* this */
            getfield org.h2.store.PageStore.statistics:Ljava/util/HashMap;
            ifnull 96
        53: .line 797
            aload 0 /* this */
            ldc "overflow read"
            invokevirtual org.h2.store.PageStore.statisticsIncrement:(Ljava/lang/String;)V
        54: .line 799
            goto 96
        55: .line 802
      StackMap locals:
      StackMap stack:
            aload 3 /* data */
            invokevirtual org.h2.store.Data.readVarInt:()I
            istore 5 /* indexId */
        start local 5 // int indexId
        56: .line 803
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iload 5 /* indexId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.index.PageIndex
            astore 6 /* idx */
        start local 6 // org.h2.index.PageIndex idx
        57: .line 804
            aload 6 /* idx */
            ifnonnull 61
        58: .line 805
            ldc 90030
        59: .line 806
            new java.lang.StringBuilder
            dup
            ldc "index not found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* indexId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        60: .line 805
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        61: .line 808
      StackMap locals: int org.h2.index.PageIndex
      StackMap stack:
            aload 6 /* idx */
            instanceof org.h2.index.PageBtreeIndex
            ifne 65
        62: .line 809
            ldc 90030
        63: .line 810
            new java.lang.StringBuilder
            dup
            ldc "not a btree index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* indexId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* idx */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        64: .line 809
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        65: .line 812
      StackMap locals:
      StackMap stack:
            aload 6 /* idx */
            checkcast org.h2.index.PageBtreeIndex
            astore 7 /* index */
        start local 7 // org.h2.index.PageBtreeIndex index
        66: .line 813
            aload 0 /* this */
            getfield org.h2.store.PageStore.statistics:Ljava/util/HashMap;
            ifnull 70
        67: .line 814
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 7 /* index */
            invokevirtual org.h2.index.PageBtreeIndex.getTable:()Lorg/h2/table/Table;
            invokevirtual org.h2.table.Table.getName:()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;
        68: .line 815
            aload 7 /* index */
            invokevirtual org.h2.index.PageBtreeIndex.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " read"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        69: .line 814
            invokevirtual org.h2.store.PageStore.statisticsIncrement:(Ljava/lang/String;)V
        70: .line 817
      StackMap locals: org.h2.index.PageBtreeIndex
      StackMap stack:
            aload 7 /* index */
            aload 3 /* data */
            iload 1 /* pageId */
            invokestatic org.h2.index.PageBtreeLeaf.read:(Lorg/h2/index/PageBtreeIndex;Lorg/h2/store/Data;I)Lorg/h2/store/Page;
            astore 2 /* p */
        71: .line 818
            goto 96
        end local 7 // org.h2.index.PageBtreeIndex index
        end local 6 // org.h2.index.PageIndex idx
        end local 5 // int indexId
        72: .line 821
      StackMap locals:
      StackMap stack:
            aload 3 /* data */
            invokevirtual org.h2.store.Data.readVarInt:()I
            istore 5 /* indexId */
        start local 5 // int indexId
        73: .line 822
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iload 5 /* indexId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.index.PageIndex
            astore 6 /* idx */
        start local 6 // org.h2.index.PageIndex idx
        74: .line 823
            aload 6 /* idx */
            ifnonnull 78
        75: .line 824
            ldc 90030
        76: .line 825
            new java.lang.StringBuilder
            dup
            ldc "index not found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* indexId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        77: .line 824
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        78: .line 827
      StackMap locals: int org.h2.index.PageIndex
      StackMap stack:
            aload 6 /* idx */
            instanceof org.h2.index.PageBtreeIndex
            ifne 82
        79: .line 828
            ldc 90030
        80: .line 829
            new java.lang.StringBuilder
            dup
            ldc "not a btree index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* indexId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* idx */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        81: .line 828
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        82: .line 831
      StackMap locals:
      StackMap stack:
            aload 6 /* idx */
            checkcast org.h2.index.PageBtreeIndex
            astore 7 /* index */
        start local 7 // org.h2.index.PageBtreeIndex index
        83: .line 832
            aload 0 /* this */
            getfield org.h2.store.PageStore.statistics:Ljava/util/HashMap;
            ifnull 87
        84: .line 833
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 7 /* index */
            invokevirtual org.h2.index.PageBtreeIndex.getTable:()Lorg/h2/table/Table;
            invokevirtual org.h2.table.Table.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        85: .line 834
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* index */
            invokevirtual org.h2.index.PageBtreeIndex.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " read"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        86: .line 833
            invokevirtual org.h2.store.PageStore.statisticsIncrement:(Ljava/lang/String;)V
        87: .line 836
      StackMap locals: org.h2.index.PageBtreeIndex
      StackMap stack:
            aload 7 /* index */
            aload 3 /* data */
            iload 1 /* pageId */
            invokestatic org.h2.index.PageBtreeNode.read:(Lorg/h2/index/PageBtreeIndex;Lorg/h2/store/Data;I)Lorg/h2/store/Page;
            astore 2 /* p */
        88: .line 837
            goto 96
        end local 7 // org.h2.index.PageBtreeIndex index
        end local 6 // org.h2.index.PageIndex idx
        end local 5 // int indexId
        89: .line 840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* data */
            iload 1 /* pageId */
            invokestatic org.h2.store.PageStreamTrunk.read:(Lorg/h2/store/PageStore;Lorg/h2/store/Data;I)Lorg/h2/store/PageStreamTrunk;
            astore 2 /* p */
        90: .line 841
            goto 96
        91: .line 843
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* data */
            iload 1 /* pageId */
            invokestatic org.h2.store.PageStreamData.read:(Lorg/h2/store/PageStore;Lorg/h2/store/Data;I)Lorg/h2/store/PageStreamData;
            astore 2 /* p */
        92: .line 844
            goto 96
        93: .line 846
      StackMap locals:
      StackMap stack:
            ldc 90030
        94: .line 847
            new java.lang.StringBuilder
            dup
            ldc "page="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* pageId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " type="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        95: .line 846
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        96: .line 849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            aload 2 /* p */
            invokeinterface org.h2.util.Cache.put:(Lorg/h2/util/CacheObject;)V
        97: .line 850
            aload 2 /* p */
            areturn
        end local 4 // int type
        end local 3 // org.h2.store.Data data
        end local 2 // org.h2.store.Page p
        end local 1 // int pageId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   98     0     this  Lorg/h2/store/PageStore;
            0   98     1   pageId  I
            1   98     2        p  Lorg/h2/store/Page;
            4   98     3     data  Lorg/h2/store/Data;
            6   98     4     type  I
           18   34     5  indexId  I
           19   34     6      idx  Lorg/h2/index/PageIndex;
           28   34     7    index  Lorg/h2/index/PageDataIndex;
           35   51     5  indexId  I
           36   51     6      idx  Lorg/h2/index/PageIndex;
           45   51     7    index  Lorg/h2/index/PageDataIndex;
           56   72     5  indexId  I
           57   72     6      idx  Lorg/h2/index/PageIndex;
           66   72     7    index  Lorg/h2/index/PageBtreeIndex;
           73   89     5  indexId  I
           74   89     6      idx  Lorg/h2/index/PageIndex;
           83   89     7    index  Lorg/h2/index/PageBtreeIndex;
    MethodParameters:
        Name  Flags
      pageId  

  private int getFirstUncommittedSection();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 854
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            ldc "getFirstUncommittedSection"
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
         1: .line 855
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            iconst_1
            invokevirtual org.h2.engine.Database.getSessions:(Z)[Lorg/h2/engine/Session;
            astore 1 /* sessions */
        start local 1 // org.h2.engine.Session[] sessions
         2: .line 856
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.getLogSectionId:()I
            istore 2 /* firstUncommittedSection */
        start local 2 // int firstUncommittedSection
         3: .line 857
            aload 1 /* sessions */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 10
      StackMap locals: org.h2.store.PageStore org.h2.engine.Session[] int top int int org.h2.engine.Session[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* session */
        start local 3 // org.h2.engine.Session session
         5: .line 858
            aload 3 /* session */
            invokevirtual org.h2.engine.Session.getFirstUncommittedLog:()I
            istore 7 /* firstUncommitted */
        start local 7 // int firstUncommitted
         6: .line 859
            iload 7 /* firstUncommitted */
            iconst_m1
            if_icmpeq 9
         7: .line 860
            iload 7 /* firstUncommitted */
            iload 2 /* firstUncommittedSection */
            if_icmpge 9
         8: .line 861
            iload 7 /* firstUncommitted */
            istore 2 /* firstUncommittedSection */
        end local 7 // int firstUncommitted
        end local 3 // org.h2.engine.Session session
         9: .line 857
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        10: iload 4
            iload 5
            if_icmplt 4
        11: .line 865
            iload 2 /* firstUncommittedSection */
            ireturn
        end local 2 // int firstUncommittedSection
        end local 1 // org.h2.engine.Session[] sessions
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   12     0                     this  Lorg/h2/store/PageStore;
            2   12     1                 sessions  [Lorg/h2/engine/Session;
            3   12     2  firstUncommittedSection  I
            5    9     3                  session  Lorg/h2/engine/Session;
            6    9     7         firstUncommitted  I

  private void readStaticHeader();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 869
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            ldc 48
            invokevirtual org.h2.store.FileStore.seek:(J)V
         1: .line 870
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
         2: .line 871
            bipush 16
            newarray 8
            iconst_0
         3: .line 870
            invokestatic org.h2.store.Data.create:(Lorg/h2/store/DataHandler;[BZ)Lorg/h2/store/Data;
            astore 1 /* page */
        start local 1 // org.h2.store.Data page
         4: .line 872
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            aload 1 /* page */
            invokevirtual org.h2.store.Data.getBytes:()[B
            iconst_0
         5: .line 873
            bipush 16
         6: .line 872
            invokevirtual org.h2.store.FileStore.readFully:([BII)V
         7: .line 874
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.readCount:J
            lconst_1
            ladd
            putfield org.h2.store.PageStore.readCount:J
         8: .line 875
            aload 0 /* this */
            aload 1 /* page */
            invokevirtual org.h2.store.Data.readInt:()I
            invokevirtual org.h2.store.PageStore.setPageSize:(I)V
         9: .line 876
            aload 1 /* page */
            invokevirtual org.h2.store.Data.readByte:()B
            istore 2 /* writeVersion */
        start local 2 // int writeVersion
        10: .line 877
            aload 1 /* page */
            invokevirtual org.h2.store.Data.readByte:()B
            istore 3 /* readVersion */
        start local 3 // int readVersion
        11: .line 878
            iload 3 /* readVersion */
            iconst_3
            if_icmple 14
        12: .line 880
            ldc 90048
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
        13: .line 879
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        14: .line 882
      StackMap locals: org.h2.store.Data int int
      StackMap stack:
            iload 2 /* writeVersion */
            iconst_3
            if_icmple 19
        15: .line 883
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.close:()V
        16: .line 884
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            iconst_1
            invokevirtual org.h2.engine.Database.setReadOnly:(Z)V
        17: .line 885
            aload 0 /* this */
            ldc "r"
            putfield org.h2.store.PageStore.accessMode:Ljava/lang/String;
        18: .line 886
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.h2.store.PageStore.accessMode:Ljava/lang/String;
            iconst_1
            invokevirtual org.h2.engine.Database.openFile:(Ljava/lang/String;Ljava/lang/String;Z)Lorg/h2/store/FileStore;
            putfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
        19: .line 888
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int readVersion
        end local 2 // int writeVersion
        end local 1 // org.h2.store.Data page
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lorg/h2/store/PageStore;
            4   20     1          page  Lorg/h2/store/Data;
           10   20     2  writeVersion  I
           11   20     3   readVersion  I

  private void readVariableHeader();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 891
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
            astore 1 /* page */
        start local 1 // org.h2.store.Data page
         1: .line 892
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         2: .line 893
      StackMap locals: org.h2.store.Data int
      StackMap stack:
            iload 2 /* i */
            iconst_3
            if_icmpne 5
         3: .line 895
            ldc 90030
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
         4: .line 894
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         5: .line 897
      StackMap locals:
      StackMap stack:
            aload 1 /* page */
            invokevirtual org.h2.store.Data.reset:()V
         6: .line 898
            aload 0 /* this */
            iload 2 /* i */
            aload 1 /* page */
            invokevirtual org.h2.store.PageStore.readPage:(ILorg/h2/store/Data;)V
         7: .line 899
            new java.util.zip.CRC32
            dup
            invokespecial java.util.zip.CRC32.<init>:()V
            astore 3 /* crc */
        start local 3 // java.util.zip.CRC32 crc
         8: .line 900
            aload 3 /* crc */
            aload 1 /* page */
            invokevirtual org.h2.store.Data.getBytes:()[B
            iconst_4
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            iconst_4
            isub
            invokevirtual java.util.zip.CRC32.update:([BII)V
         9: .line 901
            aload 3 /* crc */
            invokevirtual java.util.zip.CRC32.getValue:()J
            l2i
            istore 4 /* expected */
        start local 4 // int expected
        10: .line 902
            aload 1 /* page */
            invokevirtual org.h2.store.Data.readInt:()I
            istore 5 /* got */
        start local 5 // int got
        11: .line 903
            iload 4 /* expected */
            iload 5 /* got */
            if_icmpne 17
        12: .line 904
            aload 0 /* this */
            aload 1 /* page */
            invokevirtual org.h2.store.Data.readLong:()J
            putfield org.h2.store.PageStore.writeCountBase:J
        13: .line 905
            aload 0 /* this */
            aload 1 /* page */
            invokevirtual org.h2.store.Data.readInt:()I
            putfield org.h2.store.PageStore.logKey:I
        14: .line 906
            aload 0 /* this */
            aload 1 /* page */
            invokevirtual org.h2.store.Data.readInt:()I
            putfield org.h2.store.PageStore.logFirstTrunkPage:I
        15: .line 907
            aload 0 /* this */
            aload 1 /* page */
            invokevirtual org.h2.store.Data.readInt:()I
            putfield org.h2.store.PageStore.logFirstDataPage:I
        16: .line 908
            goto 18
        end local 5 // int got
        end local 4 // int expected
        end local 3 // java.util.zip.CRC32 crc
        17: .line 892
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
            goto 2
        end local 2 // int i
        18: .line 911
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.h2.store.Data page
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lorg/h2/store/PageStore;
            1   19     1      page  Lorg/h2/store/Data;
            2   18     2         i  I
            8   17     3       crc  Ljava/util/zip/CRC32;
           10   17     4  expected  I
           11   17     5       got  I

  public void setPageSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int size
         0: .line 920
            iload 1 /* size */
            bipush 64
            if_icmplt 1
            iload 1 /* size */
            ldc 32768
            if_icmple 4
         1: .line 921
      StackMap locals:
      StackMap stack:
            ldc 90030
         2: .line 922
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " pageSize: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* size */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 921
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         4: .line 924
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* good */
        start local 2 // boolean good
         5: .line 925
            iconst_0
            istore 3 /* shift */
        start local 3 // int shift
         6: .line 926
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         7: goto 13
         8: .line 927
      StackMap locals: int int int
      StackMap stack:
            iload 1 /* size */
            iload 4 /* i */
            if_icmpne 11
         9: .line 928
            iconst_1
            istore 2 /* good */
        10: .line 929
            goto 14
        11: .line 931
      StackMap locals:
      StackMap stack:
            iinc 3 /* shift */ 1
        12: .line 932
            iload 4 /* i */
            iload 4 /* i */
            iadd
            istore 4 /* i */
        13: .line 926
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 1 /* size */
            if_icmple 8
        end local 4 // int i
        14: .line 934
      StackMap locals:
      StackMap stack:
            iload 2 /* good */
            ifne 16
        15: .line 935
            ldc 90030
            aload 0 /* this */
            getfield org.h2.store.PageStore.fileName:Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        16: .line 937
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            putfield org.h2.store.PageStore.pageSize:I
        17: .line 938
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
            putfield org.h2.store.PageStore.emptyPage:Lorg/h2/store/Data;
        18: .line 939
            aload 0 /* this */
            iload 3 /* shift */
            putfield org.h2.store.PageStore.pageSizeShift:I
        19: .line 940
            return
        end local 3 // int shift
        end local 2 // boolean good
        end local 1 // int size
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   this  Lorg/h2/store/PageStore;
            0   20     1   size  I
            5   20     2   good  Z
            6   20     3  shift  I
            7   14     4      i  I
    MethodParameters:
      Name  Flags
      size  

  private void writeStaticHeader();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 943
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            bipush 48
            isub
            newarray 8
            iconst_0
            invokestatic org.h2.store.Data.create:(Lorg/h2/store/DataHandler;[BZ)Lorg/h2/store/Data;
            astore 1 /* page */
        start local 1 // org.h2.store.Data page
         1: .line 944
            aload 1 /* page */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            invokevirtual org.h2.store.Data.writeInt:(I)V
         2: .line 945
            aload 1 /* page */
            iconst_3
            invokevirtual org.h2.store.Data.writeByte:(B)V
         3: .line 946
            aload 1 /* page */
            iconst_3
            invokevirtual org.h2.store.Data.writeByte:(B)V
         4: .line 947
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            ldc 48
            invokevirtual org.h2.store.FileStore.seek:(J)V
         5: .line 948
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            aload 1 /* page */
            invokevirtual org.h2.store.Data.getBytes:()[B
            iconst_0
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            bipush 48
            isub
            invokevirtual org.h2.store.FileStore.write:([BII)V
         6: .line 949
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.writeCount:J
            lconst_1
            ladd
            putfield org.h2.store.PageStore.writeCount:J
         7: .line 950
            return
        end local 1 // org.h2.store.Data page
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/h2/store/PageStore;
            1    8     1  page  Lorg/h2/store/Data;

  void setLogFirstPage(int, int, int);
    descriptor: (III)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.h2.store.PageStore this
        start local 1 // int logKey
        start local 2 // int trunkPageId
        start local 3 // int dataPageId
         0: .line 960
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
            ifeq 4
         1: .line 961
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            new java.lang.StringBuilder
            dup
            ldc "setLogFirstPage key: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* logKey */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         2: .line 962
            ldc " trunk: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* trunkPageId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " data: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* dataPageId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 961
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
         4: .line 964
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* logKey */
            putfield org.h2.store.PageStore.logKey:I
         5: .line 965
            aload 0 /* this */
            iload 2 /* trunkPageId */
            putfield org.h2.store.PageStore.logFirstTrunkPage:I
         6: .line 966
            aload 0 /* this */
            iload 3 /* dataPageId */
            putfield org.h2.store.PageStore.logFirstDataPage:I
         7: .line 967
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeVariableHeader:()V
         8: .line 968
            return
        end local 3 // int dataPageId
        end local 2 // int trunkPageId
        end local 1 // int logKey
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/h2/store/PageStore;
            0    9     1       logKey  I
            0    9     2  trunkPageId  I
            0    9     3   dataPageId  I
    MethodParameters:
             Name  Flags
      logKey       
      trunkPageId  
      dataPageId   

  private void writeVariableHeader();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 971
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            ldc "writeVariableHeader"
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
         1: .line 972
            aload 0 /* this */
            getfield org.h2.store.PageStore.logMode:I
            iconst_2
            if_icmpne 3
         2: .line 973
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            invokevirtual org.h2.store.FileStore.sync:()V
         3: .line 975
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
            astore 1 /* page */
        start local 1 // org.h2.store.Data page
         4: .line 976
            aload 1 /* page */
            iconst_0
            invokevirtual org.h2.store.Data.writeInt:(I)V
         5: .line 977
            aload 1 /* page */
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.getWriteCountTotal:()J
            invokevirtual org.h2.store.Data.writeLong:(J)V
         6: .line 978
            aload 1 /* page */
            aload 0 /* this */
            getfield org.h2.store.PageStore.logKey:I
            invokevirtual org.h2.store.Data.writeInt:(I)V
         7: .line 979
            aload 1 /* page */
            aload 0 /* this */
            getfield org.h2.store.PageStore.logFirstTrunkPage:I
            invokevirtual org.h2.store.Data.writeInt:(I)V
         8: .line 980
            aload 1 /* page */
            aload 0 /* this */
            getfield org.h2.store.PageStore.logFirstDataPage:I
            invokevirtual org.h2.store.Data.writeInt:(I)V
         9: .line 981
            new java.util.zip.CRC32
            dup
            invokespecial java.util.zip.CRC32.<init>:()V
            astore 2 /* crc */
        start local 2 // java.util.zip.CRC32 crc
        10: .line 982
            aload 2 /* crc */
            aload 1 /* page */
            invokevirtual org.h2.store.Data.getBytes:()[B
            iconst_4
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            iconst_4
            isub
            invokevirtual java.util.zip.CRC32.update:([BII)V
        11: .line 983
            aload 1 /* page */
            iconst_0
            aload 2 /* crc */
            invokevirtual java.util.zip.CRC32.getValue:()J
            l2i
            invokevirtual org.h2.store.Data.setInt:(II)V
        12: .line 984
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            i2l
            invokevirtual org.h2.store.FileStore.seek:(J)V
        13: .line 985
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            aload 1 /* page */
            invokevirtual org.h2.store.Data.getBytes:()[B
            iconst_0
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            invokevirtual org.h2.store.FileStore.write:([BII)V
        14: .line 986
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            iadd
            i2l
            invokevirtual org.h2.store.FileStore.seek:(J)V
        15: .line 987
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            aload 1 /* page */
            invokevirtual org.h2.store.Data.getBytes:()[B
            iconst_0
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            invokevirtual org.h2.store.FileStore.write:([BII)V
        16: .line 989
            return
        end local 2 // java.util.zip.CRC32 crc
        end local 1 // org.h2.store.Data page
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/h2/store/PageStore;
            4   17     1  page  Lorg/h2/store/Data;
           10   17     2   crc  Ljava/util/zip/CRC32;

  public synchronized void close();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 995
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            ldc "close"
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
         1: .line 996
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            ifnull 4
         2: .line 997
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.close:()V
         3: .line 998
            aload 0 /* this */
            aconst_null
            putfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
         4: .line 1000
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            ifnull 12
         5: .line 1002
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            invokevirtual org.h2.store.FileStore.releaseLock:()V
         6: .line 1003
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            invokevirtual org.h2.store.FileStore.close:()V
         7: .line 1004
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 1
         9: .line 1005
            aload 0 /* this */
            aconst_null
            putfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
        10: .line 1006
            aload 1
            athrow
        11: .line 1005
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
        12: .line 1008
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/h2/store/PageStore;
      Exception table:
        from    to  target  type
           5     8       8  any

  public synchronized void flushLog();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1012
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            ifnull 2
         1: .line 1013
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.flush:()V
         2: .line 1015
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/store/PageStore;

  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.store.PageStore this
         0: .line 1021
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            ifnull 3
         1: .line 1022
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.flush:()V
         2: .line 1023
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            invokevirtual org.h2.store.FileStore.sync:()V
         3: .line 1025
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/store/PageStore;

  public org.h2.message.Trace getTrace();
    descriptor: ()Lorg/h2/message/Trace;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1029
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            areturn
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/store/PageStore;

  public synchronized void writeBack(org.h2.util.CacheObject);
    descriptor: (Lorg/h2/util/CacheObject;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.util.CacheObject obj
         0: .line 1034
            aload 1 /* obj */
            checkcast org.h2.store.Page
            astore 2 /* record */
        start local 2 // org.h2.store.Page record
         1: .line 1035
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
            ifeq 3
         2: .line 1036
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            new java.lang.StringBuilder
            dup
            ldc "writeBack "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* record */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
         3: .line 1038
      StackMap locals: org.h2.store.Page
      StackMap stack:
            aload 2 /* record */
            invokevirtual org.h2.store.Page.write:()V
         4: .line 1039
            aload 2 /* record */
            iconst_0
            invokevirtual org.h2.store.Page.setChanged:(Z)V
         5: .line 1040
            return
        end local 2 // org.h2.store.Page record
        end local 1 // org.h2.util.CacheObject obj
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/h2/store/PageStore;
            0    6     1     obj  Lorg/h2/util/CacheObject;
            1    6     2  record  Lorg/h2/store/Page;
    MethodParameters:
      Name  Flags
      obj   

  public synchronized void logUndo(org.h2.store.Page, org.h2.store.Data);
    descriptor: (Lorg/h2/store/Page;Lorg/h2/store/Data;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.store.Page page
        start local 2 // org.h2.store.Data old
         0: .line 1049
            aload 0 /* this */
            getfield org.h2.store.PageStore.logMode:I
            ifne 2
         1: .line 1050
            return
         2: .line 1052
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.checkOpen:()V
         3: .line 1053
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.checkWritingAllowed:()V
         4: .line 1054
            aload 0 /* this */
            getfield org.h2.store.PageStore.recoveryRunning:Z
            ifne 11
         5: .line 1055
            aload 1 /* page */
            invokevirtual org.h2.store.Page.getPos:()I
            istore 3 /* pos */
        start local 3 // int pos
         6: .line 1056
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            iload 3 /* pos */
            invokevirtual org.h2.store.PageLog.getUndo:(I)Z
            ifne 11
         7: .line 1057
            aload 2 /* old */
            ifnonnull 9
         8: .line 1058
            aload 0 /* this */
            iload 3 /* pos */
            invokevirtual org.h2.store.PageStore.readPage:(I)Lorg/h2/store/Data;
            astore 2 /* old */
         9: .line 1060
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.openForWriting:()V
        10: .line 1061
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            iload 3 /* pos */
            aload 2 /* old */
            invokevirtual org.h2.store.PageLog.addUndo:(ILorg/h2/store/Data;)V
        end local 3 // int pos
        11: .line 1064
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.h2.store.Data old
        end local 1 // org.h2.store.Page page
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/h2/store/PageStore;
            0   12     1  page  Lorg/h2/store/Page;
            0   12     2   old  Lorg/h2/store/Data;
            6   11     3   pos  I
    MethodParameters:
      Name  Flags
      page  
      old   

  public synchronized void update(org.h2.store.Page);
    descriptor: (Lorg/h2/store/Page;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.store.Page page
         0: .line 1072
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
            ifeq 3
         1: .line 1073
            aload 1 /* page */
            invokevirtual org.h2.store.Page.isChanged:()Z
            ifne 3
         2: .line 1074
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            new java.lang.StringBuilder
            dup
            ldc "updateRecord "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* page */
            invokevirtual 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;
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
         3: .line 1077
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.checkOpen:()V
         4: .line 1078
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.checkWritingAllowed:()V
         5: .line 1079
            aload 1 /* page */
            iconst_1
            invokevirtual org.h2.store.Page.setChanged:(Z)V
         6: .line 1080
            aload 1 /* page */
            invokevirtual org.h2.store.Page.getPos:()I
            istore 2 /* pos */
        start local 2 // int pos
         7: .line 1081
            getstatic org.h2.engine.SysProperties.CHECK:Z
            ifeq 10
            aload 0 /* this */
            getfield org.h2.store.PageStore.recoveryRunning:Z
            ifne 10
         8: .line 1083
            aload 0 /* this */
            getfield org.h2.store.PageStore.logMode:I
            ifeq 10
         9: .line 1084
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            iload 2 /* pos */
            aconst_null
            invokevirtual org.h2.store.PageLog.addUndo:(ILorg/h2/store/Data;)V
        10: .line 1087
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* pos */
            invokevirtual org.h2.store.PageStore.allocatePage:(I)V
        11: .line 1088
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            iload 2 /* pos */
            aload 1 /* page */
            invokeinterface org.h2.util.Cache.update:(ILorg/h2/util/CacheObject;)Lorg/h2/util/CacheObject;
            pop
        12: .line 1089
            return
        end local 2 // int pos
        end local 1 // org.h2.store.Page page
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/h2/store/PageStore;
            0   13     1  page  Lorg/h2/store/Page;
            7   13     2   pos  I
    MethodParameters:
      Name  Flags
      page  

  private int getFreeListId(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pageId
         0: .line 1092
            iload 1 /* pageId */
            iconst_3
            isub
            aload 0 /* this */
            getfield org.h2.store.PageStore.freeListPagesPerList:I
            idiv
            ireturn
        end local 1 // int pageId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/h2/store/PageStore;
            0    1     1  pageId  I
    MethodParameters:
        Name  Flags
      pageId  

  private org.h2.store.PageFreeList getFreeListForPage(int);
    descriptor: (I)Lorg/h2/store/PageFreeList;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pageId
         0: .line 1096
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* pageId */
            invokevirtual org.h2.store.PageStore.getFreeListId:(I)I
            invokevirtual org.h2.store.PageStore.getFreeList:(I)Lorg/h2/store/PageFreeList;
            areturn
        end local 1 // int pageId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/h2/store/PageStore;
            0    1     1  pageId  I
    MethodParameters:
        Name  Flags
      pageId  

  private org.h2.store.PageFreeList getFreeList(int);
    descriptor: (I)Lorg/h2/store/PageFreeList;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int i
         0: .line 1100
            aconst_null
            astore 2 /* list */
        start local 2 // org.h2.store.PageFreeList list
         1: .line 1101
            iload 1 /* i */
            aload 0 /* this */
            getfield org.h2.store.PageStore.freeLists:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmpge 5
         2: .line 1102
            aload 0 /* this */
            getfield org.h2.store.PageStore.freeLists:Ljava/util/ArrayList;
            iload 1 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.h2.store.PageFreeList
            astore 2 /* list */
         3: .line 1103
            aload 2 /* list */
            ifnull 5
         4: .line 1104
            aload 2 /* list */
            areturn
         5: .line 1107
      StackMap locals: org.h2.store.PageFreeList
      StackMap stack:
            iconst_3
            iload 1 /* i */
            aload 0 /* this */
            getfield org.h2.store.PageStore.freeListPagesPerList:I
            imul
            iadd
            istore 3 /* p */
        start local 3 // int p
         6: .line 1108
            goto 8
         7: .line 1109
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.increaseFileSize:()V
         8: .line 1108
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            if_icmpge 7
         9: .line 1111
            iload 3 /* p */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            if_icmpge 11
        10: .line 1112
            aload 0 /* this */
            iload 3 /* p */
            invokevirtual org.h2.store.PageStore.getPage:(I)Lorg/h2/store/Page;
            checkcast org.h2.store.PageFreeList
            astore 2 /* list */
        11: .line 1114
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            ifnonnull 16
        12: .line 1115
            aload 0 /* this */
            iload 3 /* p */
            invokestatic org.h2.store.PageFreeList.create:(Lorg/h2/store/PageStore;I)Lorg/h2/store/PageFreeList;
            astore 2 /* list */
        13: .line 1116
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            aload 2 /* list */
            invokeinterface org.h2.util.Cache.put:(Lorg/h2/util/CacheObject;)V
        14: .line 1118
            goto 16
        15: .line 1119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.freeLists:Ljava/util/ArrayList;
            aconst_null
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.freeLists:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iload 1 /* i */
            if_icmple 15
        17: .line 1121
            aload 0 /* this */
            getfield org.h2.store.PageStore.freeLists:Ljava/util/ArrayList;
            iload 1 /* i */
            aload 2 /* list */
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 1122
            aload 2 /* list */
            areturn
        end local 3 // int p
        end local 2 // org.h2.store.PageFreeList list
        end local 1 // int i
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/h2/store/PageStore;
            0   19     1     i  I
            1   19     2  list  Lorg/h2/store/PageFreeList;
            6   19     3     p  I
    MethodParameters:
      Name  Flags
      i     

  private void freePage(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pageId
         0: .line 1126
            aload 0 /* this */
            iload 1 /* pageId */
            invokevirtual org.h2.store.PageStore.getFreeListId:(I)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 1127
            aload 0 /* this */
            iload 2 /* index */
            invokevirtual org.h2.store.PageStore.getFreeList:(I)Lorg/h2/store/PageFreeList;
            astore 3 /* list */
        start local 3 // org.h2.store.PageFreeList list
         2: .line 1128
            aload 0 /* this */
            iload 2 /* index */
            aload 0 /* this */
            getfield org.h2.store.PageStore.firstFreeListIndex:I
            invokestatic java.lang.Math.min:(II)I
            putfield org.h2.store.PageStore.firstFreeListIndex:I
         3: .line 1129
            aload 3 /* list */
            iload 1 /* pageId */
            invokevirtual org.h2.store.PageFreeList.free:(I)V
         4: .line 1130
            return
        end local 3 // org.h2.store.PageFreeList list
        end local 2 // int index
        end local 1 // int pageId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/h2/store/PageStore;
            0    5     1  pageId  I
            1    5     2   index  I
            2    5     3    list  Lorg/h2/store/PageFreeList;
    MethodParameters:
        Name  Flags
      pageId  

  void allocatePage(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pageId
         0: .line 1138
            aload 0 /* this */
            iload 1 /* pageId */
            invokevirtual org.h2.store.PageStore.getFreeListForPage:(I)Lorg/h2/store/PageFreeList;
            astore 2 /* list */
        start local 2 // org.h2.store.PageFreeList list
         1: .line 1139
            aload 2 /* list */
            iload 1 /* pageId */
            invokevirtual org.h2.store.PageFreeList.allocate:(I)V
         2: .line 1140
            return
        end local 2 // org.h2.store.PageFreeList list
        end local 1 // int pageId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/h2/store/PageStore;
            0    3     1  pageId  I
            1    3     2    list  Lorg/h2/store/PageFreeList;
    MethodParameters:
        Name  Flags
      pageId  

  private boolean isUsed(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pageId
         0: .line 1143
            aload 0 /* this */
            iload 1 /* pageId */
            invokevirtual org.h2.store.PageStore.getFreeListForPage:(I)Lorg/h2/store/PageFreeList;
            iload 1 /* pageId */
            invokevirtual org.h2.store.PageFreeList.isUsed:(I)Z
            ireturn
        end local 1 // int pageId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/h2/store/PageStore;
            0    1     1  pageId  I
    MethodParameters:
        Name  Flags
      pageId  

  void allocatePages(org.h2.util.IntArray, int, java.util.BitSet, int);
    descriptor: (Lorg/h2/util/IntArray;ILjava/util/BitSet;I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.util.IntArray list
        start local 2 // int pagesToAllocate
        start local 3 // java.util.BitSet exclude
        start local 4 // int after
         0: .line 1156
            aload 1 /* list */
            aload 1 /* list */
            invokevirtual org.h2.util.IntArray.size:()I
            iload 2 /* pagesToAllocate */
            iadd
            invokevirtual org.h2.util.IntArray.ensureCapacity:(I)V
         1: .line 1157
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 7
         3: .line 1158
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* exclude */
            iload 4 /* after */
            invokevirtual org.h2.store.PageStore.allocatePage:(Ljava/util/BitSet;I)I
            istore 6 /* page */
        start local 6 // int page
         4: .line 1159
            iload 6 /* page */
            istore 4 /* after */
         5: .line 1160
            aload 1 /* list */
            iload 6 /* page */
            invokevirtual org.h2.util.IntArray.add:(I)V
        end local 6 // int page
         6: .line 1157
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            iload 2 /* pagesToAllocate */
            if_icmplt 3
        end local 5 // int i
         8: .line 1162
            return
        end local 4 // int after
        end local 3 // java.util.BitSet exclude
        end local 2 // int pagesToAllocate
        end local 1 // org.h2.util.IntArray list
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lorg/h2/store/PageStore;
            0    9     1             list  Lorg/h2/util/IntArray;
            0    9     2  pagesToAllocate  I
            0    9     3          exclude  Ljava/util/BitSet;
            0    9     4            after  I
            2    8     5                i  I
            4    6     6             page  I
    MethodParameters:
                 Name  Flags
      list             
      pagesToAllocate  
      exclude          
      after            

  public synchronized int allocatePage();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1170
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.openForWriting:()V
         1: .line 1171
            aload 0 /* this */
            aconst_null
            iconst_0
            invokevirtual org.h2.store.PageStore.allocatePage:(Ljava/util/BitSet;I)I
            istore 1 /* pos */
        start local 1 // int pos
         2: .line 1172
            aload 0 /* this */
            getfield org.h2.store.PageStore.recoveryRunning:Z
            ifne 5
         3: .line 1173
            aload 0 /* this */
            getfield org.h2.store.PageStore.logMode:I
            ifeq 5
         4: .line 1174
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            iload 1 /* pos */
            aload 0 /* this */
            getfield org.h2.store.PageStore.emptyPage:Lorg/h2/store/Data;
            invokevirtual org.h2.store.PageLog.addUndo:(ILorg/h2/store/Data;)V
         5: .line 1177
      StackMap locals: int
      StackMap stack:
            iload 1 /* pos */
            ireturn
        end local 1 // int pos
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/store/PageStore;
            2    6     1   pos  I

  private int allocatePage(java.util.BitSet, int);
    descriptor: (Ljava/util/BitSet;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // java.util.BitSet exclude
        start local 2 // int first
         0: .line 1182
            aload 0 /* this */
            getfield org.h2.store.PageStore.firstFreeListIndex:I
            istore 4 /* i */
        start local 4 // int i
         1: .line 1183
      StackMap locals: org.h2.store.PageStore java.util.BitSet int top int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual org.h2.store.PageStore.getFreeList:(I)Lorg/h2/store/PageFreeList;
            astore 5 /* list */
        start local 5 // org.h2.store.PageFreeList list
         2: .line 1184
            aload 5 /* list */
            aload 1 /* exclude */
            iload 2 /* first */
            invokevirtual org.h2.store.PageFreeList.allocate:(Ljava/util/BitSet;I)I
            istore 3 /* page */
        start local 3 // int page
         3: .line 1185
            iload 3 /* page */
            iflt 6
         4: .line 1186
            aload 0 /* this */
            iload 4 /* i */
            putfield org.h2.store.PageStore.firstFreeListIndex:I
         5: .line 1187
            goto 9
        end local 5 // org.h2.store.PageFreeList list
         6: .line 1182
      StackMap locals: org.h2.store.PageStore java.util.BitSet int int int
      StackMap stack:
            iinc 4 /* i */ 1
        end local 3 // int page
         7: goto 1
        end local 4 // int i
        start local 3 // int page
         8: .line 1191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.increaseFileSize:()V
         9: .line 1190
      StackMap locals:
      StackMap stack:
            iload 3 /* page */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            if_icmpge 8
        10: .line 1193
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
            pop
        11: .line 1196
            iload 3 /* page */
            ireturn
        end local 3 // int page
        end local 2 // int first
        end local 1 // java.util.BitSet exclude
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/h2/store/PageStore;
            0   12     1  exclude  Ljava/util/BitSet;
            0   12     2    first  I
            3    7     3     page  I
            8   12     3     page  I
            1    8     4        i  I
            2    6     5     list  Lorg/h2/store/PageFreeList;
    MethodParameters:
         Name  Flags
      exclude  
      first    

  private void increaseFileSize();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1200
            ldc 1048576
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            idiv
            istore 1 /* increment */
        start local 1 // int increment
         1: .line 1201
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            bipush 35
            imul
            bipush 100
            idiv
            istore 2 /* percent */
        start local 2 // int percent
         2: .line 1202
            iload 1 /* increment */
            iload 2 /* percent */
            if_icmpge 4
         3: .line 1203
            iconst_1
            iload 2 /* percent */
            iload 1 /* increment */
            idiv
            iadd
            iload 1 /* increment */
            imul
            istore 1 /* increment */
         4: .line 1205
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.getSettings:()Lorg/h2/engine/DbSettings;
            getfield org.h2.engine.DbSettings.pageStoreMaxGrowth:I
            istore 3 /* max */
        start local 3 // int max
         5: .line 1206
            iload 3 /* max */
            iload 1 /* increment */
            if_icmpge 7
         6: .line 1207
            iload 3 /* max */
            istore 1 /* increment */
         7: .line 1209
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* increment */
            invokevirtual org.h2.store.PageStore.increaseFileSize:(I)V
         8: .line 1210
            return
        end local 3 // int max
        end local 2 // int percent
        end local 1 // int increment
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/h2/store/PageStore;
            1    9     1  increment  I
            2    9     2    percent  I
            5    9     3        max  I

  private void increaseFileSize(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int increment
         0: .line 1213
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            istore 2 /* i */
        start local 2 // int i
         1: goto 4
         2: .line 1214
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.freed:Ljava/util/BitSet;
            iload 2 /* i */
            invokevirtual java.util.BitSet.set:(I)V
         3: .line 1213
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* i */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            iload 1 /* increment */
            iadd
            if_icmplt 2
        end local 2 // int i
         5: .line 1216
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.pageCount:I
            iload 1 /* increment */
            iadd
            putfield org.h2.store.PageStore.pageCount:I
         6: .line 1217
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            i2l
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSizeShift:I
            lshl
            lstore 2 /* newLength */
        start local 2 // long newLength
         7: .line 1218
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            lload 2 /* newLength */
            invokevirtual org.h2.store.FileStore.setLength:(J)V
         8: .line 1219
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.writeCount:J
            lconst_1
            ladd
            putfield org.h2.store.PageStore.writeCount:J
         9: .line 1220
            aload 0 /* this */
            lload 2 /* newLength */
            putfield org.h2.store.PageStore.fileLength:J
        10: .line 1221
            return
        end local 2 // long newLength
        end local 1 // int increment
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/h2/store/PageStore;
            0   11     1  increment  I
            1    5     2          i  I
            7   11     2  newLength  J
    MethodParameters:
           Name  Flags
      increment  

  public synchronized void free(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pageId
         0: .line 1229
            aload 0 /* this */
            iload 1 /* pageId */
            iconst_1
            invokevirtual org.h2.store.PageStore.free:(IZ)V
         1: .line 1230
            return
        end local 1 // int pageId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/h2/store/PageStore;
            0    2     1  pageId  I
    MethodParameters:
        Name  Flags
      pageId  

  void free(int, boolean);
    descriptor: (IZ)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pageId
        start local 2 // boolean undo
         0: .line 1239
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
            pop
         1: .line 1242
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            iload 1 /* pageId */
            invokeinterface org.h2.util.Cache.remove:(I)Z
            pop
         2: .line 1243
            getstatic org.h2.engine.SysProperties.CHECK:Z
            ifeq 5
            aload 0 /* this */
            getfield org.h2.store.PageStore.recoveryRunning:Z
            ifne 5
            iload 2 /* undo */
            ifeq 5
         3: .line 1245
            aload 0 /* this */
            getfield org.h2.store.PageStore.logMode:I
            ifeq 5
         4: .line 1246
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            iload 1 /* pageId */
            aconst_null
            invokevirtual org.h2.store.PageLog.addUndo:(ILorg/h2/store/Data;)V
         5: .line 1249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pageId */
            invokevirtual org.h2.store.PageStore.freePage:(I)V
         6: .line 1250
            aload 0 /* this */
            getfield org.h2.store.PageStore.recoveryRunning:Z
            ifeq 12
         7: .line 1251
            aload 0 /* this */
            iload 1 /* pageId */
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
            invokevirtual org.h2.store.PageStore.writePage:(ILorg/h2/store/Data;)V
         8: .line 1252
            aload 0 /* this */
            getfield org.h2.store.PageStore.reservedPages:Ljava/util/HashMap;
            ifnull 12
            aload 0 /* this */
            getfield org.h2.store.PageStore.reservedPages:Ljava/util/HashMap;
            iload 1 /* pageId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 12
         9: .line 1254
            aload 0 /* this */
            getfield org.h2.store.PageStore.reservedPages:Ljava/util/HashMap;
            iload 1 /* pageId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* latestPos */
        start local 3 // int latestPos
        10: .line 1255
            iload 3 /* latestPos */
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.getLogPos:()I
            if_icmple 12
        11: .line 1256
            aload 0 /* this */
            iload 1 /* pageId */
            invokevirtual org.h2.store.PageStore.allocatePage:(I)V
        end local 3 // int latestPos
        12: .line 1260
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean undo
        end local 1 // int pageId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/h2/store/PageStore;
            0   13     1     pageId  I
            0   13     2       undo  Z
           10   12     3  latestPos  I
    MethodParameters:
        Name  Flags
      pageId  
      undo    

  void freeUnused(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pageId
         0: .line 1269
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
            ifeq 2
         1: .line 1270
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            new java.lang.StringBuilder
            dup
            ldc "freeUnused "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* pageId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
         2: .line 1272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            iload 1 /* pageId */
            invokeinterface org.h2.util.Cache.remove:(I)Z
            pop
         3: .line 1273
            aload 0 /* this */
            iload 1 /* pageId */
            invokevirtual org.h2.store.PageStore.freePage:(I)V
         4: .line 1274
            aload 0 /* this */
            getfield org.h2.store.PageStore.freed:Ljava/util/BitSet;
            iload 1 /* pageId */
            invokevirtual java.util.BitSet.set:(I)V
         5: .line 1275
            return
        end local 1 // int pageId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/h2/store/PageStore;
            0    6     1  pageId  I
    MethodParameters:
        Name  Flags
      pageId  

  public org.h2.store.Data createData();
    descriptor: ()Lorg/h2/store/Data;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1283
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            newarray 8
            iconst_0
            invokestatic org.h2.store.Data.create:(Lorg/h2/store/DataHandler;[BZ)Lorg/h2/store/Data;
            areturn
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/store/PageStore;

  public synchronized org.h2.store.Data readPage(int);
    descriptor: (I)Lorg/h2/store/Data;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pos
         0: .line 1293
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
            astore 2 /* page */
        start local 2 // org.h2.store.Data page
         1: .line 1294
            aload 0 /* this */
            iload 1 /* pos */
            aload 2 /* page */
            invokevirtual org.h2.store.PageStore.readPage:(ILorg/h2/store/Data;)V
         2: .line 1295
            aload 2 /* page */
            areturn
        end local 2 // org.h2.store.Data page
        end local 1 // int pos
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/store/PageStore;
            0    3     1   pos  I
            1    3     2  page  Lorg/h2/store/Data;
    MethodParameters:
      Name  Flags
      pos   

  void readPage(int, org.h2.store.Data);
    descriptor: (ILorg/h2/store/Data;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pos
        start local 2 // org.h2.store.Data page
         0: .line 1305
            aload 0 /* this */
            getfield org.h2.store.PageStore.recordPageReads:Z
            ifeq 5
         1: .line 1306
            iload 1 /* pos */
            iconst_5
            if_icmplt 5
         2: .line 1307
            aload 0 /* this */
            getfield org.h2.store.PageStore.recordedPagesIndex:Lorg/h2/util/IntIntHashMap;
            iload 1 /* pos */
            invokevirtual org.h2.util.IntIntHashMap.get:(I)I
            iconst_m1
            if_icmpne 5
         3: .line 1308
            aload 0 /* this */
            getfield org.h2.store.PageStore.recordedPagesIndex:Lorg/h2/util/IntIntHashMap;
            iload 1 /* pos */
            aload 0 /* this */
            getfield org.h2.store.PageStore.recordedPagesList:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            invokevirtual org.h2.util.IntIntHashMap.put:(II)V
         4: .line 1309
            aload 0 /* this */
            getfield org.h2.store.PageStore.recordedPagesList:Ljava/util/ArrayList;
            iload 1 /* pos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1312
      StackMap locals:
      StackMap stack:
            iload 1 /* pos */
            iflt 6
            iload 1 /* pos */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            if_icmplt 9
         6: .line 1313
      StackMap locals:
      StackMap stack:
            ldc 90030
            new java.lang.StringBuilder
            dup
            iload 1 /* pos */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 1314
            ldc " of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1313
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         9: .line 1316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            iload 1 /* pos */
            i2l
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSizeShift:I
            lshl
            invokevirtual org.h2.store.FileStore.seek:(J)V
        10: .line 1317
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            aload 2 /* page */
            invokevirtual org.h2.store.Data.getBytes:()[B
            iconst_0
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            invokevirtual org.h2.store.FileStore.readFully:([BII)V
        11: .line 1318
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.readCount:J
            lconst_1
            ladd
            putfield org.h2.store.PageStore.readCount:J
        12: .line 1319
            return
        end local 2 // org.h2.store.Data page
        end local 1 // int pos
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/h2/store/PageStore;
            0   13     1   pos  I
            0   13     2  page  Lorg/h2/store/Data;
    MethodParameters:
      Name  Flags
      pos   
      page  

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

  public int getPageCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1336
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageCount:I
            ireturn
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/store/PageStore;

  public synchronized void writePage(int, org.h2.store.Data);
    descriptor: (ILorg/h2/store/Data;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pageId
        start local 2 // org.h2.store.Data data
         0: .line 1346
            iload 1 /* pageId */
            ifgt 2
         1: .line 1347
            new java.lang.StringBuilder
            dup
            ldc "write to page "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* pageId */
            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;
            pop
         2: .line 1349
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            invokevirtual org.h2.store.Data.getBytes:()[B
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         3: .line 1350
            getstatic org.h2.engine.SysProperties.CHECK:Z
            ifeq 14
         4: .line 1351
            iload 1 /* pageId */
            iconst_3
            isub
         5: .line 1352
            aload 0 /* this */
            getfield org.h2.store.PageStore.freeListPagesPerList:I
         6: .line 1351
            irem
            ifne 7
            iconst_1
            goto 8
      StackMap locals: byte[]
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 4 /* shouldBeFreeList */
        start local 4 // boolean shouldBeFreeList
         9: .line 1353
            aload 3 /* bytes */
            iconst_0
            baload
            bipush 6
            if_icmpne 10
            iconst_1
            goto 11
      StackMap locals: int
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 5 /* isFreeList */
        start local 5 // boolean isFreeList
        12: .line 1354
            aload 3 /* bytes */
            iconst_0
            baload
            ifeq 14
            iload 4 /* shouldBeFreeList */
            iload 5 /* isFreeList */
            if_icmpeq 14
        13: .line 1355
            invokestatic org.h2.message.DbException.throwInternalError:()Ljava/lang/RuntimeException;
            athrow
        end local 5 // boolean isFreeList
        end local 4 // boolean shouldBeFreeList
        14: .line 1358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* bytes */
            iload 1 /* pageId */
            invokevirtual org.h2.store.PageStore.checksumSet:([BI)V
        15: .line 1359
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            iload 1 /* pageId */
            i2l
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSizeShift:I
            lshl
            invokevirtual org.h2.store.FileStore.seek:(J)V
        16: .line 1360
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            aload 3 /* bytes */
            iconst_0
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            invokevirtual org.h2.store.FileStore.write:([BII)V
        17: .line 1361
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.writeCount:J
            lconst_1
            ladd
            putfield org.h2.store.PageStore.writeCount:J
        18: .line 1362
            return
        end local 3 // byte[] bytes
        end local 2 // org.h2.store.Data data
        end local 1 // int pageId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   19     0              this  Lorg/h2/store/PageStore;
            0   19     1            pageId  I
            0   19     2              data  Lorg/h2/store/Data;
            3   19     3             bytes  [B
            9   14     4  shouldBeFreeList  Z
           12   14     5        isFreeList  Z
    MethodParameters:
        Name  Flags
      pageId  
      data    

  public synchronized void removeFromCache(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int pageId
         0: .line 1370
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            iload 1 /* pageId */
            invokeinterface org.h2.util.Cache.remove:(I)Z
            pop
         1: .line 1371
            return
        end local 1 // int pageId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/h2/store/PageStore;
            0    2     1  pageId  I
    MethodParameters:
        Name  Flags
      pageId  

  org.h2.engine.Database getDatabase();
    descriptor: ()Lorg/h2/engine/Database;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1374
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            areturn
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/store/PageStore;

  private boolean recover();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1383
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            ldc "log recover"
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
         1: .line 1384
            aload 0 /* this */
            iconst_1
            putfield org.h2.store.PageStore.recoveryRunning:Z
         2: .line 1385
            iconst_1
            istore 1 /* isEmpty */
        start local 1 // boolean isEmpty
         3: .line 1386
            iload 1 /* isEmpty */
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            iconst_0
            invokevirtual org.h2.store.PageLog.recover:(I)Z
            iand
            istore 1 /* isEmpty */
         4: .line 1387
            aload 0 /* this */
            getfield org.h2.store.PageStore.reservedPages:Ljava/util/HashMap;
            ifnull 11
         5: .line 1388
            aload 0 /* this */
            getfield org.h2.store.PageStore.reservedPages:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: org.h2.store.PageStore int top java.util.Iterator
      StackMap stack:
         6: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 2 /* r */
        start local 2 // int r
         7: .line 1389
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
            ifeq 9
         8: .line 1390
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            new java.lang.StringBuilder
            dup
            ldc "reserve "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* r */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
         9: .line 1392
      StackMap locals: org.h2.store.PageStore int int java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            iload 2 /* r */
            invokevirtual org.h2.store.PageStore.allocatePage:(I)V
        end local 2 // int r
        10: .line 1388
      StackMap locals: org.h2.store.PageStore int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        11: .line 1395
      StackMap locals: org.h2.store.PageStore int
      StackMap stack:
            iload 1 /* isEmpty */
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            iconst_1
            invokevirtual org.h2.store.PageLog.recover:(I)Z
            iand
            istore 1 /* isEmpty */
        12: .line 1396
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.openMetaIndex:()V
        13: .line 1397
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.readMetaData:()V
        14: .line 1398
            iload 1 /* isEmpty */
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            iconst_2
            invokevirtual org.h2.store.PageLog.recover:(I)Z
            iand
            istore 1 /* isEmpty */
        15: .line 1399
            iconst_0
            istore 2 /* setReadOnly */
        start local 2 // boolean setReadOnly
        16: .line 1400
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.isReadOnly:()Z
            ifne 23
        17: .line 1401
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.getInDoubtTransactions:()Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifeq 22
        18: .line 1402
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.recoverEnd:()V
        19: .line 1403
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.getFirstUncommittedSection:()I
            istore 3 /* firstUncommittedSection */
        start local 3 // int firstUncommittedSection
        20: .line 1404
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            iload 3 /* firstUncommittedSection */
            invokevirtual org.h2.store.PageLog.removeUntil:(I)V
        end local 3 // int firstUncommittedSection
        21: .line 1405
            goto 23
        22: .line 1406
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 2 /* setReadOnly */
        23: .line 1409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.index.PageDataIndex
            astore 3 /* systemTable */
        start local 3 // org.h2.index.PageDataIndex systemTable
        24: .line 1410
            aload 0 /* this */
            aload 3 /* systemTable */
            ifnonnull 25
            iconst_1
            goto 26
      StackMap locals: org.h2.store.PageStore int int org.h2.index.PageDataIndex
      StackMap stack: org.h2.store.PageStore
        25: iconst_0
      StackMap locals: org.h2.store.PageStore int int org.h2.index.PageDataIndex
      StackMap stack: org.h2.store.PageStore int
        26: putfield org.h2.store.PageStore.isNew:Z
        27: .line 1411
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 35
      StackMap locals: org.h2.store.PageStore int int org.h2.index.PageDataIndex top java.util.Iterator
      StackMap stack:
        28: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.index.PageIndex
            astore 4 /* index */
        start local 4 // org.h2.index.PageIndex index
        29: .line 1412
            aload 4 /* index */
            invokevirtual org.h2.index.PageIndex.getTable:()Lorg/h2/table/Table;
            invokevirtual org.h2.table.Table.isTemporary:()Z
            ifeq 34
        30: .line 1414
            aload 0 /* this */
            getfield org.h2.store.PageStore.tempObjects:Ljava/util/HashMap;
            ifnonnull 32
        31: .line 1415
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.store.PageStore.tempObjects:Ljava/util/HashMap;
        32: .line 1417
      StackMap locals: org.h2.store.PageStore int int org.h2.index.PageDataIndex org.h2.index.PageIndex java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.tempObjects:Ljava/util/HashMap;
            aload 4 /* index */
            invokevirtual org.h2.index.PageIndex.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* index */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 1418
            goto 35
        34: .line 1419
      StackMap locals:
      StackMap stack:
            aload 4 /* index */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.index.PageIndex.close:(Lorg/h2/engine/Session;)V
        end local 4 // org.h2.index.PageIndex index
        35: .line 1411
      StackMap locals: org.h2.store.PageStore int int org.h2.index.PageDataIndex top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        36: .line 1423
            aload 0 /* this */
            iconst_4
            invokevirtual org.h2.store.PageStore.allocatePage:(I)V
        37: .line 1424
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeIndexRowCounts:()V
        38: .line 1425
            aload 0 /* this */
            iconst_0
            putfield org.h2.store.PageStore.recoveryRunning:Z
        39: .line 1426
            aload 0 /* this */
            aconst_null
            putfield org.h2.store.PageStore.reservedPages:Ljava/util/HashMap;
        40: .line 1428
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.writeBack:()V
        41: .line 1430
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            invokeinterface org.h2.util.Cache.clear:()V
        42: .line 1431
            aload 0 /* this */
            getfield org.h2.store.PageStore.freeLists:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
        43: .line 1433
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
        44: .line 1434
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaIndex:Lorg/h2/index/PageDataIndex;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        45: .line 1436
            iload 2 /* setReadOnly */
            ifeq 47
        46: .line 1437
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            iconst_1
            invokevirtual org.h2.engine.Database.setReadOnly:(Z)V
        47: .line 1439
      StackMap locals: org.h2.store.PageStore int int org.h2.index.PageDataIndex
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            ldc "log recover done"
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
        48: .line 1440
            iload 1 /* isEmpty */
            ireturn
        end local 3 // org.h2.index.PageDataIndex systemTable
        end local 2 // boolean setReadOnly
        end local 1 // boolean isEmpty
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   49     0                     this  Lorg/h2/store/PageStore;
            3   49     1                  isEmpty  Z
            7   10     2                        r  I
           16   49     2              setReadOnly  Z
           20   21     3  firstUncommittedSection  I
           24   49     3              systemTable  Lorg/h2/index/PageDataIndex;
           29   35     4                    index  Lorg/h2/index/PageIndex;

  public synchronized void logAddOrRemoveRow(org.h2.engine.Session, int, org.h2.result.Row, boolean);
    descriptor: (Lorg/h2/engine/Session;ILorg/h2/result/Row;Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.engine.Session session
        start local 2 // int tableId
        start local 3 // org.h2.result.Row row
        start local 4 // boolean add
         0: .line 1453
            aload 0 /* this */
            getfield org.h2.store.PageStore.logMode:I
            ifeq 3
         1: .line 1454
            aload 0 /* this */
            getfield org.h2.store.PageStore.recoveryRunning:Z
            ifne 3
         2: .line 1455
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            aload 1 /* session */
            iload 2 /* tableId */
            aload 3 /* row */
            iload 4 /* add */
            invokevirtual org.h2.store.PageLog.logAddOrRemoveRow:(Lorg/h2/engine/Session;ILorg/h2/result/Row;Z)V
         3: .line 1458
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean add
        end local 3 // org.h2.result.Row row
        end local 2 // int tableId
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/h2/store/PageStore;
            0    4     1  session  Lorg/h2/engine/Session;
            0    4     2  tableId  I
            0    4     3      row  Lorg/h2/result/Row;
            0    4     4      add  Z
    MethodParameters:
         Name  Flags
      session  
      tableId  
      row      
      add      

  public synchronized void commit(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.engine.Session session
         0: .line 1466
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.checkOpen:()V
         1: .line 1467
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.openForWriting:()V
         2: .line 1468
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            aload 1 /* session */
            invokevirtual org.h2.engine.Session.getId:()I
            invokevirtual org.h2.store.PageLog.commit:(I)V
         3: .line 1469
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.getSize:()J
            lstore 2 /* size */
        start local 2 // long size
         4: .line 1470
            lload 2 /* size */
            aload 0 /* this */
            getfield org.h2.store.PageStore.logSizeBase:J
            lsub
            aload 0 /* this */
            getfield org.h2.store.PageStore.maxLogSize:J
            ldc 2
            ldiv
            lcmp
            ifle 22
         5: .line 1471
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.getLogFirstSectionId:()I
            istore 4 /* firstSection */
        start local 4 // int firstSection
         6: .line 1472
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.checkpoint:()V
         7: .line 1473
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.getLogSectionId:()I
            istore 5 /* newSection */
        start local 5 // int newSection
         8: .line 1474
            iload 5 /* newSection */
            iload 4 /* firstSection */
            isub
            iconst_2
            if_icmpgt 10
         9: .line 1477
            return
        10: .line 1479
      StackMap locals: long int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.getSize:()J
            lstore 6 /* newSize */
        start local 6 // long newSize
        11: .line 1480
            lload 6 /* newSize */
            lload 2 /* size */
            lcmp
            iflt 12
            lload 2 /* size */
            aload 0 /* this */
            getfield org.h2.store.PageStore.maxLogSize:J
            lcmp
            ifge 14
        12: .line 1481
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.h2.store.PageStore.ignoreBigLog:Z
        13: .line 1482
            return
        14: .line 1484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.ignoreBigLog:Z
            ifne 21
        15: .line 1485
            aload 0 /* this */
            iconst_1
            putfield org.h2.store.PageStore.ignoreBigLog:Z
        16: .line 1486
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            aconst_null
        17: .line 1487
            new java.lang.StringBuilder
            dup
            ldc "Transaction log could not be truncated; size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 1488
            lload 6 /* newSize */
            ldc 1024
            ldiv
            ldc 1024
            ldiv
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " MB"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 1487
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 1486
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
        21: .line 1490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.getSize:()J
            putfield org.h2.store.PageStore.logSizeBase:J
        end local 6 // long newSize
        end local 5 // int newSection
        end local 4 // int firstSection
        22: .line 1492
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long size
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lorg/h2/store/PageStore;
            0   23     1       session  Lorg/h2/engine/Session;
            4   23     2          size  J
            6   22     4  firstSection  I
            8   22     5    newSection  I
           11   22     6       newSize  J
    MethodParameters:
         Name  Flags
      session  

  public synchronized void prepareCommit(org.h2.engine.Session, java.lang.String);
    descriptor: (Lorg/h2/engine/Session;Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.engine.Session session
        start local 2 // java.lang.String transaction
         0: .line 1501
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            aload 1 /* session */
            aload 2 /* transaction */
            invokevirtual org.h2.store.PageLog.prepareCommit:(Lorg/h2/engine/Session;Ljava/lang/String;)V
         1: .line 1502
            return
        end local 2 // java.lang.String transaction
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/h2/store/PageStore;
            0    2     1      session  Lorg/h2/engine/Session;
            0    2     2  transaction  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      session      
      transaction  

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

  void allocateIfIndexRoot(int, int, org.h2.result.Row);
    descriptor: (IILorg/h2/result/Row;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.h2.store.PageStore this
        start local 1 // int logPos
        start local 2 // int tableId
        start local 3 // org.h2.result.Row row
         0: .line 1521
            iload 2 /* tableId */
            iconst_m1
            if_icmpne 5
         1: .line 1522
            aload 3 /* row */
            iconst_3
            invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getInt:()I
            istore 4 /* rootPageId */
        start local 4 // int rootPageId
         2: .line 1523
            aload 0 /* this */
            getfield org.h2.store.PageStore.reservedPages:Ljava/util/HashMap;
            ifnonnull 4
         3: .line 1524
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.store.PageStore.reservedPages:Ljava/util/HashMap;
         4: .line 1526
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.reservedPages:Ljava/util/HashMap;
            iload 4 /* rootPageId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 1 /* logPos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // int rootPageId
         5: .line 1528
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.h2.result.Row row
        end local 2 // int tableId
        end local 1 // int logPos
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/h2/store/PageStore;
            0    6     1      logPos  I
            0    6     2     tableId  I
            0    6     3         row  Lorg/h2/result/Row;
            2    5     4  rootPageId  I
    MethodParameters:
         Name  Flags
      logPos   
      tableId  
      row      

  void redoDelete(int, long);
    descriptor: (IJ)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // int tableId
        start local 2 // long key
         0: .line 1537
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iload 1 /* tableId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.index.Index
            astore 4 /* index */
        start local 4 // org.h2.index.Index index
         1: .line 1538
            aload 4 /* index */
            checkcast org.h2.index.PageDataIndex
            astore 5 /* scan */
        start local 5 // org.h2.index.PageDataIndex scan
         2: .line 1539
            aload 5 /* scan */
            lload 2 /* key */
            invokevirtual org.h2.index.PageDataIndex.getRowWithKey:(J)Lorg/h2/result/Row;
            astore 6 /* row */
        start local 6 // org.h2.result.Row row
         3: .line 1540
            aload 6 /* row */
            ifnull 4
            aload 6 /* row */
            invokeinterface org.h2.result.Row.getKey:()J
            lload 2 /* key */
            lcmp
            ifeq 8
         4: .line 1541
      StackMap locals: org.h2.index.Index org.h2.index.PageDataIndex org.h2.result.Row
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            aconst_null
            new java.lang.StringBuilder
            dup
            ldc "Entry not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* key */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
         5: .line 1542
            ldc " found instead: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* row */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " - ignoring"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 1541
            invokevirtual org.h2.message.Trace.error:(Ljava/lang/Throwable;Ljava/lang/String;)V
         7: .line 1543
            return
         8: .line 1545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* tableId */
            aload 6 /* row */
            iconst_0
            invokevirtual org.h2.store.PageStore.redo:(ILorg/h2/result/Row;Z)V
         9: .line 1546
            return
        end local 6 // org.h2.result.Row row
        end local 5 // org.h2.index.PageDataIndex scan
        end local 4 // org.h2.index.Index index
        end local 2 // long key
        end local 1 // int tableId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/h2/store/PageStore;
            0   10     1  tableId  I
            0   10     2      key  J
            1   10     4    index  Lorg/h2/index/Index;
            2   10     5     scan  Lorg/h2/index/PageDataIndex;
            3   10     6      row  Lorg/h2/result/Row;
    MethodParameters:
         Name  Flags
      tableId  
      key      

  void redo(int, org.h2.result.Row, boolean);
    descriptor: (ILorg/h2/result/Row;Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.h2.store.PageStore this
        start local 1 // int tableId
        start local 2 // org.h2.result.Row row
        start local 3 // boolean add
         0: .line 1556
            iload 1 /* tableId */
            iconst_m1
            if_icmpne 5
         1: .line 1557
            iload 3 /* add */
            ifeq 4
         2: .line 1558
            aload 0 /* this */
            aload 2 /* row */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            iconst_1
            invokevirtual org.h2.store.PageStore.addMeta:(Lorg/h2/result/Row;Lorg/h2/engine/Session;Z)V
         3: .line 1559
            goto 5
         4: .line 1560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* row */
            invokevirtual org.h2.store.PageStore.removeMeta:(Lorg/h2/result/Row;)V
         5: .line 1563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iload 1 /* tableId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.index.Index
            astore 4 /* index */
        start local 4 // org.h2.index.Index index
         6: .line 1564
            aload 4 /* index */
            ifnonnull 9
         7: .line 1566
            new java.lang.StringBuilder
            dup
            ldc "Table not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* tableId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* row */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* add */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1565
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         9: .line 1568
      StackMap locals: org.h2.index.Index
      StackMap stack:
            aload 4 /* index */
            invokeinterface org.h2.index.Index.getTable:()Lorg/h2/table/Table;
            astore 5 /* table */
        start local 5 // org.h2.table.Table table
        10: .line 1569
            iload 3 /* add */
            ifeq 13
        11: .line 1570
            aload 5 /* table */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            aload 2 /* row */
            invokevirtual org.h2.table.Table.addRow:(Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
        12: .line 1571
            goto 14
        13: .line 1572
      StackMap locals: org.h2.table.Table
      StackMap stack:
            aload 5 /* table */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            aload 2 /* row */
            invokevirtual org.h2.table.Table.removeRow:(Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
        14: .line 1574
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.h2.table.Table table
        end local 4 // org.h2.index.Index index
        end local 3 // boolean add
        end local 2 // org.h2.result.Row row
        end local 1 // int tableId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/h2/store/PageStore;
            0   15     1  tableId  I
            0   15     2      row  Lorg/h2/result/Row;
            0   15     3      add  Z
            6   15     4    index  Lorg/h2/index/Index;
           10   15     5    table  Lorg/h2/table/Table;
    MethodParameters:
         Name  Flags
      tableId  
      row      
      add      

  void redoTruncate(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int tableId
         0: .line 1582
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iload 1 /* tableId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.index.Index
            astore 2 /* index */
        start local 2 // org.h2.index.Index index
         1: .line 1583
            aload 2 /* index */
            invokeinterface org.h2.index.Index.getTable:()Lorg/h2/table/Table;
            astore 3 /* table */
        start local 3 // org.h2.table.Table table
         2: .line 1584
            aload 3 /* table */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.table.Table.truncate:(Lorg/h2/engine/Session;)V
         3: .line 1585
            return
        end local 3 // org.h2.table.Table table
        end local 2 // org.h2.index.Index index
        end local 1 // int tableId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/h2/store/PageStore;
            0    4     1  tableId  I
            1    4     2    index  Lorg/h2/index/Index;
            2    4     3    table  Lorg/h2/table/Table;
    MethodParameters:
         Name  Flags
      tableId  

  private void openMetaIndex();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1588
            new org.h2.command.ddl.CreateTableData
            dup
            invokespecial org.h2.command.ddl.CreateTableData.<init>:()V
            astore 1 /* data */
        start local 1 // org.h2.command.ddl.CreateTableData data
         1: .line 1589
            aload 1 /* data */
            getfield org.h2.command.ddl.CreateTableData.columns:Ljava/util/ArrayList;
            astore 2 /* cols */
        start local 2 // java.util.ArrayList cols
         2: .line 1590
            aload 2 /* cols */
            new org.h2.table.Column
            dup
            ldc "ID"
            iconst_4
            invokespecial org.h2.table.Column.<init>:(Ljava/lang/String;I)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1591
            aload 2 /* 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
         4: .line 1592
            aload 2 /* cols */
            new org.h2.table.Column
            dup
            ldc "PARENT"
            iconst_4
            invokespecial org.h2.table.Column.<init>:(Ljava/lang/String;I)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1593
            aload 2 /* 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
         6: .line 1594
            aload 2 /* cols */
            new org.h2.table.Column
            dup
            ldc "OPTIONS"
            bipush 13
            invokespecial org.h2.table.Column.<init>:(Ljava/lang/String;I)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1595
            aload 2 /* cols */
            new org.h2.table.Column
            dup
            ldc "COLUMNS"
            bipush 13
            invokespecial org.h2.table.Column.<init>:(Ljava/lang/String;I)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1596
            aload 0 /* this */
            new org.h2.schema.Schema
            dup
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            iconst_0
            ldc ""
            aconst_null
            iconst_1
            invokespecial org.h2.schema.Schema.<init>:(Lorg/h2/engine/Database;ILjava/lang/String;Lorg/h2/engine/User;Z)V
            putfield org.h2.store.PageStore.metaSchema:Lorg/h2/schema/Schema;
         9: .line 1597
            aload 1 /* data */
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaSchema:Lorg/h2/schema/Schema;
            putfield org.h2.command.ddl.CreateTableData.schema:Lorg/h2/schema/Schema;
        10: .line 1598
            aload 1 /* data */
            ldc "PAGE_INDEX"
            putfield org.h2.command.ddl.CreateTableData.tableName:Ljava/lang/String;
        11: .line 1599
            aload 1 /* data */
            iconst_m1
            putfield org.h2.command.ddl.CreateTableData.id:I
        12: .line 1600
            aload 1 /* data */
            iconst_0
            putfield org.h2.command.ddl.CreateTableData.temporary:Z
        13: .line 1601
            aload 1 /* data */
            iconst_1
            putfield org.h2.command.ddl.CreateTableData.persistData:Z
        14: .line 1602
            aload 1 /* data */
            iconst_1
            putfield org.h2.command.ddl.CreateTableData.persistIndexes:Z
        15: .line 1603
            aload 1 /* data */
            iconst_0
            putfield org.h2.command.ddl.CreateTableData.create:Z
        16: .line 1604
            aload 1 /* data */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            putfield org.h2.command.ddl.CreateTableData.session:Lorg/h2/engine/Session;
        17: .line 1605
            aload 0 /* this */
            new org.h2.table.PageStoreTable
            dup
            aload 1 /* data */
            invokespecial org.h2.table.PageStoreTable.<init>:(Lorg/h2/command/ddl/CreateTableData;)V
            putfield org.h2.store.PageStore.metaTable:Lorg/h2/table/PageStoreTable;
        18: .line 1606
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaTable:Lorg/h2/table/PageStoreTable;
        19: .line 1607
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
        20: .line 1606
            invokevirtual org.h2.table.PageStoreTable.getScanIndex:(Lorg/h2/engine/Session;)Lorg/h2/index/Index;
            checkcast org.h2.index.PageDataIndex
            putfield org.h2.store.PageStore.metaIndex:Lorg/h2/index/PageDataIndex;
        21: .line 1608
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
        22: .line 1609
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaIndex:Lorg/h2/index/PageDataIndex;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 1610
            return
        end local 2 // java.util.ArrayList cols
        end local 1 // org.h2.command.ddl.CreateTableData data
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Lorg/h2/store/PageStore;
            1   24     1  data  Lorg/h2/command/ddl/CreateTableData;
            2   24     2  cols  Ljava/util/ArrayList<Lorg/h2/table/Column;>;

  private void readMetaData();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1613
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaIndex:Lorg/h2/index/PageDataIndex;
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            aconst_null
            aconst_null
            invokevirtual org.h2.index.PageDataIndex.find:(Lorg/h2/engine/Session;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
            astore 1 /* cursor */
        start local 1 // org.h2.index.Cursor cursor
         1: .line 1615
            goto 6
         2: .line 1616
      StackMap locals: org.h2.index.Cursor
      StackMap stack:
            aload 1 /* cursor */
            invokeinterface org.h2.index.Cursor.get:()Lorg/h2/result/Row;
            astore 2 /* row */
        start local 2 // org.h2.result.Row row
         3: .line 1617
            aload 2 /* row */
            iconst_1
            invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getInt:()I
            istore 3 /* type */
        start local 3 // int type
         4: .line 1618
            iload 3 /* type */
            ifne 6
         5: .line 1619
            aload 0 /* this */
            aload 2 /* row */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            iconst_0
            invokevirtual org.h2.store.PageStore.addMeta:(Lorg/h2/result/Row;Lorg/h2/engine/Session;Z)V
        end local 3 // int type
        end local 2 // org.h2.result.Row row
         6: .line 1615
      StackMap locals:
      StackMap stack:
            aload 1 /* cursor */
            invokeinterface org.h2.index.Cursor.next:()Z
            ifne 2
         7: .line 1624
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaIndex:Lorg/h2/index/PageDataIndex;
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            aconst_null
            aconst_null
            invokevirtual org.h2.index.PageDataIndex.find:(Lorg/h2/engine/Session;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
            astore 1 /* cursor */
         8: .line 1625
            goto 13
         9: .line 1626
      StackMap locals:
      StackMap stack:
            aload 1 /* cursor */
            invokeinterface org.h2.index.Cursor.get:()Lorg/h2/result/Row;
            astore 2 /* row */
        start local 2 // org.h2.result.Row row
        10: .line 1627
            aload 2 /* row */
            iconst_1
            invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getInt:()I
            istore 3 /* type */
        start local 3 // int type
        11: .line 1628
            iload 3 /* type */
            ifeq 13
        12: .line 1629
            aload 0 /* this */
            aload 2 /* row */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            iconst_0
            invokevirtual org.h2.store.PageStore.addMeta:(Lorg/h2/result/Row;Lorg/h2/engine/Session;Z)V
        end local 3 // int type
        end local 2 // org.h2.result.Row row
        13: .line 1625
      StackMap locals:
      StackMap stack:
            aload 1 /* cursor */
            invokeinterface org.h2.index.Cursor.next:()Z
            ifne 9
        14: .line 1632
            return
        end local 1 // org.h2.index.Cursor cursor
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/h2/store/PageStore;
            1   15     1  cursor  Lorg/h2/index/Cursor;
            3    6     2     row  Lorg/h2/result/Row;
            4    6     3    type  I
           10   13     2     row  Lorg/h2/result/Row;
           11   13     3    type  I

  private void removeMeta(org.h2.result.Row);
    descriptor: (Lorg/h2/result/Row;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.result.Row row
         0: .line 1635
            aload 1 /* row */
            iconst_0
            invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getInt:()I
            istore 2 /* id */
        start local 2 // int id
         1: .line 1636
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iload 2 /* id */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.index.PageIndex
            astore 3 /* index */
        start local 3 // org.h2.index.PageIndex index
         2: .line 1637
            aload 3 /* index */
            invokevirtual org.h2.index.PageIndex.getTable:()Lorg/h2/table/Table;
            aload 3 /* index */
            invokevirtual org.h2.table.Table.removeIndex:(Lorg/h2/index/Index;)V
         3: .line 1638
            aload 3 /* index */
            instanceof org.h2.index.PageBtreeIndex
            ifne 4
            aload 3 /* index */
            instanceof org.h2.index.PageDelegateIndex
            ifeq 8
         4: .line 1639
      StackMap locals: int org.h2.index.PageIndex
      StackMap stack:
            aload 3 /* index */
            invokevirtual org.h2.index.PageIndex.isTemporary:()Z
            ifeq 7
         5: .line 1640
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            aload 3 /* index */
            invokevirtual org.h2.engine.Session.removeLocalTempTableIndex:(Lorg/h2/index/Index;)V
         6: .line 1641
            goto 8
         7: .line 1642
      StackMap locals:
      StackMap stack:
            aload 3 /* index */
            invokevirtual org.h2.index.PageIndex.getSchema:()Lorg/h2/schema/Schema;
            aload 3 /* index */
            invokevirtual org.h2.schema.Schema.remove:(Lorg/h2/schema/SchemaObject;)V
         8: .line 1645
      StackMap locals:
      StackMap stack:
            aload 3 /* index */
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            invokevirtual org.h2.index.PageIndex.remove:(Lorg/h2/engine/Session;)V
         9: .line 1646
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iload 2 /* id */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1647
            return
        end local 3 // org.h2.index.PageIndex index
        end local 2 // int id
        end local 1 // org.h2.result.Row row
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/h2/store/PageStore;
            0   11     1    row  Lorg/h2/result/Row;
            1   11     2     id  I
            2   11     3  index  Lorg/h2/index/PageIndex;
    MethodParameters:
      Name  Flags
      row   

  private void addMeta(org.h2.result.Row, org.h2.engine.Session, boolean);
    descriptor: (Lorg/h2/result/Row;Lorg/h2/engine/Session;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=23, args_size=4
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.result.Row row
        start local 2 // org.h2.engine.Session session
        start local 3 // boolean redo
         0: .line 1650
            aload 1 /* row */
            iconst_0
            invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getInt:()I
            istore 4 /* id */
        start local 4 // int id
         1: .line 1651
            aload 1 /* row */
            iconst_1
            invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getInt:()I
            istore 5 /* type */
        start local 5 // int type
         2: .line 1652
            aload 1 /* row */
            iconst_2
            invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getInt:()I
            istore 6 /* parent */
        start local 6 // int parent
         3: .line 1653
            aload 1 /* row */
            iconst_3
            invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getInt:()I
            istore 7 /* rootPageId */
        start local 7 // int rootPageId
         4: .line 1655
            aload 1 /* row */
            iconst_4
            invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            bipush 44
            iconst_0
         5: .line 1654
            invokestatic org.h2.util.StringUtils.arraySplit:(Ljava/lang/String;CZ)[Ljava/lang/String;
            astore 8 /* options */
        start local 8 // java.lang.String[] options
         6: .line 1656
            aload 1 /* row */
            iconst_5
            invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            astore 9 /* columnList */
        start local 9 // java.lang.String columnList
         7: .line 1657
            aload 9 /* columnList */
            bipush 44
            iconst_0
            invokestatic org.h2.util.StringUtils.arraySplit:(Ljava/lang/String;CZ)[Ljava/lang/String;
            astore 10 /* columns */
        start local 10 // java.lang.String[] columns
         8: .line 1659
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            invokevirtual org.h2.message.Trace.isDebugEnabled:()Z
            ifeq 12
         9: .line 1660
            aload 0 /* this */
            getfield org.h2.store.PageStore.trace:Lorg/h2/message/Trace;
            new java.lang.StringBuilder
            dup
            ldc "addMeta id="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " type="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        10: .line 1661
            ldc " root="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 7 /* rootPageId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " parent="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* parent */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " columns="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* columnList */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1660
            invokevirtual org.h2.message.Trace.debug:(Ljava/lang/String;)V
        12: .line 1663
      StackMap locals: org.h2.store.PageStore org.h2.result.Row org.h2.engine.Session int int int int int java.lang.String[] java.lang.String java.lang.String[]
      StackMap stack:
            iload 3 /* redo */
            ifeq 15
            iload 7 /* rootPageId */
            ifeq 15
        13: .line 1665
            aload 0 /* this */
            iload 7 /* rootPageId */
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.createData:()Lorg/h2/store/Data;
            invokevirtual org.h2.store.PageStore.writePage:(ILorg/h2/store/Data;)V
        14: .line 1666
            aload 0 /* this */
            iload 7 /* rootPageId */
            invokevirtual org.h2.store.PageStore.allocatePage:(I)V
        15: .line 1668
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaRootPageId:Lorg/h2/util/IntIntHashMap;
            iload 4 /* id */
            iload 7 /* rootPageId */
            invokevirtual org.h2.util.IntIntHashMap.put:(II)V
        16: .line 1669
            iload 5 /* type */
            ifne 47
        17: .line 1670
            new org.h2.command.ddl.CreateTableData
            dup
            invokespecial org.h2.command.ddl.CreateTableData.<init>:()V
            astore 12 /* data */
        start local 12 // org.h2.command.ddl.CreateTableData data
        18: .line 1671
            aload 10 /* columns */
            ifnonnull 20
        19: .line 1672
            aload 1 /* row */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        20: .line 1674
      StackMap locals: org.h2.store.PageStore org.h2.result.Row org.h2.engine.Session int int int int int java.lang.String[] java.lang.String java.lang.String[] top org.h2.command.ddl.CreateTableData
      StackMap stack:
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        21: aload 10 /* columns */
            arraylength
            istore 14 /* len */
        start local 14 // int len
        22: goto 26
        23: .line 1675
      StackMap locals: int int
      StackMap stack:
            new org.h2.table.Column
            dup
            new java.lang.StringBuilder
            dup
            ldc "C"
            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;
            iconst_4
            invokespecial org.h2.table.Column.<init>:(Ljava/lang/String;I)V
            astore 15 /* col */
        start local 15 // org.h2.table.Column col
        24: .line 1676
            aload 12 /* data */
            getfield org.h2.command.ddl.CreateTableData.columns:Ljava/util/ArrayList;
            aload 15 /* col */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // org.h2.table.Column col
        25: .line 1674
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 13 /* i */
            iload 14 /* len */
            if_icmplt 23
        end local 14 // int len
        end local 13 // int i
        27: .line 1678
            aload 12 /* data */
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaSchema:Lorg/h2/schema/Schema;
            putfield org.h2.command.ddl.CreateTableData.schema:Lorg/h2/schema/Schema;
        28: .line 1679
            aload 12 /* data */
            new java.lang.StringBuilder
            dup
            ldc "T"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.h2.command.ddl.CreateTableData.tableName:Ljava/lang/String;
        29: .line 1680
            aload 12 /* data */
            iload 4 /* id */
            putfield org.h2.command.ddl.CreateTableData.id:I
        30: .line 1681
            aload 12 /* data */
            aload 8 /* options */
            iconst_2
            aaload
            ldc "temp"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            putfield org.h2.command.ddl.CreateTableData.temporary:Z
        31: .line 1682
            aload 12 /* data */
            iconst_1
            putfield org.h2.command.ddl.CreateTableData.persistData:Z
        32: .line 1683
            aload 12 /* data */
            iconst_1
            putfield org.h2.command.ddl.CreateTableData.persistIndexes:Z
        33: .line 1684
            aload 12 /* data */
            iconst_0
            putfield org.h2.command.ddl.CreateTableData.create:Z
        34: .line 1685
            aload 12 /* data */
            aload 2 /* session */
            putfield org.h2.command.ddl.CreateTableData.session:Lorg/h2/engine/Session;
        35: .line 1686
            new org.h2.table.PageStoreTable
            dup
            aload 12 /* data */
            invokespecial org.h2.table.PageStoreTable.<init>:(Lorg/h2/command/ddl/CreateTableData;)V
            astore 13 /* table */
        start local 13 // org.h2.table.PageStoreTable table
        36: .line 1687
            getstatic org.h2.engine.SysProperties.SORT_BINARY_UNSIGNED:Z
            istore 14 /* binaryUnsigned */
        start local 14 // boolean binaryUnsigned
        37: .line 1688
            aload 8 /* options */
            arraylength
            iconst_3
            if_icmple 39
        38: .line 1689
            aload 8 /* options */
            iconst_3
            aaload
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            istore 14 /* binaryUnsigned */
        39: .line 1691
      StackMap locals: org.h2.store.PageStore org.h2.result.Row org.h2.engine.Session int int int int int java.lang.String[] java.lang.String java.lang.String[] top org.h2.command.ddl.CreateTableData org.h2.table.PageStoreTable int
      StackMap stack:
            getstatic org.h2.engine.SysProperties.SORT_UUID_UNSIGNED:Z
            istore 15 /* uuidUnsigned */
        start local 15 // boolean uuidUnsigned
        40: .line 1692
            aload 8 /* options */
            arraylength
            iconst_4
            if_icmple 42
        41: .line 1693
            aload 8 /* options */
            iconst_4
            aaload
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            istore 15 /* uuidUnsigned */
        42: .line 1696
      StackMap locals: int
      StackMap stack:
            aload 8 /* options */
            iconst_0
            aaload
            aload 8 /* options */
            iconst_1
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            iload 14 /* binaryUnsigned */
            iload 15 /* uuidUnsigned */
        43: .line 1695
            invokestatic org.h2.value.CompareMode.getInstance:(Ljava/lang/String;IZZ)Lorg/h2/value/CompareMode;
            astore 16 /* mode */
        start local 16 // org.h2.value.CompareMode mode
        44: .line 1697
            aload 13 /* table */
            aload 16 /* mode */
            invokevirtual org.h2.table.PageStoreTable.setCompareMode:(Lorg/h2/value/CompareMode;)V
        45: .line 1698
            aload 13 /* table */
            aload 2 /* session */
            invokevirtual org.h2.table.PageStoreTable.getScanIndex:(Lorg/h2/engine/Session;)Lorg/h2/index/Index;
            astore 11 /* meta */
        end local 16 // org.h2.value.CompareMode mode
        end local 15 // boolean uuidUnsigned
        end local 14 // boolean binaryUnsigned
        end local 13 // org.h2.table.PageStoreTable table
        end local 12 // org.h2.command.ddl.CreateTableData data
        start local 11 // org.h2.index.Index meta
        46: .line 1699
            goto 80
        end local 11 // org.h2.index.Index meta
        47: .line 1700
      StackMap locals: org.h2.store.PageStore org.h2.result.Row org.h2.engine.Session int int int int int java.lang.String[] java.lang.String java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iload 6 /* parent */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.index.Index
            astore 12 /* p */
        start local 12 // org.h2.index.Index p
        48: .line 1701
            aload 12 /* p */
            ifnonnull 52
        49: .line 1702
            ldc 90030
        50: .line 1703
            new java.lang.StringBuilder
            dup
            ldc "Table not found:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* parent */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* row */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " meta:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        51: .line 1702
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        52: .line 1705
      StackMap locals: org.h2.store.PageStore org.h2.result.Row org.h2.engine.Session int int int int int java.lang.String[] java.lang.String java.lang.String[] top org.h2.index.Index
      StackMap stack:
            aload 12 /* p */
            invokeinterface org.h2.index.Index.getTable:()Lorg/h2/table/Table;
            checkcast org.h2.table.PageStoreTable
            astore 13 /* table */
        start local 13 // org.h2.table.PageStoreTable table
        53: .line 1706
            aload 13 /* table */
            invokevirtual org.h2.table.PageStoreTable.getColumns:()[Lorg/h2/table/Column;
            astore 14 /* tableCols */
        start local 14 // org.h2.table.Column[] tableCols
        54: .line 1707
            aload 10 /* columns */
            arraylength
            istore 15 /* len */
        start local 15 // int len
        55: .line 1708
            iload 15 /* len */
            anewarray org.h2.table.IndexColumn
            astore 16 /* cols */
        start local 16 // org.h2.table.IndexColumn[] cols
        56: .line 1709
            iconst_0
            istore 17 /* i */
        start local 17 // int i
        57: goto 68
        58: .line 1710
      StackMap locals: org.h2.store.PageStore org.h2.result.Row org.h2.engine.Session int int int int int java.lang.String[] java.lang.String java.lang.String[] top org.h2.index.Index org.h2.table.PageStoreTable org.h2.table.Column[] int org.h2.table.IndexColumn[] int
      StackMap stack:
            aload 10 /* columns */
            iload 17 /* i */
            aaload
            astore 18 /* c */
        start local 18 // java.lang.String c
        59: .line 1711
            new org.h2.table.IndexColumn
            dup
            invokespecial org.h2.table.IndexColumn.<init>:()V
            astore 19 /* ic */
        start local 19 // org.h2.table.IndexColumn ic
        60: .line 1712
            aload 18 /* c */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            istore 20 /* idx */
        start local 20 // int idx
        61: .line 1713
            iload 20 /* idx */
            iflt 65
        62: .line 1714
            aload 18 /* c */
            iload 20 /* idx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 21 /* s */
        start local 21 // java.lang.String s
        63: .line 1715
            aload 19 /* ic */
            aload 21 /* s */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield org.h2.table.IndexColumn.sortType:I
        64: .line 1716
            aload 18 /* c */
            iconst_0
            iload 20 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 18 /* c */
        end local 21 // java.lang.String s
        65: .line 1718
      StackMap locals: java.lang.String org.h2.table.IndexColumn int
      StackMap stack:
            aload 19 /* ic */
            aload 14 /* tableCols */
            aload 18 /* c */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            aaload
            putfield org.h2.table.IndexColumn.column:Lorg/h2/table/Column;
        66: .line 1719
            aload 16 /* cols */
            iload 17 /* i */
            aload 19 /* ic */
            aastore
        end local 20 // int idx
        end local 19 // org.h2.table.IndexColumn ic
        end local 18 // java.lang.String c
        67: .line 1709
            iinc 17 /* i */ 1
      StackMap locals:
      StackMap stack:
        68: iload 17 /* i */
            iload 15 /* len */
            if_icmplt 58
        end local 17 // int i
        69: .line 1722
            aload 8 /* options */
            iconst_3
            aaload
            ldc "d"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 78
        70: .line 1723
            iconst_1
            iconst_0
            invokestatic org.h2.index.IndexType.createPrimaryKey:(ZZ)Lorg/h2/index/IndexType;
            astore 17 /* indexType */
        start local 17 // org.h2.index.IndexType indexType
        71: .line 1724
            aload 13 /* table */
            invokevirtual org.h2.table.PageStoreTable.getColumns:()[Lorg/h2/table/Column;
            astore 18 /* tableColumns */
        start local 18 // org.h2.table.Column[] tableColumns
        72: .line 1725
            aload 16 /* cols */
            dup
            astore 22
            arraylength
            istore 21
            iconst_0
            istore 20
            goto 76
      StackMap locals: org.h2.store.PageStore org.h2.result.Row org.h2.engine.Session int int int int int java.lang.String[] java.lang.String java.lang.String[] top org.h2.index.Index org.h2.table.PageStoreTable org.h2.table.Column[] int org.h2.table.IndexColumn[] org.h2.index.IndexType org.h2.table.Column[] top int int org.h2.table.IndexColumn[]
      StackMap stack:
        73: aload 22
            iload 20
            aaload
            astore 19 /* indexColumn */
        start local 19 // org.h2.table.IndexColumn indexColumn
        74: .line 1726
            aload 18 /* tableColumns */
            aload 19 /* indexColumn */
            getfield org.h2.table.IndexColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getColumnId:()I
            aaload
            iconst_0
            invokevirtual org.h2.table.Column.setNullable:(Z)V
        end local 19 // org.h2.table.IndexColumn indexColumn
        75: .line 1725
            iinc 20 1
      StackMap locals:
      StackMap stack:
        76: iload 20
            iload 21
            if_icmplt 73
        end local 18 // org.h2.table.Column[] tableColumns
        77: .line 1728
            goto 79
        end local 17 // org.h2.index.IndexType indexType
        78: .line 1729
      StackMap locals: org.h2.store.PageStore org.h2.result.Row org.h2.engine.Session int int int int int java.lang.String[] java.lang.String java.lang.String[] top org.h2.index.Index org.h2.table.PageStoreTable org.h2.table.Column[] int org.h2.table.IndexColumn[]
      StackMap stack:
            iconst_1
            invokestatic org.h2.index.IndexType.createNonUnique:(Z)Lorg/h2/index/IndexType;
            astore 17 /* indexType */
        start local 17 // org.h2.index.IndexType indexType
        79: .line 1731
      StackMap locals: org.h2.index.IndexType
      StackMap stack:
            aload 13 /* table */
            aload 2 /* session */
            new java.lang.StringBuilder
            dup
            ldc "I"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 4 /* id */
            aload 16 /* cols */
            aload 17 /* indexType */
            iconst_0
            aconst_null
            invokevirtual org.h2.table.PageStoreTable.addIndex:(Lorg/h2/engine/Session;Ljava/lang/String;I[Lorg/h2/table/IndexColumn;Lorg/h2/index/IndexType;ZLjava/lang/String;)Lorg/h2/index/Index;
            astore 11 /* meta */
        end local 17 // org.h2.index.IndexType indexType
        end local 16 // org.h2.table.IndexColumn[] cols
        end local 15 // int len
        end local 14 // org.h2.table.Column[] tableCols
        end local 13 // org.h2.table.PageStoreTable table
        end local 12 // org.h2.index.Index p
        start local 11 // org.h2.index.Index meta
        80: .line 1733
      StackMap locals: org.h2.store.PageStore org.h2.result.Row org.h2.engine.Session int int int int int java.lang.String[] java.lang.String java.lang.String[] org.h2.index.Index
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            iload 4 /* id */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 11 /* meta */
            checkcast org.h2.index.PageIndex
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        81: .line 1734
            return
        end local 11 // org.h2.index.Index meta
        end local 10 // java.lang.String[] columns
        end local 9 // java.lang.String columnList
        end local 8 // java.lang.String[] options
        end local 7 // int rootPageId
        end local 6 // int parent
        end local 5 // int type
        end local 4 // int id
        end local 3 // boolean redo
        end local 2 // org.h2.engine.Session session
        end local 1 // org.h2.result.Row row
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   82     0            this  Lorg/h2/store/PageStore;
            0   82     1             row  Lorg/h2/result/Row;
            0   82     2         session  Lorg/h2/engine/Session;
            0   82     3            redo  Z
            1   82     4              id  I
            2   82     5            type  I
            3   82     6          parent  I
            4   82     7      rootPageId  I
            6   82     8         options  [Ljava/lang/String;
            7   82     9      columnList  Ljava/lang/String;
            8   82    10         columns  [Ljava/lang/String;
           46   47    11            meta  Lorg/h2/index/Index;
           80   82    11            meta  Lorg/h2/index/Index;
           18   46    12            data  Lorg/h2/command/ddl/CreateTableData;
           21   27    13               i  I
           22   27    14             len  I
           24   25    15             col  Lorg/h2/table/Column;
           36   46    13           table  Lorg/h2/table/PageStoreTable;
           37   46    14  binaryUnsigned  Z
           40   46    15    uuidUnsigned  Z
           44   46    16            mode  Lorg/h2/value/CompareMode;
           48   80    12               p  Lorg/h2/index/Index;
           53   80    13           table  Lorg/h2/table/PageStoreTable;
           54   80    14       tableCols  [Lorg/h2/table/Column;
           55   80    15             len  I
           56   80    16            cols  [Lorg/h2/table/IndexColumn;
           57   69    17               i  I
           59   67    18               c  Ljava/lang/String;
           60   67    19              ic  Lorg/h2/table/IndexColumn;
           61   67    20             idx  I
           63   65    21               s  Ljava/lang/String;
           71   78    17       indexType  Lorg/h2/index/IndexType;
           79   80    17       indexType  Lorg/h2/index/IndexType;
           72   77    18    tableColumns  [Lorg/h2/table/Column;
           74   75    19     indexColumn  Lorg/h2/table/IndexColumn;
    MethodParameters:
         Name  Flags
      row      
      session  
      redo     

  public synchronized void addIndex(org.h2.index.PageIndex);
    descriptor: (Lorg/h2/index/PageIndex;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.index.PageIndex index
         0: .line 1742
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            aload 1 /* index */
            invokevirtual org.h2.index.PageIndex.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* index */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1743
            return
        end local 1 // org.h2.index.PageIndex index
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/h2/store/PageStore;
            0    2     1  index  Lorg/h2/index/PageIndex;
    MethodParameters:
       Name  Flags
      index  

  public void addMeta(org.h2.index.PageIndex, org.h2.engine.Session);
    descriptor: (Lorg/h2/index/PageIndex;Lorg/h2/engine/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=13, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.index.PageIndex index
        start local 2 // org.h2.engine.Session session
         0: .line 1752
            aload 1 /* index */
            invokevirtual org.h2.index.PageIndex.getTable:()Lorg/h2/table/Table;
            astore 3 /* table */
        start local 3 // org.h2.table.Table table
         1: .line 1753
            getstatic org.h2.engine.SysProperties.CHECK:Z
            ifeq 14
         2: .line 1754
            aload 3 /* table */
            invokevirtual org.h2.table.Table.isTemporary:()Z
            ifne 14
         3: .line 1757
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            dup
            astore 4
            monitorenter
         4: .line 1758
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         5: .line 1759
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            aload 2 /* session */
            invokevirtual org.h2.engine.Database.verifyMetaLocked:(Lorg/h2/engine/Session;)V
         6: .line 1758
            aload 5
            monitorexit
         7: goto 10
      StackMap locals: org.h2.store.PageStore org.h2.index.PageIndex org.h2.engine.Session org.h2.table.Table org.h2.engine.Database org.h2.store.PageStore
      StackMap stack: java.lang.Throwable
         8: aload 5
            monitorexit
         9: athrow
        10: .line 1757
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 4
            monitorexit
        13: athrow
        14: .line 1764
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 4
            monitorenter
        15: .line 1765
            aload 1 /* index */
            instanceof org.h2.index.PageDataIndex
            ifeq 17
        16: .line 1766
            iconst_0
            goto 18
      StackMap locals: org.h2.store.PageStore
      StackMap stack:
        17: iconst_1
        18: .line 1765
      StackMap locals:
      StackMap stack: int
            istore 5 /* type */
        start local 5 // int type
        19: .line 1767
            aload 1 /* index */
            invokevirtual org.h2.index.PageIndex.getIndexColumns:()[Lorg/h2/table/IndexColumn;
            astore 6 /* columns */
        start local 6 // org.h2.table.IndexColumn[] columns
        20: .line 1768
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* builder */
        start local 7 // java.lang.StringBuilder builder
        21: .line 1769
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        22: aload 6 /* columns */
            arraylength
            istore 9 /* length */
        start local 9 // int length
        23: goto 33
        24: .line 1770
      StackMap locals: org.h2.store.PageStore org.h2.index.PageIndex org.h2.engine.Session org.h2.table.Table org.h2.store.PageStore int org.h2.table.IndexColumn[] java.lang.StringBuilder int int
      StackMap stack:
            iload 8 /* i */
            ifle 26
        25: .line 1771
            aload 7 /* builder */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        26: .line 1773
      StackMap locals:
      StackMap stack:
            aload 6 /* columns */
            iload 8 /* i */
            aaload
            astore 10 /* col */
        start local 10 // org.h2.table.IndexColumn col
        27: .line 1774
            aload 10 /* col */
            getfield org.h2.table.IndexColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getColumnId:()I
            istore 11 /* id */
        start local 11 // int id
        28: .line 1775
            aload 7 /* builder */
            iload 11 /* id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        29: .line 1776
            aload 10 /* col */
            getfield org.h2.table.IndexColumn.sortType:I
            istore 12 /* sortType */
        start local 12 // int sortType
        30: .line 1777
            iload 12 /* sortType */
            ifeq 32
        31: .line 1778
            aload 7 /* builder */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 12 /* sortType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        end local 12 // int sortType
        end local 11 // int id
        end local 10 // org.h2.table.IndexColumn col
        32: .line 1769
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 8 /* i */
            iload 9 /* length */
            if_icmplt 24
        end local 9 // int length
        end local 8 // int i
        34: .line 1781
            aload 7 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* columnList */
        start local 8 // java.lang.String columnList
        35: .line 1782
            aload 3 /* table */
            invokevirtual org.h2.table.Table.getCompareMode:()Lorg/h2/value/CompareMode;
            astore 9 /* mode */
        start local 9 // org.h2.value.CompareMode mode
        36: .line 1783
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 9 /* mode */
            invokevirtual org.h2.value.CompareMode.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 9 /* mode */
            invokevirtual org.h2.value.CompareMode.getStrength:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        37: .line 1784
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        38: .line 1783
            astore 10 /* options */
        start local 10 // java.lang.StringBuilder options
        39: .line 1785
            aload 3 /* table */
            invokevirtual org.h2.table.Table.isTemporary:()Z
            ifeq 41
        40: .line 1786
            aload 10 /* options */
            ldc "temp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        41: .line 1788
      StackMap locals: org.h2.store.PageStore org.h2.index.PageIndex org.h2.engine.Session org.h2.table.Table org.h2.store.PageStore int org.h2.table.IndexColumn[] java.lang.StringBuilder java.lang.String org.h2.value.CompareMode java.lang.StringBuilder
      StackMap stack:
            aload 10 /* options */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        42: .line 1789
            aload 1 /* index */
            instanceof org.h2.index.PageDelegateIndex
            ifeq 44
        43: .line 1790
            aload 10 /* options */
            bipush 100
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        44: .line 1792
      StackMap locals:
      StackMap stack:
            aload 10 /* options */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 9 /* mode */
            invokevirtual org.h2.value.CompareMode.isBinaryUnsigned:()Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 9 /* mode */
            invokevirtual org.h2.value.CompareMode.isUuidUnsigned:()Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            pop
        45: .line 1793
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaTable:Lorg/h2/table/PageStoreTable;
            invokevirtual org.h2.table.PageStoreTable.getTemplateRow:()Lorg/h2/result/Row;
            astore 11 /* row */
        start local 11 // org.h2.result.Row row
        46: .line 1794
            aload 11 /* row */
            iconst_0
            aload 1 /* index */
            invokevirtual org.h2.index.PageIndex.getId:()I
            invokestatic org.h2.value.ValueInt.get:(I)Lorg/h2/value/ValueInt;
            invokeinterface org.h2.result.Row.setValue:(ILorg/h2/value/Value;)V
        47: .line 1795
            aload 11 /* row */
            iconst_1
            iload 5 /* type */
            invokestatic org.h2.value.ValueInt.get:(I)Lorg/h2/value/ValueInt;
            invokeinterface org.h2.result.Row.setValue:(ILorg/h2/value/Value;)V
        48: .line 1796
            aload 11 /* row */
            iconst_2
            aload 3 /* table */
            invokevirtual org.h2.table.Table.getId:()I
            invokestatic org.h2.value.ValueInt.get:(I)Lorg/h2/value/ValueInt;
            invokeinterface org.h2.result.Row.setValue:(ILorg/h2/value/Value;)V
        49: .line 1797
            aload 11 /* row */
            iconst_3
            aload 1 /* index */
            invokevirtual org.h2.index.PageIndex.getRootPageId:()I
            invokestatic org.h2.value.ValueInt.get:(I)Lorg/h2/value/ValueInt;
            invokeinterface org.h2.result.Row.setValue:(ILorg/h2/value/Value;)V
        50: .line 1798
            aload 11 /* row */
            iconst_4
            aload 10 /* options */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.value.ValueString.get:(Ljava/lang/String;)Lorg/h2/value/Value;
            invokeinterface org.h2.result.Row.setValue:(ILorg/h2/value/Value;)V
        51: .line 1799
            aload 11 /* row */
            iconst_5
            aload 8 /* columnList */
            invokestatic org.h2.value.ValueString.get:(Ljava/lang/String;)Lorg/h2/value/Value;
            invokeinterface org.h2.result.Row.setValue:(ILorg/h2/value/Value;)V
        52: .line 1800
            aload 11 /* row */
            aload 1 /* index */
            invokevirtual org.h2.index.PageIndex.getId:()I
            iconst_1
            iadd
            i2l
            invokeinterface org.h2.result.Row.setKey:(J)V
        53: .line 1801
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaIndex:Lorg/h2/index/PageDataIndex;
            aload 2 /* session */
            aload 11 /* row */
            invokevirtual org.h2.index.PageDataIndex.add:(Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
        end local 11 // org.h2.result.Row row
        end local 10 // java.lang.StringBuilder options
        end local 9 // org.h2.value.CompareMode mode
        end local 8 // java.lang.String columnList
        end local 7 // java.lang.StringBuilder builder
        end local 6 // org.h2.table.IndexColumn[] columns
        end local 5 // int type
        54: .line 1764
            aload 4
            monitorexit
        55: goto 58
      StackMap locals: org.h2.store.PageStore org.h2.index.PageIndex org.h2.engine.Session org.h2.table.Table org.h2.store.PageStore
      StackMap stack: java.lang.Throwable
        56: aload 4
            monitorexit
        57: athrow
        58: .line 1803
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.h2.table.Table table
        end local 2 // org.h2.engine.Session session
        end local 1 // org.h2.index.PageIndex index
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   59     0        this  Lorg/h2/store/PageStore;
            0   59     1       index  Lorg/h2/index/PageIndex;
            0   59     2     session  Lorg/h2/engine/Session;
            1   59     3       table  Lorg/h2/table/Table;
           19   54     5        type  I
           20   54     6     columns  [Lorg/h2/table/IndexColumn;
           21   54     7     builder  Ljava/lang/StringBuilder;
           22   34     8           i  I
           23   34     9      length  I
           27   32    10         col  Lorg/h2/table/IndexColumn;
           28   32    11          id  I
           30   32    12    sortType  I
           35   54     8  columnList  Ljava/lang/String;
           36   54     9        mode  Lorg/h2/value/CompareMode;
           39   54    10     options  Ljava/lang/StringBuilder;
           46   54    11         row  Lorg/h2/result/Row;
      Exception table:
        from    to  target  type
           5     7       8  any
           8     9       8  any
           4    11      12  any
          12    13      12  any
          15    55      56  any
          56    57      56  any
    MethodParameters:
         Name  Flags
      index    
      session  

  public void removeMeta(org.h2.index.Index, org.h2.engine.Session);
    descriptor: (Lorg/h2/index/Index;Lorg/h2/engine/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.index.Index index
        start local 2 // org.h2.engine.Session session
         0: .line 1812
            getstatic org.h2.engine.SysProperties.CHECK:Z
            ifeq 13
         1: .line 1813
            aload 1 /* index */
            invokeinterface org.h2.index.Index.getTable:()Lorg/h2/table/Table;
            invokevirtual org.h2.table.Table.isTemporary:()Z
            ifne 13
         2: .line 1816
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            dup
            astore 3
            monitorenter
         3: .line 1817
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         4: .line 1818
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            aload 2 /* session */
            invokevirtual org.h2.engine.Database.verifyMetaLocked:(Lorg/h2/engine/Session;)V
         5: .line 1817
            aload 4
            monitorexit
         6: goto 9
      StackMap locals: org.h2.store.PageStore org.h2.index.Index org.h2.engine.Session org.h2.engine.Database org.h2.store.PageStore
      StackMap stack: java.lang.Throwable
         7: aload 4
            monitorexit
         8: athrow
         9: .line 1816
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 3
            monitorexit
        12: athrow
        13: .line 1823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 3
            monitorenter
        14: .line 1824
            aload 0 /* this */
            getfield org.h2.store.PageStore.recoveryRunning:Z
            ifne 17
        15: .line 1825
            aload 0 /* this */
            aload 1 /* index */
            aload 2 /* session */
            invokevirtual org.h2.store.PageStore.removeMetaIndex:(Lorg/h2/index/Index;Lorg/h2/engine/Session;)V
        16: .line 1826
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaObjects:Ljava/util/HashMap;
            aload 1 /* index */
            invokeinterface org.h2.index.Index.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 1823
      StackMap locals: org.h2.store.PageStore
      StackMap stack:
            aload 3
            monitorexit
        18: goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: aload 3
            monitorexit
        20: athrow
        21: .line 1829
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.h2.engine.Session session
        end local 1 // org.h2.index.Index index
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lorg/h2/store/PageStore;
            0   22     1    index  Lorg/h2/index/Index;
            0   22     2  session  Lorg/h2/engine/Session;
      Exception table:
        from    to  target  type
           4     6       7  any
           7     8       7  any
           3    10      11  any
          11    12      11  any
          14    18      19  any
          19    20      19  any
    MethodParameters:
         Name  Flags
      index    
      session  

  private void removeMetaIndex(org.h2.index.Index, org.h2.engine.Session);
    descriptor: (Lorg/h2/index/Index;Lorg/h2/engine/Session;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.index.Index index
        start local 2 // org.h2.engine.Session session
         0: .line 1832
            aload 1 /* index */
            invokeinterface org.h2.index.Index.getId:()I
            iconst_1
            iadd
            istore 3 /* key */
        start local 3 // int key
         1: .line 1833
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaIndex:Lorg/h2/index/PageDataIndex;
            aload 2 /* session */
            iload 3 /* key */
            i2l
            invokevirtual org.h2.index.PageDataIndex.getRow:(Lorg/h2/engine/Session;J)Lorg/h2/result/Row;
            astore 4 /* row */
        start local 4 // org.h2.result.Row row
         2: .line 1834
            aload 4 /* row */
            invokeinterface org.h2.result.Row.getKey:()J
            iload 3 /* key */
            i2l
            lcmp
            ifeq 8
         3: .line 1835
            ldc 90030
         4: .line 1836
            new java.lang.StringBuilder
            dup
            ldc "key: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* key */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " index: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 1837
            ldc " table: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* index */
            invokeinterface org.h2.index.Index.getTable:()Lorg/h2/table/Table;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " row: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* row */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         6: .line 1836
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1835
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         8: .line 1839
      StackMap locals: int org.h2.result.Row
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaIndex:Lorg/h2/index/PageDataIndex;
            aload 2 /* session */
            aload 4 /* row */
            invokevirtual org.h2.index.PageDataIndex.remove:(Lorg/h2/engine/Session;Lorg/h2/result/Row;)V
         9: .line 1840
            return
        end local 4 // org.h2.result.Row row
        end local 3 // int key
        end local 2 // org.h2.engine.Session session
        end local 1 // org.h2.index.Index index
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/h2/store/PageStore;
            0   10     1    index  Lorg/h2/index/Index;
            0   10     2  session  Lorg/h2/engine/Session;
            1   10     3      key  I
            2   10     4      row  Lorg/h2/result/Row;
    MethodParameters:
         Name  Flags
      index    
      session  

  public void setMaxLogSize(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // long maxSize
         0: .line 1848
            aload 0 /* this */
            lload 1 /* maxSize */
            putfield org.h2.store.PageStore.maxLogSize:J
         1: .line 1849
            return
        end local 1 // long maxSize
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/h2/store/PageStore;
            0    2     1  maxSize  J
    MethodParameters:
         Name  Flags
      maxSize  

  public synchronized void setInDoubtTransactionState(int, int, boolean);
    descriptor: (IIZ)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.h2.store.PageStore this
        start local 1 // int sessionId
        start local 2 // int pageId
        start local 3 // boolean commit
         0: .line 1861
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.isReadOnly:()Z
            istore 4 /* old */
        start local 4 // boolean old
         1: .line 1863
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            iconst_0
            invokevirtual org.h2.engine.Database.setReadOnly:(Z)V
         2: .line 1864
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            iload 1 /* sessionId */
            iload 2 /* pageId */
            iload 3 /* commit */
            invokevirtual org.h2.store.PageLog.setInDoubtTransactionState:(IIZ)V
         3: .line 1865
            goto 7
      StackMap locals: org.h2.store.PageStore int int int int
      StackMap stack: java.lang.Throwable
         4: astore 5
         5: .line 1866
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            iload 4 /* old */
            invokevirtual org.h2.engine.Database.setReadOnly:(Z)V
         6: .line 1867
            aload 5
            athrow
         7: .line 1866
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.store.PageStore.database:Lorg/h2/engine/Database;
            iload 4 /* old */
            invokevirtual org.h2.engine.Database.setReadOnly:(Z)V
         8: .line 1868
            return
        end local 4 // boolean old
        end local 3 // boolean commit
        end local 2 // int pageId
        end local 1 // int sessionId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/h2/store/PageStore;
            0    9     1  sessionId  I
            0    9     2     pageId  I
            0    9     3     commit  Z
            1    9     4        old  Z
      Exception table:
        from    to  target  type
           1     4       4  any
    MethodParameters:
           Name  Flags
      sessionId  
      pageId     
      commit     

  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.store.PageStore this
         0: .line 1876
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            invokevirtual org.h2.store.PageLog.getInDoubtTransactions:()Ljava/util/ArrayList;
            areturn
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/store/PageStore;
    Signature: ()Ljava/util/ArrayList<Lorg/h2/store/InDoubtTransaction;>;

  public boolean isRecoveryRunning();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1885
            aload 0 /* this */
            getfield org.h2.store.PageStore.recoveryRunning:Z
            ireturn
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/store/PageStore;

  private void checkOpen();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1889
            aload 0 /* this */
            getfield org.h2.store.PageStore.file:Lorg/h2/store/FileStore;
            ifnonnull 2
         1: .line 1890
            ldc 90098
            invokestatic org.h2.message.DbException.get:(I)Lorg/h2/message/DbException;
            athrow
         2: .line 1892
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/store/PageStore;

  public long getWriteCountTotal();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1900
            aload 0 /* this */
            getfield org.h2.store.PageStore.writeCount:J
            aload 0 /* this */
            getfield org.h2.store.PageStore.writeCountBase:J
            ladd
            lreturn
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/store/PageStore;

  public long getWriteCount();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1909
            aload 0 /* this */
            getfield org.h2.store.PageStore.writeCount:J
            lreturn
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/store/PageStore;

  public long getReadCount();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1918
            aload 0 /* this */
            getfield org.h2.store.PageStore.readCount:J
            lreturn
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/store/PageStore;

  public synchronized void logTruncate(org.h2.engine.Session, int);
    descriptor: (Lorg/h2/engine/Session;I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // org.h2.engine.Session session
        start local 2 // int tableId
         0: .line 1928
            aload 0 /* this */
            getfield org.h2.store.PageStore.recoveryRunning:Z
            ifne 3
         1: .line 1929
            aload 0 /* this */
            invokevirtual org.h2.store.PageStore.openForWriting:()V
         2: .line 1930
            aload 0 /* this */
            getfield org.h2.store.PageStore.log:Lorg/h2/store/PageLog;
            aload 1 /* session */
            iload 2 /* tableId */
            invokevirtual org.h2.store.PageLog.logTruncate:(Lorg/h2/engine/Session;I)V
         3: .line 1932
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int tableId
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/h2/store/PageStore;
            0    4     1  session  Lorg/h2/engine/Session;
            0    4     2  tableId  I
    MethodParameters:
         Name  Flags
      session  
      tableId  

  public int getRootPageId(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int indexId
         0: .line 1941
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaRootPageId:Lorg/h2/util/IntIntHashMap;
            iload 1 /* indexId */
            invokevirtual org.h2.util.IntIntHashMap.get:(I)I
            ireturn
        end local 1 // int indexId
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/h2/store/PageStore;
            0    1     1  indexId  I
    MethodParameters:
         Name  Flags
      indexId  

  public org.h2.util.Cache getCache();
    descriptor: ()Lorg/h2/util/Cache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1945
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            areturn
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/store/PageStore;

  private void checksumSet(byte[], int);
    descriptor: ([BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.h2.store.PageStore this
        start local 1 // byte[] d
        start local 2 // int pageId
         0: .line 1949
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageSize:I
            istore 3 /* ps */
        start local 3 // int ps
         1: .line 1950
            aload 1 /* d */
            iconst_0
            baload
            istore 4 /* type */
        start local 4 // int type
         2: .line 1951
            iload 4 /* type */
            ifne 4
         3: .line 1952
            return
         4: .line 1954
      StackMap locals: int int
      StackMap stack:
            sipush 255
            iload 4 /* type */
            sipush 255
            iand
            iadd
            istore 5 /* s1 */
        start local 5 // int s1
         5: sipush 255
            iload 5 /* s1 */
            iadd
            istore 6 /* s2 */
        start local 6 // int s2
         6: .line 1955
            iload 6 /* s2 */
            iload 5 /* s1 */
            aload 1 /* d */
            bipush 6
            baload
            sipush 255
            iand
            iadd
            dup
            istore 5 /* s1 */
            iadd
            istore 6 /* s2 */
         7: .line 1956
            iload 6 /* s2 */
            iload 5 /* s1 */
            aload 1 /* d */
            iload 3 /* ps */
            iconst_1
            ishr
            iconst_1
            isub
            baload
            sipush 255
            iand
            iadd
            dup
            istore 5 /* s1 */
            iadd
            istore 6 /* s2 */
         8: .line 1957
            iload 6 /* s2 */
            iload 5 /* s1 */
            aload 1 /* d */
            iload 3 /* ps */
            iconst_1
            ishr
            baload
            sipush 255
            iand
            iadd
            dup
            istore 5 /* s1 */
            iadd
            istore 6 /* s2 */
         9: .line 1958
            iload 6 /* s2 */
            iload 5 /* s1 */
            aload 1 /* d */
            iload 3 /* ps */
            iconst_2
            isub
            baload
            sipush 255
            iand
            iadd
            dup
            istore 5 /* s1 */
            iadd
            istore 6 /* s2 */
        10: .line 1959
            iload 6 /* s2 */
            iload 5 /* s1 */
            aload 1 /* d */
            iload 3 /* ps */
            iconst_1
            isub
            baload
            sipush 255
            iand
            iadd
            dup
            istore 5 /* s1 */
            iadd
            istore 6 /* s2 */
        11: .line 1960
            aload 1 /* d */
            iconst_1
            iload 5 /* s1 */
            sipush 255
            iand
            iload 5 /* s1 */
            bipush 8
            ishr
            iadd
            iload 2 /* pageId */
            ixor
            i2b
            bastore
        12: .line 1961
            aload 1 /* d */
            iconst_2
            iload 6 /* s2 */
            sipush 255
            iand
            iload 6 /* s2 */
            bipush 8
            ishr
            iadd
            iload 2 /* pageId */
            bipush 8
            ishr
            ixor
            i2b
            bastore
        13: .line 1962
            return
        end local 6 // int s2
        end local 5 // int s1
        end local 4 // int type
        end local 3 // int ps
        end local 2 // int pageId
        end local 1 // byte[] d
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/h2/store/PageStore;
            0   14     1       d  [B
            0   14     2  pageId  I
            1   14     3      ps  I
            2   14     4    type  I
            5   14     5      s1  I
            6   14     6      s2  I
    MethodParameters:
        Name  Flags
      d       
      pageId  

  public static boolean checksumTest(byte[], int, int);
    descriptor: ([BII)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // byte[] d
        start local 1 // int pageId
        start local 2 // int pageSize
         0: .line 1972
            sipush 255
            aload 0 /* d */
            iconst_0
            baload
            sipush 255
            iand
            iadd
            istore 3 /* s1 */
        start local 3 // int s1
         1: sipush 255
            iload 3 /* s1 */
            iadd
            istore 4 /* s2 */
        start local 4 // int s2
         2: .line 1973
            iload 4 /* s2 */
            iload 3 /* s1 */
            aload 0 /* d */
            bipush 6
            baload
            sipush 255
            iand
            iadd
            dup
            istore 3 /* s1 */
            iadd
            istore 4 /* s2 */
         3: .line 1974
            iload 4 /* s2 */
            iload 3 /* s1 */
            aload 0 /* d */
            iload 2 /* pageSize */
            iconst_1
            ishr
            iconst_1
            isub
            baload
            sipush 255
            iand
            iadd
            dup
            istore 3 /* s1 */
            iadd
            istore 4 /* s2 */
         4: .line 1975
            iload 4 /* s2 */
            iload 3 /* s1 */
            aload 0 /* d */
            iload 2 /* pageSize */
            iconst_1
            ishr
            baload
            sipush 255
            iand
            iadd
            dup
            istore 3 /* s1 */
            iadd
            istore 4 /* s2 */
         5: .line 1976
            iload 4 /* s2 */
            iload 3 /* s1 */
            aload 0 /* d */
            iload 2 /* pageSize */
            iconst_2
            isub
            baload
            sipush 255
            iand
            iadd
            dup
            istore 3 /* s1 */
            iadd
            istore 4 /* s2 */
         6: .line 1977
            iload 4 /* s2 */
            iload 3 /* s1 */
            aload 0 /* d */
            iload 2 /* pageSize */
            iconst_1
            isub
            baload
            sipush 255
            iand
            iadd
            dup
            istore 3 /* s1 */
            iadd
            istore 4 /* s2 */
         7: .line 1978
            aload 0 /* d */
            iconst_1
            baload
            iload 3 /* s1 */
            sipush 255
            iand
            iload 3 /* s1 */
            bipush 8
            ishr
            iadd
            iload 1 /* pageId */
            ixor
            i2b
            if_icmpne 10
            aload 0 /* d */
            iconst_2
            baload
            iload 4 /* s2 */
            sipush 255
            iand
            iload 4 /* s2 */
            bipush 8
            ishr
            iadd
            iload 1 /* pageId */
         8: .line 1979
            bipush 8
            ishr
            ixor
            i2b
            if_icmpne 10
         9: .line 1978
            iconst_1
            ireturn
      StackMap locals: int int
      StackMap stack:
        10: iconst_0
            ireturn
        end local 4 // int s2
        end local 3 // int s1
        end local 2 // int pageSize
        end local 1 // int pageId
        end local 0 // byte[] d
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0         d  [B
            0   11     1    pageId  I
            0   11     2  pageSize  I
            1   11     3        s1  I
            2   11     4        s2  I
    MethodParameters:
          Name  Flags
      d         
      pageId    
      pageSize  

  public void incrementChangeCount();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1986
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.changeCount:J
            lconst_1
            ladd
            dup2_x1
            putfield org.h2.store.PageStore.changeCount:J
            lconst_0
            lcmp
            ifge 2
         1: .line 1987
            ldc "changeCount has wrapped"
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         2: .line 1989
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/store/PageStore;

  public long getChangeCount();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 1997
            aload 0 /* this */
            getfield org.h2.store.PageStore.changeCount:J
            lreturn
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/store/PageStore;

  public void setLogMode(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int logMode
         0: .line 2001
            aload 0 /* this */
            iload 1 /* logMode */
            putfield org.h2.store.PageStore.logMode:I
         1: .line 2002
            return
        end local 1 // int logMode
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/h2/store/PageStore;
            0    2     1  logMode  I
    MethodParameters:
         Name  Flags
      logMode  

  public int getLogMode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 2005
            aload 0 /* this */
            getfield org.h2.store.PageStore.logMode:I
            ireturn
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/store/PageStore;

  public void setLockFile(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // boolean lockFile
         0: .line 2009
            aload 0 /* this */
            iload 1 /* lockFile */
            putfield org.h2.store.PageStore.lockFile:Z
         1: .line 2010
            return
        end local 1 // boolean lockFile
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/h2/store/PageStore;
            0    2     1  lockFile  Z
    MethodParameters:
          Name  Flags
      lockFile  

  public java.util.BitSet getObjectIds();
    descriptor: ()Ljava/util/BitSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.h2.store.PageStore this
         0: .line 2013
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            astore 1 /* f */
        start local 1 // java.util.BitSet f
         1: .line 2014
            aload 0 /* this */
            getfield org.h2.store.PageStore.metaIndex:Lorg/h2/index/PageDataIndex;
            aload 0 /* this */
            getfield org.h2.store.PageStore.pageStoreSession:Lorg/h2/engine/Session;
            aconst_null
            aconst_null
            invokevirtual org.h2.index.PageDataIndex.find:(Lorg/h2/engine/Session;Lorg/h2/result/SearchRow;Lorg/h2/result/SearchRow;)Lorg/h2/index/Cursor;
            astore 2 /* cursor */
        start local 2 // org.h2.index.Cursor cursor
         2: .line 2015
            goto 7
         3: .line 2016
      StackMap locals: java.util.BitSet org.h2.index.Cursor
      StackMap stack:
            aload 2 /* cursor */
            invokeinterface org.h2.index.Cursor.get:()Lorg/h2/result/Row;
            astore 3 /* row */
        start local 3 // org.h2.result.Row row
         4: .line 2017
            aload 3 /* row */
            iconst_0
            invokeinterface org.h2.result.Row.getValue:(I)Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getInt:()I
            istore 4 /* id */
        start local 4 // int id
         5: .line 2018
            iload 4 /* id */
            ifle 7
         6: .line 2019
            aload 1 /* f */
            iload 4 /* id */
            invokevirtual java.util.BitSet.set:(I)V
        end local 4 // int id
        end local 3 // org.h2.result.Row row
         7: .line 2015
      StackMap locals:
      StackMap stack:
            aload 2 /* cursor */
            invokeinterface org.h2.index.Cursor.next:()Z
            ifne 3
         8: .line 2022
            aload 1 /* f */
            areturn
        end local 2 // org.h2.index.Cursor cursor
        end local 1 // java.util.BitSet f
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/h2/store/PageStore;
            1    9     1       f  Ljava/util/BitSet;
            2    9     2  cursor  Lorg/h2/index/Cursor;
            4    7     3     row  Lorg/h2/result/Row;
            5    7     4      id  I

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

  public synchronized void setBackup(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // boolean start
         0: .line 2030
            aload 0 /* this */
            dup
            getfield org.h2.store.PageStore.backupLevel:I
            iload 1 /* start */
            ifeq 1
            iconst_1
            goto 2
      StackMap locals: org.h2.store.PageStore int
      StackMap stack: org.h2.store.PageStore int
         1: iconst_m1
      StackMap locals: org.h2.store.PageStore int
      StackMap stack: org.h2.store.PageStore int int
         2: iadd
            putfield org.h2.store.PageStore.backupLevel:I
         3: .line 2031
            return
        end local 1 // boolean start
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/h2/store/PageStore;
            0    4     1  start  Z
    MethodParameters:
       Name  Flags
      start  

  public synchronized void setMaxCacheMemory(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.store.PageStore this
        start local 1 // int size
         0: .line 2034
            aload 0 /* this */
            getfield org.h2.store.PageStore.cache:Lorg/h2/util/Cache;
            iload 1 /* size */
            invokeinterface org.h2.util.Cache.setMaxMemory:(I)V
         1: .line 2035
            return
        end local 1 // int size
        end local 0 // org.h2.store.PageStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/store/PageStore;
            0    2     1  size  I
    MethodParameters:
      Name  Flags
      size  
}
SourceFile: "PageStore.java"