public class org.hsqldb.persist.TextCache extends org.hsqldb.persist.DataFileCache
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.persist.TextCache
  super_class: org.hsqldb.persist.DataFileCache
{
  org.hsqldb.persist.TextFileSettings textFileSettings;
    descriptor: Lorg/hsqldb/persist/TextFileSettings;
    flags: (0x0000) 

  protected java.lang.String header;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected org.hsqldb.Table table;
    descriptor: Lorg/hsqldb/Table;
    flags: (0x0004) ACC_PROTECTED

  private org.hsqldb.lib.LongKeyHashMap uncommittedCache;
    descriptor: Lorg/hsqldb/lib/LongKeyHashMap;
    flags: (0x0002) ACC_PRIVATE

  org.hsqldb.lib.HsqlByteArrayOutputStream buffer;
    descriptor: Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
    flags: (0x0000) 

  void <init>(org.hsqldb.Table, java.lang.String);
    descriptor: (Lorg/hsqldb/Table;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // org.hsqldb.Table table
        start local 2 // java.lang.String name
         0: .line 95
            aload 0 /* this */
            aload 1 /* table */
            getfield org.hsqldb.Table.database:Lorg/hsqldb/Database;
            aload 2 /* name */
            invokespecial org.hsqldb.persist.DataFileCache.<init>:(Lorg/hsqldb/Database;Ljava/lang/String;)V
         1: .line 81
            aload 0 /* this */
            new org.hsqldb.lib.HsqlByteArrayOutputStream
            dup
            sipush 128
            invokespecial org.hsqldb.lib.HsqlByteArrayOutputStream.<init>:(I)V
            putfield org.hsqldb.persist.TextCache.buffer:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
         2: .line 97
            aload 0 /* this */
            aload 1 /* table */
            putfield org.hsqldb.persist.TextCache.table:Lorg/hsqldb/Table;
         3: .line 98
            aload 0 /* this */
            new org.hsqldb.lib.LongKeyHashMap
            dup
            invokespecial org.hsqldb.lib.LongKeyHashMap.<init>:()V
            putfield org.hsqldb.persist.TextCache.uncommittedCache:Lorg/hsqldb/lib/LongKeyHashMap;
         4: .line 99
            return
        end local 2 // java.lang.String name
        end local 1 // org.hsqldb.Table table
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/hsqldb/persist/TextCache;
            0    5     1  table  Lorg/hsqldb/Table;
            0    5     2   name  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      table  
      name   

  protected void initParams(org.hsqldb.Database, java.lang.String, boolean);
    descriptor: (Lorg/hsqldb/Database;Ljava/lang/String;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // org.hsqldb.Database database
        start local 2 // java.lang.String settingsString
        start local 3 // boolean defrag
         0: .line 104
            aload 0 /* this */
            aload 1 /* database */
            putfield org.hsqldb.persist.TextCache.database:Lorg/hsqldb/Database;
         1: .line 105
            aload 0 /* this */
            invokestatic org.hsqldb.lib.FileUtil.getFileUtil:()Lorg/hsqldb/lib/FileUtil;
            putfield org.hsqldb.persist.TextCache.fa:Lorg/hsqldb/lib/FileAccess;
         2: .line 106
            aload 0 /* this */
            new org.hsqldb.persist.TextFileSettings
            dup
            aload 1 /* database */
            invokevirtual org.hsqldb.Database.getProperties:()Lorg/hsqldb/persist/HsqlDatabaseProperties;
         3: .line 107
            aload 2 /* settingsString */
            invokespecial org.hsqldb.persist.TextFileSettings.<init>:(Lorg/hsqldb/persist/HsqlDatabaseProperties;Ljava/lang/String;)V
         4: .line 106
            putfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
         5: .line 108
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            invokevirtual org.hsqldb.persist.TextFileSettings.getFileName:()Ljava/lang/String;
            putfield org.hsqldb.persist.TextCache.dataFileName:Ljava/lang/String;
         6: .line 110
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFileName:Ljava/lang/String;
            ifnonnull 8
         7: .line 111
            sipush 301
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         8: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.fa:Lorg/hsqldb/lib/FileAccess;
            checkcast org.hsqldb.lib.FileUtil
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFileName:Ljava/lang/String;
            invokevirtual org.hsqldb.lib.FileUtil.canonicalOrAbsolutePath:(Ljava/lang/String;)Ljava/lang/String;
            putfield org.hsqldb.persist.TextCache.dataFileName:Ljava/lang/String;
         9: .line 115
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            invokevirtual org.hsqldb.persist.TextFileSettings.getMaxCacheRows:()I
            putfield org.hsqldb.persist.TextCache.maxCacheRows:I
        10: .line 116
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            invokevirtual org.hsqldb.persist.TextFileSettings.getMaxCacheBytes:()I
            i2l
            putfield org.hsqldb.persist.TextCache.maxCacheBytes:J
        11: .line 119
            aload 0 /* this */
            ldc 274877906816
            putfield org.hsqldb.persist.TextCache.maxDataFileSize:J
        12: .line 120
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.persist.TextCache.cachedRowPadding:I
        13: .line 121
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.persist.TextCache.dataFileScale:I
        14: .line 122
            return
        end local 3 // boolean defrag
        end local 2 // java.lang.String settingsString
        end local 1 // org.hsqldb.Database database
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lorg/hsqldb/persist/TextCache;
            0   15     1        database  Lorg/hsqldb/Database;
            0   15     2  settingsString  Ljava/lang/String;
            0   15     3          defrag  Z
    MethodParameters:
                Name  Flags
      database        
      settingsString  
      defrag          

  protected void initBuffers();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hsqldb.persist.TextCache this
         0: .line 126
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            getfield org.hsqldb.persist.TextFileSettings.isQuoted:Z
            ifne 1
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            getfield org.hsqldb.persist.TextFileSettings.isAllQuoted:Z
            ifeq 4
         1: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.hsqldb.rowio.RowInputTextQuoted
            dup
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            invokespecial org.hsqldb.rowio.RowInputTextQuoted.<init>:(Lorg/hsqldb/persist/TextFileSettings;)V
            putfield org.hsqldb.persist.TextCache.rowIn:Lorg/hsqldb/rowio/RowInputInterface;
         2: .line 128
            aload 0 /* this */
            new org.hsqldb.rowio.RowOutputTextQuoted
            dup
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            invokespecial org.hsqldb.rowio.RowOutputTextQuoted.<init>:(Lorg/hsqldb/persist/TextFileSettings;)V
            putfield org.hsqldb.persist.TextCache.rowOut:Lorg/hsqldb/rowio/RowOutputInterface;
         3: .line 129
            goto 6
         4: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.hsqldb.rowio.RowInputText
            dup
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            invokespecial org.hsqldb.rowio.RowInputText.<init>:(Lorg/hsqldb/persist/TextFileSettings;)V
            putfield org.hsqldb.persist.TextCache.rowIn:Lorg/hsqldb/rowio/RowInputInterface;
         5: .line 131
            aload 0 /* this */
            new org.hsqldb.rowio.RowOutputText
            dup
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            invokespecial org.hsqldb.rowio.RowOutputText.<init>:(Lorg/hsqldb/persist/TextFileSettings;)V
            putfield org.hsqldb.persist.TextCache.rowOut:Lorg/hsqldb/rowio/RowOutputInterface;
         6: .line 133
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hsqldb/persist/TextCache;

  public void open(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // boolean readonly
         0: .line 140
            aload 0 /* this */
            lconst_0
            putfield org.hsqldb.persist.TextCache.fileFreePosition:J
         1: .line 143
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.database:Lorg/hsqldb/Database;
            invokevirtual org.hsqldb.Database.getType:()Lorg/hsqldb/DatabaseType;
            getstatic org.hsqldb.DatabaseType.DB_RES:Lorg/hsqldb/DatabaseType;
            if_acmpne 3
         2: .line 144
            iconst_2
            goto 4
         3: .line 145
      StackMap locals:
      StackMap stack:
            iconst_5
         4: .line 143
      StackMap locals:
      StackMap stack: int
            istore 2 /* type */
        start local 2 // int type
         5: .line 147
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.database:Lorg/hsqldb/Database;
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFileName:Ljava/lang/String;
         6: .line 148
            iload 1 /* readonly */
            iload 2 /* type */
         7: .line 147
            invokestatic org.hsqldb.persist.RAFile.newScaledRAFile:(Lorg/hsqldb/Database;Ljava/lang/String;ZI)Lorg/hsqldb/persist/RandomAccessInterface;
            putfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
         8: .line 149
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            invokeinterface org.hsqldb.persist.RandomAccessInterface.length:()J
            putfield org.hsqldb.persist.TextCache.fileFreePosition:J
         9: .line 151
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.fileFreePosition:J
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.maxDataFileSize:J
            lcmp
            ifle 11
        10: .line 152
            sipush 468
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        11: .line 155
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hsqldb.persist.TextCache.initBuffers:()V
        12: .line 157
            aload 0 /* this */
            new org.hsqldb.persist.DataSpaceManagerSimple
            dup
            aload 0 /* this */
            iload 1 /* readonly */
            invokespecial org.hsqldb.persist.DataSpaceManagerSimple.<init>:(Lorg/hsqldb/persist/DataFileCache;Z)V
            putfield org.hsqldb.persist.TextCache.spaceManager:Lorg/hsqldb/persist/DataSpaceManager;
        end local 2 // int type
        13: .line 158
            goto 20
      StackMap locals: org.hsqldb.persist.TextCache int
      StackMap stack: java.lang.Throwable
        14: astore 2 /* t */
        start local 2 // java.lang.Throwable t
        15: .line 159
            aload 2 /* t */
            sipush 452
        16: .line 160
            bipush 42
        17: .line 161
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        18: .line 162
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFileName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* t */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            aastore
        19: .line 159
            invokestatic org.hsqldb.error.Error.error:(Ljava/lang/Throwable;II[Ljava/lang/Object;)Lorg/hsqldb/HsqlException;
            athrow
        end local 2 // java.lang.Throwable t
        20: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* readonly */
            putfield org.hsqldb.persist.TextCache.cacheReadonly:Z
        21: .line 167
            return
        end local 1 // boolean readonly
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lorg/hsqldb/persist/TextCache;
            0   22     1  readonly  Z
            5   13     2      type  I
           15   20     2         t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1    13      14  Class java.lang.Throwable
    MethodParameters:
          Name  Flags
      readonly  

  public void release();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.persist.TextCache this
         0: .line 170
            aload 0 /* this */
            invokevirtual org.hsqldb.persist.TextCache.close:()V
         1: .line 171
            return
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/persist/TextCache;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.hsqldb.persist.TextCache this
         0: .line 180
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            ifnonnull 2
         1: .line 181
            return
         2: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         3: .line 187
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.cache:Lorg/hsqldb/persist/Cache;
            invokevirtual org.hsqldb.persist.Cache.saveAll:()V
         4: .line 189
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            invokeinterface org.hsqldb.persist.RandomAccessInterface.length:()J
         5: .line 190
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            getfield org.hsqldb.persist.TextFileSettings.bytesForLineEnd:[B
            arraylength
            i2l
         6: .line 189
            lcmp
            ifgt 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 1 /* empty */
        start local 1 // boolean empty
         9: .line 192
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            invokeinterface org.hsqldb.persist.RandomAccessInterface.synch:()V
        10: .line 193
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            invokeinterface org.hsqldb.persist.RandomAccessInterface.close:()V
        11: .line 195
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
        12: .line 197
            iload 1 /* empty */
            ifeq 14
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.cacheReadonly:Z
            ifne 14
        13: .line 198
            invokestatic org.hsqldb.lib.FileUtil.getFileUtil:()Lorg/hsqldb/lib/FileUtil;
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFileName:Ljava/lang/String;
            invokevirtual org.hsqldb.lib.FileUtil.delete:(Ljava/lang/String;)Z
            pop
        14: .line 201
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.uncommittedCache:Lorg/hsqldb/lib/LongKeyHashMap;
            invokevirtual org.hsqldb.lib.LongKeyHashMap.clear:()V
        end local 1 // boolean empty
        15: .line 202
            goto 25
      StackMap locals: org.hsqldb.persist.TextCache
      StackMap stack: java.lang.Throwable
        16: astore 1 /* t */
        start local 1 // java.lang.Throwable t
        17: .line 203
            aload 1 /* t */
            sipush 452
        18: .line 204
            bipush 43
        19: .line 205
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        20: .line 206
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFileName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* t */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            aastore
        21: .line 203
            invokestatic org.hsqldb.error.Error.error:(Ljava/lang/Throwable;II[Ljava/lang/Object;)Lorg/hsqldb/HsqlException;
            athrow
        end local 1 // java.lang.Throwable t
        22: .line 208
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
        23: .line 209
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        24: .line 210
            aload 2
            athrow
        25: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        26: .line 211
            return
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   27     0   this  Lorg/hsqldb/persist/TextCache;
            9   15     1  empty  Z
           17   22     1      t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3    15      16  Class java.lang.Throwable
           3    22      22  any

  void purge();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.hsqldb.persist.TextCache this
         0: .line 218
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 221
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.uncommittedCache:Lorg/hsqldb/lib/LongKeyHashMap;
            invokevirtual org.hsqldb.lib.LongKeyHashMap.clear:()V
         2: .line 223
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.cacheReadonly:Z
            ifeq 5
         3: .line 224
            aload 0 /* this */
            invokevirtual org.hsqldb.persist.TextCache.release:()V
         4: .line 225
            goto 19
         5: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            ifnull 8
         6: .line 227
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            invokeinterface org.hsqldb.persist.RandomAccessInterface.close:()V
         7: .line 229
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
         8: .line 232
      StackMap locals:
      StackMap stack:
            invokestatic org.hsqldb.lib.FileUtil.getFileUtil:()Lorg/hsqldb/lib/FileUtil;
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFileName:Ljava/lang/String;
            invokevirtual org.hsqldb.lib.FileUtil.delete:(Ljava/lang/String;)Z
            pop
         9: .line 234
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 1 /* t */
        start local 1 // java.lang.Throwable t
        11: .line 235
            aload 1 /* t */
            sipush 452
        12: .line 236
            bipush 44
        13: .line 237
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        14: .line 238
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFileName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* t */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            aastore
        15: .line 235
            invokestatic org.hsqldb.error.Error.error:(Ljava/lang/Throwable;II[Ljava/lang/Object;)Lorg/hsqldb/HsqlException;
            athrow
        end local 1 // java.lang.Throwable t
        16: .line 240
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
        17: .line 241
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        18: .line 242
            aload 2
            athrow
        19: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        20: .line 243
            return
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lorg/hsqldb/persist/TextCache;
           11   16     1     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     9      10  Class java.lang.Throwable
           1    16      16  any

  public void remove(org.hsqldb.persist.CachedObject);
    descriptor: (Lorg/hsqldb/persist/CachedObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // org.hsqldb.persist.CachedObject object
         0: .line 250
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 253
            aload 1 /* object */
            invokeinterface org.hsqldb.persist.CachedObject.getPos:()J
            lstore 2 /* pos */
        start local 2 // long pos
         2: .line 254
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.uncommittedCache:Lorg/hsqldb/lib/LongKeyHashMap;
            lload 2 /* pos */
            invokevirtual org.hsqldb.lib.LongKeyHashMap.remove:(J)Ljava/lang/Object;
            checkcast org.hsqldb.persist.CachedObject
            astore 4 /* row */
        start local 4 // org.hsqldb.persist.CachedObject row
         3: .line 256
            aload 4 /* row */
            ifnull 6
         4: .line 262
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         5: .line 257
            return
         6: .line 260
      StackMap locals: long org.hsqldb.persist.CachedObject
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.cache:Lorg/hsqldb/persist/Cache;
            lload 2 /* pos */
            invokevirtual org.hsqldb.persist.Cache.release:(J)Lorg/hsqldb/persist/CachedObject;
            pop
        end local 4 // org.hsqldb.persist.CachedObject row
        end local 2 // long pos
         7: .line 261
            goto 11
      StackMap locals: org.hsqldb.persist.TextCache org.hsqldb.persist.CachedObject
      StackMap stack: java.lang.Throwable
         8: astore 5
         9: .line 262
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        10: .line 263
            aload 5
            athrow
        11: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        12: .line 264
            return
        end local 1 // org.hsqldb.persist.CachedObject object
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/hsqldb/persist/TextCache;
            0   13     1  object  Lorg/hsqldb/persist/CachedObject;
            2    7     2     pos  J
            3    7     4     row  Lorg/hsqldb/persist/CachedObject;
      Exception table:
        from    to  target  type
           1     4       8  any
           6     8       8  any
    MethodParameters:
        Name  Flags
      object  

  public void removePersistence(org.hsqldb.persist.CachedObject);
    descriptor: (Lorg/hsqldb/persist/CachedObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // org.hsqldb.persist.CachedObject row
         0: .line 268
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 271
            aload 0 /* this */
            aload 1 /* row */
            invokevirtual org.hsqldb.persist.TextCache.clearRowImage:(Lorg/hsqldb/persist/CachedObject;)V
         2: .line 272
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 2
         4: .line 273
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         5: .line 274
            aload 2
            athrow
         6: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         7: .line 275
            return
        end local 1 // org.hsqldb.persist.CachedObject row
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hsqldb/persist/TextCache;
            0    8     1   row  Lorg/hsqldb/persist/CachedObject;
      Exception table:
        from    to  target  type
           1     3       3  any
    MethodParameters:
      Name  Flags
      row   

  private void clearRowImage(org.hsqldb.persist.CachedObject);
    descriptor: (Lorg/hsqldb/persist/CachedObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // org.hsqldb.persist.CachedObject row
         0: .line 280
            aload 1 /* row */
            invokeinterface org.hsqldb.persist.CachedObject.getStorageSize:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 281
            iload 2 /* length */
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            getfield org.hsqldb.persist.TextFileSettings.bytesForLineEnd:[B
            arraylength
            isub
            istore 3 /* count */
        start local 3 // int count
         2: .line 283
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.rowOut:Lorg/hsqldb/rowio/RowOutputInterface;
            invokeinterface org.hsqldb.rowio.RowOutputInterface.reset:()V
         3: .line 285
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.rowOut:Lorg/hsqldb/rowio/RowOutputInterface;
            invokeinterface org.hsqldb.rowio.RowOutputInterface.getOutputStream:()Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
            astore 4 /* out */
        start local 4 // org.hsqldb.lib.HsqlByteArrayOutputStream out
         4: .line 287
            goto 7
         5: .line 288
      StackMap locals: int int org.hsqldb.lib.HsqlByteArrayOutputStream
      StackMap stack:
            aload 4 /* out */
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            getfield org.hsqldb.persist.TextFileSettings.bytesForSpace:[B
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.write:([B)V
         6: .line 287
            iload 3 /* count */
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            getfield org.hsqldb.persist.TextFileSettings.bytesForSpace:[B
            arraylength
            isub
            istore 3 /* count */
      StackMap locals:
      StackMap stack:
         7: iload 3 /* count */
            ifgt 5
         8: .line 291
            aload 4 /* out */
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            getfield org.hsqldb.persist.TextFileSettings.bytesForLineEnd:[B
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.write:([B)V
         9: .line 292
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            aload 1 /* row */
            invokeinterface org.hsqldb.persist.CachedObject.getPos:()J
            invokeinterface org.hsqldb.persist.RandomAccessInterface.seek:(J)V
        10: .line 293
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            aload 4 /* out */
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.getBuffer:()[B
            iconst_0
            aload 4 /* out */
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.size:()I
            invokeinterface org.hsqldb.persist.RandomAccessInterface.write:([BII)V
        end local 4 // org.hsqldb.lib.HsqlByteArrayOutputStream out
        end local 3 // int count
        end local 2 // int length
        11: .line 294
            goto 14
      StackMap locals: org.hsqldb.persist.TextCache org.hsqldb.persist.CachedObject
      StackMap stack: java.lang.Throwable
        12: astore 2 /* t */
        start local 2 // java.lang.Throwable t
        13: .line 295
            sipush 201
            aload 2 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Throwable t
        14: .line 297
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hsqldb.persist.CachedObject row
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/hsqldb/persist/TextCache;
            0   15     1     row  Lorg/hsqldb/persist/CachedObject;
            1   11     2  length  I
            2   11     3   count  I
            4   11     4     out  Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
           13   14     2       t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0    11      12  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      row   

  public void addInit(org.hsqldb.persist.CachedObject);
    descriptor: (Lorg/hsqldb/persist/CachedObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // org.hsqldb.persist.CachedObject object
         0: .line 301
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 304
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.cache:Lorg/hsqldb/persist/Cache;
            aload 1 /* object */
            invokevirtual org.hsqldb.persist.Cache.put:(Lorg/hsqldb/persist/CachedObject;)V
         2: .line 305
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 2
         4: .line 306
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         5: .line 307
            aload 2
            athrow
         6: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         7: .line 308
            return
        end local 1 // org.hsqldb.persist.CachedObject object
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/hsqldb/persist/TextCache;
            0    8     1  object  Lorg/hsqldb/persist/CachedObject;
      Exception table:
        from    to  target  type
           1     3       3  any
    MethodParameters:
        Name  Flags
      object  

  public void add(org.hsqldb.persist.CachedObject, boolean);
    descriptor: (Lorg/hsqldb/persist/CachedObject;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // org.hsqldb.persist.CachedObject object
        start local 2 // boolean keep
         0: .line 312
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 315
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.uncommittedCache:Lorg/hsqldb/lib/LongKeyHashMap;
            aload 1 /* object */
            invokeinterface org.hsqldb.persist.CachedObject.getPos:()J
            aload 1 /* object */
            invokevirtual org.hsqldb.lib.LongKeyHashMap.put:(JLjava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 316
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 3
         4: .line 317
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         5: .line 318
            aload 3
            athrow
         6: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         7: .line 319
            return
        end local 2 // boolean keep
        end local 1 // org.hsqldb.persist.CachedObject object
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/hsqldb/persist/TextCache;
            0    8     1  object  Lorg/hsqldb/persist/CachedObject;
            0    8     2    keep  Z
      Exception table:
        from    to  target  type
           1     3       3  any
    MethodParameters:
        Name  Flags
      object  
      keep    

  public org.hsqldb.persist.CachedObject get(org.hsqldb.persist.CachedObject, org.hsqldb.persist.PersistentStore, boolean);
    descriptor: (Lorg/hsqldb/persist/CachedObject;Lorg/hsqldb/persist/PersistentStore;Z)Lorg/hsqldb/persist/CachedObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // org.hsqldb.persist.CachedObject object
        start local 2 // org.hsqldb.persist.PersistentStore store
        start local 3 // boolean keep
         0: .line 325
            aload 1 /* object */
            ifnonnull 2
         1: .line 326
            aconst_null
            areturn
         2: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         3: .line 332
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.cache:Lorg/hsqldb/persist/Cache;
            aload 1 /* object */
            invokeinterface org.hsqldb.persist.CachedObject.getPos:()J
            invokevirtual org.hsqldb.persist.Cache.get:(J)Lorg/hsqldb/persist/CachedObject;
            astore 4 /* existing */
        start local 4 // org.hsqldb.persist.CachedObject existing
         4: .line 334
            aload 4 /* existing */
            ifnull 8
         5: .line 335
            aload 1 /* object */
            astore 7
         6: .line 362
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         7: .line 335
            aload 7
            areturn
         8: .line 339
      StackMap locals: org.hsqldb.persist.CachedObject
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.buffer:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
            aload 1 /* object */
            invokeinterface org.hsqldb.persist.CachedObject.getStorageSize:()I
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.reset:(I)V
         9: .line 340
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            aload 1 /* object */
            invokeinterface org.hsqldb.persist.CachedObject.getPos:()J
            invokeinterface org.hsqldb.persist.RandomAccessInterface.seek:(J)V
        10: .line 341
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.buffer:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.getBuffer:()[B
            iconst_0
            aload 1 /* object */
            invokeinterface org.hsqldb.persist.CachedObject.getStorageSize:()I
            invokeinterface org.hsqldb.persist.RandomAccessInterface.read:([BII)V
        11: .line 342
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.buffer:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
            aload 1 /* object */
            invokeinterface org.hsqldb.persist.CachedObject.getStorageSize:()I
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.setSize:(I)V
        12: .line 345
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.buffer:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            getfield org.hsqldb.persist.TextFileSettings.charEncoding:Ljava/lang/String;
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.toString:(Ljava/lang/String;)Ljava/lang/String;
        13: .line 344
            astore 5 /* rowString */
        start local 5 // java.lang.String rowString
        14: .line 347
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.rowIn:Lorg/hsqldb/rowio/RowInputInterface;
            checkcast org.hsqldb.rowio.RowInputText
            aload 5 /* rowString */
            aload 1 /* object */
            invokeinterface org.hsqldb.persist.CachedObject.getPos:()J
        15: .line 348
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.buffer:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.size:()I
        16: .line 347
            invokevirtual org.hsqldb.rowio.RowInputText.setSource:(Ljava/lang/String;JI)V
        17: .line 349
            aload 2 /* store */
            aload 1 /* object */
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.rowIn:Lorg/hsqldb/rowio/RowInputInterface;
            invokeinterface org.hsqldb.persist.PersistentStore.get:(Lorg/hsqldb/persist/CachedObject;Lorg/hsqldb/rowio/RowInputInterface;)Lorg/hsqldb/persist/CachedObject;
            pop
        18: .line 350
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.cache:Lorg/hsqldb/persist/Cache;
            aload 1 /* object */
            invokevirtual org.hsqldb.persist.Cache.put:(Lorg/hsqldb/persist/CachedObject;)V
        19: .line 352
            aload 1 /* object */
            astore 7
        20: .line 362
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        21: .line 352
            aload 7
            areturn
        end local 5 // java.lang.String rowString
        22: .line 353
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* t */
        start local 5 // java.lang.Throwable t
        23: .line 354
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFileName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 355
            ldc " getFromFile problem "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 356
            aload 1 /* object */
            invokeinterface org.hsqldb.persist.CachedObject.getPos:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* t */
        26: .line 354
            invokevirtual org.hsqldb.persist.Logger.logSevereEvent:(Ljava/lang/String;Ljava/lang/Throwable;)V
        27: .line 357
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.cache:Lorg/hsqldb/persist/Cache;
            invokevirtual org.hsqldb.persist.Cache.clearUnchanged:()V
        28: .line 359
            aload 1 /* object */
            astore 7
        29: .line 362
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        30: .line 359
            aload 7
            areturn
        end local 5 // java.lang.Throwable t
        end local 4 // org.hsqldb.persist.CachedObject existing
        31: .line 361
      StackMap locals: org.hsqldb.persist.TextCache org.hsqldb.persist.CachedObject org.hsqldb.persist.PersistentStore int
      StackMap stack: java.lang.Throwable
            astore 6
        32: .line 362
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        33: .line 363
            aload 6
            athrow
        end local 3 // boolean keep
        end local 2 // org.hsqldb.persist.PersistentStore store
        end local 1 // org.hsqldb.persist.CachedObject object
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   34     0       this  Lorg/hsqldb/persist/TextCache;
            0   34     1     object  Lorg/hsqldb/persist/CachedObject;
            0   34     2      store  Lorg/hsqldb/persist/PersistentStore;
            0   34     3       keep  Z
            4   31     4   existing  Lorg/hsqldb/persist/CachedObject;
           14   22     5  rowString  Ljava/lang/String;
           23   31     5          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           8    20      22  Class java.lang.Throwable
           3     6      31  any
           8    20      31  any
          22    29      31  any
    MethodParameters:
        Name  Flags
      object  
      store   
      keep    

  public org.hsqldb.persist.CachedObject get(long, org.hsqldb.persist.PersistentStore, boolean);
    descriptor: (JLorg/hsqldb/persist/PersistentStore;Z)Lorg/hsqldb/persist/CachedObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // long i
        start local 3 // org.hsqldb.persist.PersistentStore store
        start local 4 // boolean keep
         0: .line 367
            sipush 201
            ldc "TextCache"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // boolean keep
        end local 3 // org.hsqldb.persist.PersistentStore store
        end local 1 // long i
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hsqldb/persist/TextCache;
            0    1     1      i  J
            0    1     3  store  Lorg/hsqldb/persist/PersistentStore;
            0    1     4   keep  Z
    MethodParameters:
       Name  Flags
      i      
      store  
      keep   

  protected void saveRows(org.hsqldb.persist.CachedObject[], int, int);
    descriptor: ([Lorg/hsqldb/persist/CachedObject;II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // org.hsqldb.persist.CachedObject[] rows
        start local 2 // int offset
        start local 3 // int count
         0: .line 373
            return
        end local 3 // int count
        end local 2 // int offset
        end local 1 // org.hsqldb.persist.CachedObject[] rows
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/hsqldb/persist/TextCache;
            0    1     1    rows  [Lorg/hsqldb/persist/CachedObject;
            0    1     2  offset  I
            0    1     3   count  I
    MethodParameters:
        Name  Flags
      rows    
      offset  
      count   

  public void saveRow(org.hsqldb.persist.CachedObject);
    descriptor: (Lorg/hsqldb/persist/CachedObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // org.hsqldb.persist.CachedObject row
         0: .line 381
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 384
            aload 0 /* this */
            invokevirtual org.hsqldb.persist.TextCache.setFileModified:()V
         2: .line 385
            aload 0 /* this */
            aload 1 /* row */
            invokevirtual org.hsqldb.persist.TextCache.saveRowNoLock:(Lorg/hsqldb/persist/CachedObject;)V
         3: .line 386
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.uncommittedCache:Lorg/hsqldb/lib/LongKeyHashMap;
            aload 1 /* row */
            invokeinterface org.hsqldb.persist.CachedObject.getPos:()J
            invokevirtual org.hsqldb.lib.LongKeyHashMap.remove:(J)Ljava/lang/Object;
            pop
         4: .line 387
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.cache:Lorg/hsqldb/persist/Cache;
            aload 1 /* row */
            invokevirtual org.hsqldb.persist.Cache.put:(Lorg/hsqldb/persist/CachedObject;)V
         5: .line 388
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 2 /* e */
        start local 2 // java.lang.Throwable e
         7: .line 389
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
            ldc "saveRow failed"
            aload 2 /* e */
            invokevirtual org.hsqldb.persist.Logger.logSevereEvent:(Ljava/lang/String;Ljava/lang/Throwable;)V
         8: .line 391
            sipush 466
            aload 2 /* e */
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/Throwable;)Lorg/hsqldb/HsqlException;
            athrow
        end local 2 // java.lang.Throwable e
         9: .line 392
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        10: .line 393
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        11: .line 394
            aload 3
            athrow
        12: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.writeLock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        13: .line 395
            return
        end local 1 // org.hsqldb.persist.CachedObject row
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/hsqldb/persist/TextCache;
            0   14     1   row  Lorg/hsqldb/persist/CachedObject;
            7    9     2     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     5       6  Class java.lang.Throwable
           1     9       9  any
    MethodParameters:
      Name  Flags
      row   

  public java.lang.String getHeader();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.persist.TextCache this
         0: .line 398
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.header:Ljava/lang/String;
            areturn
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/persist/TextCache;

  public void setHeaderInitialise(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // java.lang.String header
         0: .line 402
            aload 0 /* this */
            aload 1 /* header */
            putfield org.hsqldb.persist.TextCache.header:Ljava/lang/String;
         1: .line 403
            return
        end local 1 // java.lang.String header
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hsqldb/persist/TextCache;
            0    2     1  header  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      header  

  public void setHeader(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // java.lang.String header
         0: .line 407
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            getfield org.hsqldb.persist.TextFileSettings.ignoreFirst:Z
            ifeq 10
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.fileFreePosition:J
            lconst_0
            lcmp
            ifne 10
         1: .line 409
            aload 0 /* this */
            aload 1 /* header */
            invokevirtual org.hsqldb.persist.TextCache.writeHeader:(Ljava/lang/String;)V
         2: .line 411
            aload 0 /* this */
            aload 1 /* header */
            putfield org.hsqldb.persist.TextCache.header:Ljava/lang/String;
         3: .line 412
            goto 9
      StackMap locals:
      StackMap stack: org.hsqldb.HsqlException
         4: astore 2 /* e */
        start local 2 // org.hsqldb.HsqlException e
         5: .line 413
            new org.hsqldb.HsqlException
            dup
         6: .line 414
            aload 2 /* e */
            sipush 467
            invokestatic org.hsqldb.error.Error.getMessage:(I)Ljava/lang/String;
         7: .line 415
            sipush 467
         8: .line 413
            invokespecial org.hsqldb.HsqlException.<init>:(Ljava/lang/Throwable;Ljava/lang/String;I)V
            athrow
        end local 2 // org.hsqldb.HsqlException e
         9: .line 418
      StackMap locals:
      StackMap stack:
            return
        10: .line 421
      StackMap locals:
      StackMap stack:
            sipush 486
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        end local 1 // java.lang.String header
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/hsqldb/persist/TextCache;
            0   11     1  header  Ljava/lang/String;
            5    9     2       e  Lorg/hsqldb/HsqlException;
      Exception table:
        from    to  target  type
           1     3       4  Class org.hsqldb.HsqlException
    MethodParameters:
        Name  Flags
      header  

  private void writeHeader(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.hsqldb.persist.TextCache this
        start local 1 // java.lang.String header
         0: .line 427
            aconst_null
            astore 2 /* buf */
        start local 2 // byte[] buf
         1: .line 428
            new java.lang.StringBuilder
            dup
            aload 1 /* header */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.hsqldb.persist.TextFileSettings.NL:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* firstLine */
        start local 3 // java.lang.String firstLine
         2: .line 431
            aload 3 /* firstLine */
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            getfield org.hsqldb.persist.TextFileSettings.charEncoding:Ljava/lang/String;
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 2 /* buf */
         3: .line 432
            goto 6
      StackMap locals: org.hsqldb.persist.TextCache java.lang.String byte[] java.lang.String
      StackMap stack: java.io.UnsupportedEncodingException
         4: pop
         5: .line 433
            aload 3 /* firstLine */
            invokevirtual java.lang.String.getBytes:()[B
            astore 2 /* buf */
         6: .line 436
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            lconst_0
            invokeinterface org.hsqldb.persist.RandomAccessInterface.seek:(J)V
         7: .line 437
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            aload 2 /* buf */
            iconst_0
            aload 2 /* buf */
            arraylength
            invokeinterface org.hsqldb.persist.RandomAccessInterface.write:([BII)V
         8: .line 439
            aload 0 /* this */
            aload 2 /* buf */
            arraylength
            i2l
            putfield org.hsqldb.persist.TextCache.fileFreePosition:J
        end local 3 // java.lang.String firstLine
        end local 2 // byte[] buf
         9: .line 440
            goto 12
      StackMap locals: org.hsqldb.persist.TextCache java.lang.String
      StackMap stack: java.lang.Throwable
        10: astore 2 /* t */
        start local 2 // java.lang.Throwable t
        11: .line 441
            sipush 484
            aload 2 /* t */
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/Throwable;)Lorg/hsqldb/HsqlException;
            athrow
        end local 2 // java.lang.Throwable t
        12: .line 443
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String header
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/hsqldb/persist/TextCache;
            0   13     1     header  Ljava/lang/String;
            1    9     2        buf  [B
            2    9     3  firstLine  Ljava/lang/String;
           11   12     2          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.UnsupportedEncodingException
           0     9      10  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      header  

  public long getLineNumber();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.persist.TextCache this
         0: .line 446
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.rowIn:Lorg/hsqldb/rowio/RowInputInterface;
            checkcast org.hsqldb.rowio.RowInputText
            invokevirtual org.hsqldb.rowio.RowInputText.getLineNumber:()J
            lreturn
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/persist/TextCache;

  public org.hsqldb.persist.TextFileSettings getTextFileSettings();
    descriptor: ()Lorg/hsqldb/persist/TextFileSettings;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.persist.TextCache this
         0: .line 450
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            areturn
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/persist/TextCache;

  public boolean isIgnoreFirstLine();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.persist.TextCache this
         0: .line 454
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
            getfield org.hsqldb.persist.TextFileSettings.ignoreFirst:Z
            ireturn
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/persist/TextCache;

  protected void setFileModified();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.persist.TextCache this
         0: .line 458
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.persist.TextCache.fileModified:Z
         1: .line 459
            return
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/persist/TextCache;

  public org.hsqldb.persist.TextFileReader getTextFileReader();
    descriptor: ()Lorg/hsqldb/persist/TextFileReader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hsqldb.persist.TextCache this
         0: .line 462
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.dataFile:Lorg/hsqldb/persist/RandomAccessInterface;
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.textFileSettings:Lorg/hsqldb/persist/TextFileSettings;
         1: .line 463
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.rowIn:Lorg/hsqldb/rowio/RowInputInterface;
            aload 0 /* this */
            getfield org.hsqldb.persist.TextCache.cacheReadonly:Z
         2: .line 462
            invokestatic org.hsqldb.persist.TextFileReader8.newTextFileReader:(Lorg/hsqldb/persist/RandomAccessInterface;Lorg/hsqldb/persist/TextFileSettings;Lorg/hsqldb/rowio/RowInputInterface;Z)Lorg/hsqldb/persist/TextFileReader;
            areturn
        end local 0 // org.hsqldb.persist.TextCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/persist/TextCache;
}
SourceFile: "TextCache.java"