public class org.h2.value.ValueLob extends org.h2.value.Value
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.value.ValueLob
  super_class: org.h2.value.Value
{
  private static final int BLOCK_COMPARISON_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  private static int dirCounter;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

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

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

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

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 36
            ldc Lorg/h2/value/ValueLob;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.h2.value.ValueLob.$assertionsDisabled:Z
         3: .line 181
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void rangeCheckUnknown(long, long);
    descriptor: (JJ)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // long zeroBasedOffset
        start local 2 // long length
         0: .line 41
            lload 0 /* zeroBasedOffset */
            lconst_0
            lcmp
            ifge 2
         1: .line 42
            ldc "offset"
            lload 0 /* zeroBasedOffset */
            lconst_1
            ladd
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
            athrow
         2: .line 44
      StackMap locals:
      StackMap stack:
            lload 2 /* length */
            lconst_0
            lcmp
            ifge 4
         3: .line 45
            ldc "length"
            lload 2 /* length */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
            athrow
         4: .line 47
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long length
        end local 0 // long zeroBasedOffset
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0  zeroBasedOffset  J
            0    5     2           length  J
    MethodParameters:
                 Name  Flags
      zeroBasedOffset  
      length           

  static java.io.InputStream rangeInputStream(java.io.InputStream, long, long, long);
    descriptor: (Ljava/io/InputStream;JJJ)Ljava/io/InputStream;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // java.io.InputStream inputStream
        start local 1 // long oneBasedOffset
        start local 3 // long length
        start local 5 // long dataSize
         0: .line 59
            lload 5 /* dataSize */
            lconst_0
            lcmp
            ifle 3
         1: .line 60
            lload 1 /* oneBasedOffset */
            lconst_1
            lsub
            lload 3 /* length */
            lload 5 /* dataSize */
            invokestatic org.h2.value.ValueLob.rangeCheck:(JJJ)V
         2: .line 61
            goto 4
         3: .line 62
      StackMap locals:
      StackMap stack:
            lload 1 /* oneBasedOffset */
            lconst_1
            lsub
            lload 3 /* length */
            invokestatic org.h2.value.ValueLob.rangeCheckUnknown:(JJ)V
         4: .line 65
      StackMap locals:
      StackMap stack:
            new org.h2.store.RangeInputStream
            dup
            aload 0 /* inputStream */
            lload 1 /* oneBasedOffset */
            lconst_1
            lsub
            lload 3 /* length */
            invokespecial org.h2.store.RangeInputStream.<init>:(Ljava/io/InputStream;JJ)V
         5: areturn
         6: .line 66
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         7: .line 67
            ldc "offset"
            lload 1 /* oneBasedOffset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
            athrow
        end local 5 // long dataSize
        end local 3 // long length
        end local 1 // long oneBasedOffset
        end local 0 // java.io.InputStream inputStream
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0     inputStream  Ljava/io/InputStream;
            0    8     1  oneBasedOffset  J
            0    8     3          length  J
            0    8     5        dataSize  J
      Exception table:
        from    to  target  type
           4     5       6  Class java.io.IOException
    MethodParameters:
                Name  Flags
      inputStream     
      oneBasedOffset  
      length          
      dataSize        

  static java.io.Reader rangeReader(java.io.Reader, long, long, long);
    descriptor: (Ljava/io/Reader;JJJ)Ljava/io/Reader;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // java.io.Reader reader
        start local 1 // long oneBasedOffset
        start local 3 // long length
        start local 5 // long dataSize
         0: .line 81
            lload 5 /* dataSize */
            lconst_0
            lcmp
            ifle 3
         1: .line 82
            lload 1 /* oneBasedOffset */
            lconst_1
            lsub
            lload 3 /* length */
            lload 5 /* dataSize */
            invokestatic org.h2.value.ValueLob.rangeCheck:(JJJ)V
         2: .line 83
            goto 4
         3: .line 84
      StackMap locals:
      StackMap stack:
            lload 1 /* oneBasedOffset */
            lconst_1
            lsub
            lload 3 /* length */
            invokestatic org.h2.value.ValueLob.rangeCheckUnknown:(JJ)V
         4: .line 87
      StackMap locals:
      StackMap stack:
            new org.h2.store.RangeReader
            dup
            aload 0 /* reader */
            lload 1 /* oneBasedOffset */
            lconst_1
            lsub
            lload 3 /* length */
            invokespecial org.h2.store.RangeReader.<init>:(Ljava/io/Reader;JJ)V
         5: areturn
         6: .line 88
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         7: .line 89
            ldc "offset"
            lload 1 /* oneBasedOffset */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
            athrow
        end local 5 // long dataSize
        end local 3 // long length
        end local 1 // long oneBasedOffset
        end local 0 // java.io.Reader reader
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0          reader  Ljava/io/Reader;
            0    8     1  oneBasedOffset  J
            0    8     3          length  J
            0    8     5        dataSize  J
      Exception table:
        from    to  target  type
           4     5       6  Class java.io.IOException
    MethodParameters:
                Name  Flags
      reader          
      oneBasedOffset  
      length          
      dataSize        

  static int compare(org.h2.value.Value, org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;Lorg/h2/value/Value;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=13, args_size=2
        start local 0 // org.h2.value.Value v1
        start local 1 // org.h2.value.Value v2
         0: .line 101
            aload 0 /* v1 */
            invokevirtual org.h2.value.Value.getValueType:()I
            istore 2 /* valueType */
        start local 2 // int valueType
         1: .line 102
            getstatic org.h2.value.ValueLob.$assertionsDisabled:Z
            ifne 2
            iload 2 /* valueType */
            aload 1 /* v2 */
            invokevirtual org.h2.value.Value.getValueType:()I
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 103
      StackMap locals: int
      StackMap stack:
            aload 0 /* v1 */
            instanceof org.h2.value.ValueLobDb
            ifeq 9
            aload 1 /* v2 */
            instanceof org.h2.value.ValueLobDb
            ifeq 9
         3: .line 104
            aload 0 /* v1 */
            invokevirtual org.h2.value.Value.getSmall:()[B
            astore 3 /* small1 */
        start local 3 // byte[] small1
         4: aload 1 /* v2 */
            invokevirtual org.h2.value.Value.getSmall:()[B
            astore 4 /* small2 */
        start local 4 // byte[] small2
         5: .line 105
            aload 3 /* small1 */
            ifnull 9
            aload 4 /* small2 */
            ifnull 9
         6: .line 106
            iload 2 /* valueType */
            bipush 15
            if_icmpne 8
         7: .line 107
            aload 3 /* small1 */
            aload 4 /* small2 */
            invokestatic org.h2.util.Bits.compareNotNullSigned:([B[B)I
            ireturn
         8: .line 109
      StackMap locals: byte[] byte[]
      StackMap stack:
            aload 0 /* v1 */
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            aload 1 /* v2 */
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            invokestatic java.lang.Integer.signum:(I)I
            ireturn
        end local 4 // byte[] small2
        end local 3 // byte[] small1
         9: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* v1 */
            invokevirtual org.h2.value.Value.getType:()Lorg/h2/value/TypeInfo;
            invokevirtual org.h2.value.TypeInfo.getPrecision:()J
            aload 1 /* v2 */
            invokevirtual org.h2.value.Value.getType:()Lorg/h2/value/TypeInfo;
            invokevirtual org.h2.value.TypeInfo.getPrecision:()J
            invokestatic java.lang.Math.min:(JJ)J
            lstore 3 /* minPrec */
        start local 3 // long minPrec
        10: .line 114
            iload 2 /* valueType */
            bipush 15
            if_icmpne 57
        11: .line 115
            aconst_null
            astore 5
            aconst_null
            astore 6
        12: aload 0 /* v1 */
            invokevirtual org.h2.value.Value.getInputStream:()Ljava/io/InputStream;
            astore 7 /* is1 */
        start local 7 // java.io.InputStream is1
        13: .line 116
            aload 1 /* v2 */
            invokevirtual org.h2.value.Value.getInputStream:()Ljava/io/InputStream;
            astore 8 /* is2 */
        start local 8 // java.io.InputStream is2
        14: .line 117
            sipush 512
            newarray 8
            astore 9 /* buf1 */
        start local 9 // byte[] buf1
        15: .line 118
            sipush 512
            newarray 8
            astore 10 /* buf2 */
        start local 10 // byte[] buf2
        16: .line 119
            goto 27
        17: .line 120
      StackMap locals: org.h2.value.Value org.h2.value.Value int long java.lang.Throwable java.lang.Throwable java.io.InputStream java.io.InputStream byte[] byte[]
      StackMap stack:
            aload 7 /* is1 */
            aload 9 /* buf1 */
            sipush 512
            invokestatic org.h2.util.IOUtils.readFully:(Ljava/io/InputStream;[BI)I
            sipush 512
            if_icmpne 19
        18: .line 121
            aload 8 /* is2 */
            aload 10 /* buf2 */
            sipush 512
            invokestatic org.h2.util.IOUtils.readFully:(Ljava/io/InputStream;[BI)I
            sipush 512
            if_icmpeq 20
        19: .line 122
      StackMap locals:
      StackMap stack:
            ldc "Invalid LOB"
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        20: .line 124
      StackMap locals:
      StackMap stack:
            aload 9 /* buf1 */
            aload 10 /* buf2 */
            invokestatic org.h2.util.Bits.compareNotNullSigned:([B[B)I
            istore 11 /* cmp */
        start local 11 // int cmp
        21: .line 125
            iload 11 /* cmp */
            ifeq 26
        22: .line 126
            iload 11 /* cmp */
        23: .line 141
            aload 8 /* is2 */
            ifnull 24
            aload 8 /* is2 */
            invokevirtual java.io.InputStream.close:()V
      StackMap locals: org.h2.value.Value org.h2.value.Value int long java.lang.Throwable java.lang.Throwable java.io.InputStream java.io.InputStream byte[] byte[] int
      StackMap stack: int
        24: aload 7 /* is1 */
            ifnull 25
            aload 7 /* is1 */
            invokevirtual java.io.InputStream.close:()V
        25: .line 126
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 11 // int cmp
        26: .line 119
      StackMap locals:
      StackMap stack:
            lload 3 /* minPrec */
            ldc 512
            lsub
            lstore 3 /* minPrec */
      StackMap locals:
      StackMap stack:
        27: lload 3 /* minPrec */
            ldc 512
            lcmp
            ifge 17
        28: .line 130
      StackMap locals:
      StackMap stack:
            aload 7 /* is1 */
            invokevirtual java.io.InputStream.read:()I
            istore 11 /* c1 */
        start local 11 // int c1
        29: aload 8 /* is2 */
            invokevirtual java.io.InputStream.read:()I
            istore 12 /* c2 */
        start local 12 // int c2
        30: .line 131
            iload 11 /* c1 */
            ifge 36
        31: .line 132
            iload 12 /* c2 */
            ifge 32
            iconst_0
            goto 33
      StackMap locals: int int
      StackMap stack:
        32: iconst_m1
        33: .line 141
      StackMap locals:
      StackMap stack: int
            aload 8 /* is2 */
            ifnull 34
            aload 8 /* is2 */
            invokevirtual java.io.InputStream.close:()V
      StackMap locals:
      StackMap stack: int
        34: aload 7 /* is1 */
            ifnull 35
            aload 7 /* is1 */
            invokevirtual java.io.InputStream.close:()V
        35: .line 132
      StackMap locals:
      StackMap stack: int
            ireturn
        36: .line 134
      StackMap locals:
      StackMap stack:
            iload 12 /* c2 */
            ifge 40
        37: .line 141
            aload 8 /* is2 */
            ifnull 38
            aload 8 /* is2 */
            invokevirtual java.io.InputStream.close:()V
      StackMap locals:
      StackMap stack:
        38: aload 7 /* is1 */
            ifnull 39
            aload 7 /* is1 */
            invokevirtual java.io.InputStream.close:()V
        39: .line 135
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        40: .line 137
      StackMap locals:
      StackMap stack:
            iload 11 /* c1 */
            iload 12 /* c2 */
            if_icmpeq 28
        41: .line 138
            iload 11 /* c1 */
            iload 12 /* c2 */
            invokestatic java.lang.Integer.compare:(II)I
        42: .line 141
            aload 8 /* is2 */
            ifnull 43
            aload 8 /* is2 */
            invokevirtual java.io.InputStream.close:()V
      StackMap locals:
      StackMap stack: int
        43: aload 7 /* is1 */
            ifnull 44
            aload 7 /* is1 */
            invokevirtual java.io.InputStream.close:()V
        44: .line 138
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 12 // int c2
        end local 11 // int c1
        end local 10 // byte[] buf2
        end local 9 // byte[] buf1
      StackMap locals: org.h2.value.Value org.h2.value.Value int long java.lang.Throwable java.lang.Throwable java.io.InputStream java.io.InputStream
      StackMap stack: java.lang.Throwable
        45: astore 5
        46: .line 141
            aload 8 /* is2 */
            ifnull 47
            aload 8 /* is2 */
            invokevirtual java.io.InputStream.close:()V
        end local 8 // java.io.InputStream is2
      StackMap locals:
      StackMap stack:
        47: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        48: astore 6
            aload 5
            ifnonnull 49
            aload 6
            astore 5
            goto 50
      StackMap locals:
      StackMap stack:
        49: aload 5
            aload 6
            if_acmpeq 50
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        50: aload 7 /* is1 */
            ifnull 51
            aload 7 /* is1 */
            invokevirtual java.io.InputStream.close:()V
        end local 7 // java.io.InputStream is1
      StackMap locals:
      StackMap stack:
        51: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        52: astore 6
            aload 5
            ifnonnull 53
            aload 6
            astore 5
            goto 54
      StackMap locals:
      StackMap stack:
        53: aload 5
            aload 6
            if_acmpeq 54
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        54: aload 5
            athrow
      StackMap locals: org.h2.value.Value org.h2.value.Value int long
      StackMap stack: java.io.IOException
        55: astore 5 /* ex */
        start local 5 // java.io.IOException ex
        56: .line 142
            aload 5 /* ex */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 5 // java.io.IOException ex
        57: .line 145
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5
            aconst_null
            astore 6
        58: aload 0 /* v1 */
            invokevirtual org.h2.value.Value.getReader:()Ljava/io/Reader;
            astore 7 /* reader1 */
        start local 7 // java.io.Reader reader1
        59: .line 146
            aload 1 /* v2 */
            invokevirtual org.h2.value.Value.getReader:()Ljava/io/Reader;
            astore 8 /* reader2 */
        start local 8 // java.io.Reader reader2
        60: .line 147
            sipush 512
            newarray 5
            astore 9 /* buf1 */
        start local 9 // char[] buf1
        61: .line 148
            sipush 512
            newarray 5
            astore 10 /* buf2 */
        start local 10 // char[] buf2
        62: .line 149
            goto 73
        63: .line 150
      StackMap locals: org.h2.value.Value org.h2.value.Value int long java.lang.Throwable java.lang.Throwable java.io.Reader java.io.Reader char[] char[]
      StackMap stack:
            aload 7 /* reader1 */
            aload 9 /* buf1 */
            sipush 512
            invokestatic org.h2.util.IOUtils.readFully:(Ljava/io/Reader;[CI)I
            sipush 512
            if_icmpne 65
        64: .line 151
            aload 8 /* reader2 */
            aload 10 /* buf2 */
            sipush 512
            invokestatic org.h2.util.IOUtils.readFully:(Ljava/io/Reader;[CI)I
            sipush 512
            if_icmpeq 66
        65: .line 152
      StackMap locals:
      StackMap stack:
            ldc "Invalid LOB"
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        66: .line 154
      StackMap locals:
      StackMap stack:
            aload 9 /* buf1 */
            aload 10 /* buf2 */
            invokestatic org.h2.util.Bits.compareNotNull:([C[C)I
            istore 11 /* cmp */
        start local 11 // int cmp
        67: .line 155
            iload 11 /* cmp */
            ifeq 72
        68: .line 156
            iload 11 /* cmp */
        69: .line 171
            aload 8 /* reader2 */
            ifnull 70
            aload 8 /* reader2 */
            invokevirtual java.io.Reader.close:()V
      StackMap locals: org.h2.value.Value org.h2.value.Value int long java.lang.Throwable java.lang.Throwable java.io.Reader java.io.Reader char[] char[] int
      StackMap stack: int
        70: aload 7 /* reader1 */
            ifnull 71
            aload 7 /* reader1 */
            invokevirtual java.io.Reader.close:()V
        71: .line 156
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 11 // int cmp
        72: .line 149
      StackMap locals:
      StackMap stack:
            lload 3 /* minPrec */
            ldc 512
            lsub
            lstore 3 /* minPrec */
      StackMap locals:
      StackMap stack:
        73: lload 3 /* minPrec */
            ldc 512
            lcmp
            ifge 63
        74: .line 160
      StackMap locals:
      StackMap stack:
            aload 7 /* reader1 */
            invokevirtual java.io.Reader.read:()I
            istore 11 /* c1 */
        start local 11 // int c1
        75: aload 8 /* reader2 */
            invokevirtual java.io.Reader.read:()I
            istore 12 /* c2 */
        start local 12 // int c2
        76: .line 161
            iload 11 /* c1 */
            ifge 82
        77: .line 162
            iload 12 /* c2 */
            ifge 78
            iconst_0
            goto 79
      StackMap locals: int int
      StackMap stack:
        78: iconst_m1
        79: .line 171
      StackMap locals:
      StackMap stack: int
            aload 8 /* reader2 */
            ifnull 80
            aload 8 /* reader2 */
            invokevirtual java.io.Reader.close:()V
      StackMap locals:
      StackMap stack: int
        80: aload 7 /* reader1 */
            ifnull 81
            aload 7 /* reader1 */
            invokevirtual java.io.Reader.close:()V
        81: .line 162
      StackMap locals:
      StackMap stack: int
            ireturn
        82: .line 164
      StackMap locals:
      StackMap stack:
            iload 12 /* c2 */
            ifge 86
        83: .line 171
            aload 8 /* reader2 */
            ifnull 84
            aload 8 /* reader2 */
            invokevirtual java.io.Reader.close:()V
      StackMap locals:
      StackMap stack:
        84: aload 7 /* reader1 */
            ifnull 85
            aload 7 /* reader1 */
            invokevirtual java.io.Reader.close:()V
        85: .line 165
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        86: .line 167
      StackMap locals:
      StackMap stack:
            iload 11 /* c1 */
            iload 12 /* c2 */
            if_icmpeq 74
        87: .line 168
            iload 11 /* c1 */
            iload 12 /* c2 */
            invokestatic java.lang.Integer.compare:(II)I
        88: .line 171
            aload 8 /* reader2 */
            ifnull 89
            aload 8 /* reader2 */
            invokevirtual java.io.Reader.close:()V
      StackMap locals:
      StackMap stack: int
        89: aload 7 /* reader1 */
            ifnull 90
            aload 7 /* reader1 */
            invokevirtual java.io.Reader.close:()V
        90: .line 168
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 12 // int c2
        end local 11 // int c1
        end local 10 // char[] buf2
        end local 9 // char[] buf1
      StackMap locals: org.h2.value.Value org.h2.value.Value int long java.lang.Throwable java.lang.Throwable java.io.Reader java.io.Reader
      StackMap stack: java.lang.Throwable
        91: astore 5
        92: .line 171
            aload 8 /* reader2 */
            ifnull 93
            aload 8 /* reader2 */
            invokevirtual java.io.Reader.close:()V
        end local 8 // java.io.Reader reader2
      StackMap locals:
      StackMap stack:
        93: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        94: astore 6
            aload 5
            ifnonnull 95
            aload 6
            astore 5
            goto 96
      StackMap locals:
      StackMap stack:
        95: aload 5
            aload 6
            if_acmpeq 96
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        96: aload 7 /* reader1 */
            ifnull 97
            aload 7 /* reader1 */
            invokevirtual java.io.Reader.close:()V
        end local 7 // java.io.Reader reader1
      StackMap locals:
      StackMap stack:
        97: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        98: astore 6
            aload 5
            ifnonnull 99
            aload 6
            astore 5
            goto 100
      StackMap locals:
      StackMap stack:
        99: aload 5
            aload 6
            if_acmpeq 100
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       100: aload 5
            athrow
      StackMap locals: org.h2.value.Value org.h2.value.Value int long
      StackMap stack: java.io.IOException
       101: astore 5 /* ex */
        start local 5 // java.io.IOException ex
       102: .line 172
            aload 5 /* ex */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 5 // java.io.IOException ex
        end local 3 // long minPrec
        end local 2 // int valueType
        end local 1 // org.h2.value.Value v2
        end local 0 // org.h2.value.Value v1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  103     0         v1  Lorg/h2/value/Value;
            0  103     1         v2  Lorg/h2/value/Value;
            1  103     2  valueType  I
            4    9     3     small1  [B
            5    9     4     small2  [B
           10  103     3    minPrec  J
           13   51     7        is1  Ljava/io/InputStream;
           14   47     8        is2  Ljava/io/InputStream;
           15   45     9       buf1  [B
           16   45    10       buf2  [B
           21   26    11        cmp  I
           29   45    11         c1  I
           30   45    12         c2  I
           56   57     5         ex  Ljava/io/IOException;
           59   97     7    reader1  Ljava/io/Reader;
           60   93     8    reader2  Ljava/io/Reader;
           61   91     9       buf1  [C
           62   91    10       buf2  [C
           67   72    11        cmp  I
           75   91    11         c1  I
           76   91    12         c2  I
          102  103     5         ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          14    23      45  any
          26    33      45  any
          36    37      45  any
          40    42      45  any
          13    24      48  any
          26    34      48  any
          36    38      48  any
          40    43      48  any
          45    48      48  any
          12    25      52  any
          26    35      52  any
          36    39      52  any
          40    44      52  any
          45    52      52  any
          11    25      55  Class java.io.IOException
          26    35      55  Class java.io.IOException
          36    39      55  Class java.io.IOException
          40    44      55  Class java.io.IOException
          45    55      55  Class java.io.IOException
          60    69      91  any
          72    79      91  any
          82    83      91  any
          86    88      91  any
          59    70      94  any
          72    80      94  any
          82    84      94  any
          86    89      94  any
          91    94      94  any
          58    71      98  any
          72    81      98  any
          82    85      98  any
          86    90      98  any
          91    98      98  any
          57    71     101  Class java.io.IOException
          72    81     101  Class java.io.IOException
          82    85     101  Class java.io.IOException
          86    90     101  Class java.io.IOException
          91   101     101  Class java.io.IOException
    MethodParameters:
      Name  Flags
      v1    
      v2    

  private void <init>(int, org.h2.store.DataHandler, java.lang.String, int, int, boolean, long, boolean);
    descriptor: (ILorg/h2/store/DataHandler;Ljava/lang/String;IIZJZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=9
        start local 0 // org.h2.value.ValueLob this
        start local 1 // int type
        start local 2 // org.h2.store.DataHandler handler
        start local 3 // java.lang.String fileName
        start local 4 // int tableId
        start local 5 // int objectId
        start local 6 // boolean linked
        start local 7 // long precision
        start local 9 // boolean compressed
         0: .line 197
            aload 0 /* this */
            invokespecial org.h2.value.Value.<init>:()V
         1: .line 200
            aload 0 /* this */
            iload 1 /* type */
            putfield org.h2.value.ValueLob.valueType:I
         2: .line 201
            aload 0 /* this */
            aload 2 /* handler */
            putfield org.h2.value.ValueLob.handler:Lorg/h2/store/DataHandler;
         3: .line 202
            aload 0 /* this */
            aload 3 /* fileName */
            putfield org.h2.value.ValueLob.fileName:Ljava/lang/String;
         4: .line 203
            aload 0 /* this */
            iload 4 /* tableId */
            putfield org.h2.value.ValueLob.tableId:I
         5: .line 204
            aload 0 /* this */
            iload 5 /* objectId */
            putfield org.h2.value.ValueLob.objectId:I
         6: .line 205
            aload 0 /* this */
            iload 6 /* linked */
            putfield org.h2.value.ValueLob.linked:Z
         7: .line 206
            aload 0 /* this */
            lload 7 /* precision */
            putfield org.h2.value.ValueLob.precision:J
         8: .line 207
            aload 0 /* this */
            iload 9 /* compressed */
            putfield org.h2.value.ValueLob.compressed:Z
         9: .line 208
            return
        end local 9 // boolean compressed
        end local 7 // long precision
        end local 6 // boolean linked
        end local 5 // int objectId
        end local 4 // int tableId
        end local 3 // java.lang.String fileName
        end local 2 // org.h2.store.DataHandler handler
        end local 1 // int type
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/h2/value/ValueLob;
            0   10     1        type  I
            0   10     2     handler  Lorg/h2/store/DataHandler;
            0   10     3    fileName  Ljava/lang/String;
            0   10     4     tableId  I
            0   10     5    objectId  I
            0   10     6      linked  Z
            0   10     7   precision  J
            0   10     9  compressed  Z
    MethodParameters:
            Name  Flags
      type        
      handler     
      fileName    
      tableId     
      objectId    
      linked      
      precision   
      compressed  

  private static java.lang.String getFileName(org.h2.store.DataHandler, int, int);
    descriptor: (Lorg/h2/store/DataHandler;II)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.h2.store.DataHandler handler
        start local 1 // int tableId
        start local 2 // int objectId
         0: .line 212
            iload 1 /* tableId */
            ifne 2
            iload 2 /* objectId */
            ifne 2
         1: .line 213
            ldc "0 LOB"
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            pop
         2: .line 215
      StackMap locals:
      StackMap stack:
            iload 1 /* tableId */
            ifge 3
            ldc ".temp"
            goto 4
      StackMap locals:
      StackMap stack:
         3: new java.lang.StringBuilder
            dup
            ldc ".t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* tableId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 3 /* table */
        start local 3 // java.lang.String table
         5: .line 216
            new java.lang.StringBuilder
            dup
            aload 0 /* handler */
            invokeinterface org.h2.store.DataHandler.getDatabasePath:()Ljava/lang/String;
            iload 2 /* objectId */
            invokestatic org.h2.value.ValueLob.getFileNamePrefix:(Ljava/lang/String;I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 217
            aload 3 /* table */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".lob.db"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 216
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String table
        end local 2 // int objectId
        end local 1 // int tableId
        end local 0 // org.h2.store.DataHandler handler
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0   handler  Lorg/h2/store/DataHandler;
            0    8     1   tableId  I
            0    8     2  objectId  I
            5    8     3     table  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      handler   
      tableId   
      objectId  

  public static org.h2.value.ValueLob openLinked(int, org.h2.store.DataHandler, int, int, long, boolean);
    descriptor: (ILorg/h2/store/DataHandler;IIJZ)Lorg/h2/value/ValueLob;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=8, args_size=6
        start local 0 // int type
        start local 1 // org.h2.store.DataHandler handler
        start local 2 // int tableId
        start local 3 // int objectId
        start local 4 // long precision
        start local 6 // boolean compression
         0: .line 233
            aload 1 /* handler */
            iload 2 /* tableId */
            iload 3 /* objectId */
            invokestatic org.h2.value.ValueLob.getFileName:(Lorg/h2/store/DataHandler;II)Ljava/lang/String;
            astore 7 /* fileName */
        start local 7 // java.lang.String fileName
         1: .line 234
            new org.h2.value.ValueLob
            dup
            iload 0 /* type */
            aload 1 /* handler */
            aload 7 /* fileName */
            iload 2 /* tableId */
            iload 3 /* objectId */
         2: .line 235
            iconst_1
            lload 4 /* precision */
            iload 6 /* compression */
         3: .line 234
            invokespecial org.h2.value.ValueLob.<init>:(ILorg/h2/store/DataHandler;Ljava/lang/String;IIZJZ)V
            areturn
        end local 7 // java.lang.String fileName
        end local 6 // boolean compression
        end local 4 // long precision
        end local 3 // int objectId
        end local 2 // int tableId
        end local 1 // org.h2.store.DataHandler handler
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         type  I
            0    4     1      handler  Lorg/h2/store/DataHandler;
            0    4     2      tableId  I
            0    4     3     objectId  I
            0    4     4    precision  J
            0    4     6  compression  Z
            1    4     7     fileName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      type         
      handler      
      tableId      
      objectId     
      precision    
      compression  

  public static org.h2.value.ValueLob openUnlinked(int, org.h2.store.DataHandler, int, int, long, boolean, java.lang.String);
    descriptor: (ILorg/h2/store/DataHandler;IIJZLjava/lang/String;)Lorg/h2/value/ValueLob;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=8, args_size=7
        start local 0 // int type
        start local 1 // org.h2.store.DataHandler handler
        start local 2 // int tableId
        start local 3 // int objectId
        start local 4 // long precision
        start local 6 // boolean compression
        start local 7 // java.lang.String fileName
         0: .line 253
            new org.h2.value.ValueLob
            dup
            iload 0 /* type */
            aload 1 /* handler */
            aload 7 /* fileName */
            iload 2 /* tableId */
            iload 3 /* objectId */
         1: .line 254
            iconst_0
            lload 4 /* precision */
            iload 6 /* compression */
         2: .line 253
            invokespecial org.h2.value.ValueLob.<init>:(ILorg/h2/store/DataHandler;Ljava/lang/String;IIZJZ)V
            areturn
        end local 7 // java.lang.String fileName
        end local 6 // boolean compression
        end local 4 // long precision
        end local 3 // int objectId
        end local 2 // int tableId
        end local 1 // org.h2.store.DataHandler handler
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         type  I
            0    3     1      handler  Lorg/h2/store/DataHandler;
            0    3     2      tableId  I
            0    3     3     objectId  I
            0    3     4    precision  J
            0    3     6  compression  Z
            0    3     7     fileName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      type         
      handler      
      tableId      
      objectId     
      precision    
      compression  
      fileName     

  private static java.lang.String getFileNamePrefix(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String path
        start local 1 // int objectId
         0: .line 259
            iload 1 /* objectId */
            getstatic org.h2.engine.SysProperties.LOB_FILES_PER_DIRECTORY:I
            irem
            istore 3 /* f */
        start local 3 // int f
         1: .line 260
            iload 3 /* f */
            ifle 4
         2: .line 261
            new java.lang.StringBuilder
            dup
            getstatic org.h2.engine.SysProperties.FILE_SEPARATOR:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* objectId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         3: .line 262
            goto 5
        end local 2 // java.lang.String name
         4: .line 263
      StackMap locals: java.lang.String int top int
      StackMap stack:
            ldc ""
            astore 2 /* name */
        start local 2 // java.lang.String name
         5: .line 265
      StackMap locals: java.lang.String int java.lang.String int
      StackMap stack:
            iload 1 /* objectId */
            getstatic org.h2.engine.SysProperties.LOB_FILES_PER_DIRECTORY:I
            idiv
            istore 1 /* objectId */
         6: .line 266
            goto 12
         7: .line 267
      StackMap locals:
      StackMap stack:
            iload 1 /* objectId */
            getstatic org.h2.engine.SysProperties.LOB_FILES_PER_DIRECTORY:I
            irem
            istore 3 /* f */
         8: .line 268
            new java.lang.StringBuilder
            dup
            getstatic org.h2.engine.SysProperties.FILE_SEPARATOR:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* f */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         9: .line 269
            ldc ".lobs.db"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 268
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* name */
        11: .line 270
            iload 1 /* objectId */
            getstatic org.h2.engine.SysProperties.LOB_FILES_PER_DIRECTORY:I
            idiv
            istore 1 /* objectId */
        12: .line 266
      StackMap locals:
      StackMap stack:
            iload 1 /* objectId */
            ifgt 7
        13: .line 272
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        14: .line 273
            ldc ".lobs.db"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 272
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.store.fs.FileUtils.toRealPath:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* name */
        16: .line 274
            aload 2 /* name */
            areturn
        end local 3 // int f
        end local 2 // java.lang.String name
        end local 1 // int objectId
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      path  Ljava/lang/String;
            0   17     1  objectId  I
            3    4     2      name  Ljava/lang/String;
            5   17     2      name  Ljava/lang/String;
            1   17     3         f  I
    MethodParameters:
          Name  Flags
      path      
      objectId  

  private static int getNewObjectId(org.h2.store.DataHandler);
    descriptor: (Lorg/h2/store/DataHandler;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=14, args_size=1
        start local 0 // org.h2.store.DataHandler h
         0: .line 278
            aload 0 /* h */
            invokeinterface org.h2.store.DataHandler.getDatabasePath:()Ljava/lang/String;
            astore 1 /* path */
        start local 1 // java.lang.String path
         1: .line 279
            aload 1 /* path */
            ifnull 7
            aload 1 /* path */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 7
         2: .line 280
            new java.io.File
            dup
            ldc "java.io.tmpdir"
            ldc "."
            invokestatic org.h2.util.Utils.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
         3: .line 281
            getstatic org.h2.engine.SysProperties.PREFIX_TEMP_FILE:Ljava/lang/String;
         4: .line 280
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 281
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
         6: .line 280
            astore 1 /* path */
         7: .line 283
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            istore 2 /* newId */
        start local 2 // int newId
         8: .line 284
            getstatic org.h2.engine.SysProperties.LOB_FILES_PER_DIRECTORY:I
            istore 3 /* lobsPerDir */
        start local 3 // int lobsPerDir
         9: .line 286
      StackMap locals: int int
      StackMap stack:
            aload 1 /* path */
            iload 2 /* newId */
            invokestatic org.h2.value.ValueLob.getFileNamePrefix:(Ljava/lang/String;I)Ljava/lang/String;
            astore 4 /* dir */
        start local 4 // java.lang.String dir
        10: .line 287
            aload 0 /* h */
            aload 4 /* dir */
            invokestatic org.h2.value.ValueLob.getFileList:(Lorg/h2/store/DataHandler;Ljava/lang/String;)[Ljava/lang/String;
            astore 5 /* list */
        start local 5 // java.lang.String[] list
        11: .line 288
            iconst_0
            istore 6 /* fileCount */
        start local 6 // int fileCount
        12: .line 289
            iload 3 /* lobsPerDir */
            newarray 4
            astore 7 /* used */
        start local 7 // boolean[] used
        13: .line 290
            aload 5 /* list */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 26
      StackMap locals: org.h2.store.DataHandler java.lang.String int int java.lang.String java.lang.String[] int boolean[] top int int java.lang.String[]
      StackMap stack:
        14: aload 11
            iload 9
            aaload
            astore 8 /* name */
        start local 8 // java.lang.String name
        15: .line 291
            aload 8 /* name */
            ldc ".db"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 25
        16: .line 292
            aload 8 /* name */
            invokestatic org.h2.store.fs.FileUtils.getName:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* name */
        17: .line 293
            aload 8 /* name */
            iconst_0
            aload 8 /* name */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 12 /* n */
        start local 12 // java.lang.String n
        18: .line 296
            aload 12 /* n */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 13 /* id */
        start local 13 // int id
        19: .line 297
            goto 22
        end local 13 // int id
      StackMap locals: org.h2.store.DataHandler java.lang.String int int java.lang.String java.lang.String[] int boolean[] java.lang.String int int java.lang.String[] java.lang.String
      StackMap stack: java.lang.NumberFormatException
        20: pop
        21: .line 298
            iconst_m1
            istore 13 /* id */
        start local 13 // int id
        22: .line 300
      StackMap locals: int
      StackMap stack:
            iload 13 /* id */
            ifle 25
        23: .line 301
            iinc 6 /* fileCount */ 1
        24: .line 302
            aload 7 /* used */
            iload 13 /* id */
            iload 3 /* lobsPerDir */
            irem
            iconst_1
            bastore
        end local 13 // int id
        end local 12 // java.lang.String n
        end local 8 // java.lang.String name
        25: .line 290
      StackMap locals: org.h2.store.DataHandler java.lang.String int int java.lang.String java.lang.String[] int boolean[] top int int java.lang.String[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        26: iload 9
            iload 10
            if_icmplt 14
        27: .line 306
            iconst_m1
            istore 8 /* fileId */
        start local 8 // int fileId
        28: .line 307
            iload 6 /* fileCount */
            iload 3 /* lobsPerDir */
            if_icmpge 36
        29: .line 308
            iconst_1
            istore 9 /* i */
        start local 9 // int i
        30: goto 35
        31: .line 309
      StackMap locals: org.h2.store.DataHandler java.lang.String int int java.lang.String java.lang.String[] int boolean[] int int
      StackMap stack:
            aload 7 /* used */
            iload 9 /* i */
            baload
            ifne 34
        32: .line 310
            iload 9 /* i */
            istore 8 /* fileId */
        33: .line 311
            goto 36
        34: .line 308
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 9 /* i */
            iload 3 /* lobsPerDir */
            if_icmplt 31
        end local 9 // int i
        36: .line 315
      StackMap locals:
      StackMap stack:
            iload 8 /* fileId */
            ifle 40
        37: .line 316
            iload 2 /* newId */
            iload 8 /* fileId */
            iadd
            istore 2 /* newId */
        38: .line 317
            aload 0 /* h */
            aload 4 /* dir */
            invokestatic org.h2.value.ValueLob.invalidateFileList:(Lorg/h2/store/DataHandler;Ljava/lang/String;)V
        39: .line 318
            goto 48
        40: .line 320
      StackMap locals:
      StackMap stack:
            iload 2 /* newId */
            ldc 2147483647
            iload 3 /* lobsPerDir */
            idiv
            if_icmple 44
        41: .line 322
            iconst_0
            istore 2 /* newId */
        42: .line 323
            iload 3 /* lobsPerDir */
            iconst_1
            isub
            invokestatic org.h2.util.MathUtils.randomInt:(I)I
            iload 3 /* lobsPerDir */
            imul
            putstatic org.h2.value.ValueLob.dirCounter:I
        43: .line 324
            goto 9
        44: .line 331
      StackMap locals:
      StackMap stack:
            getstatic org.h2.value.ValueLob.dirCounter:I
            dup
            iconst_1
            iadd
            putstatic org.h2.value.ValueLob.dirCounter:I
            iload 3 /* lobsPerDir */
            iconst_1
            isub
            idiv
            iconst_1
            iadd
            istore 9 /* dirId */
        start local 9 // int dirId
        45: .line 332
            iload 2 /* newId */
            iload 3 /* lobsPerDir */
            imul
            istore 2 /* newId */
        46: .line 333
            iload 2 /* newId */
            iload 9 /* dirId */
            iload 3 /* lobsPerDir */
            imul
            iadd
            istore 2 /* newId */
        end local 9 // int dirId
        end local 8 // int fileId
        end local 7 // boolean[] used
        end local 6 // int fileCount
        end local 5 // java.lang.String[] list
        end local 4 // java.lang.String dir
        47: .line 285
            goto 9
        48: .line 336
      StackMap locals: org.h2.store.DataHandler java.lang.String int int
      StackMap stack:
            iload 2 /* newId */
            ireturn
        end local 3 // int lobsPerDir
        end local 2 // int newId
        end local 1 // java.lang.String path
        end local 0 // org.h2.store.DataHandler h
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   49     0           h  Lorg/h2/store/DataHandler;
            1   49     1        path  Ljava/lang/String;
            8   49     2       newId  I
            9   49     3  lobsPerDir  I
           10   47     4         dir  Ljava/lang/String;
           11   47     5        list  [Ljava/lang/String;
           12   47     6   fileCount  I
           13   47     7        used  [Z
           15   25     8        name  Ljava/lang/String;
           18   25    12           n  Ljava/lang/String;
           19   20    13          id  I
           22   25    13          id  I
           28   47     8      fileId  I
           30   36     9           i  I
           45   47     9       dirId  I
      Exception table:
        from    to  target  type
          18    19      20  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      h     

  private static void invalidateFileList(org.h2.store.DataHandler, java.lang.String);
    descriptor: (Lorg/h2/store/DataHandler;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.h2.store.DataHandler h
        start local 1 // java.lang.String dir
         0: .line 340
            aload 0 /* h */
            invokeinterface org.h2.store.DataHandler.getLobFileListCache:()Lorg/h2/util/SmallLRUCache;
            astore 2 /* cache */
        start local 2 // org.h2.util.SmallLRUCache cache
         1: .line 341
            aload 2 /* cache */
            ifnull 8
         2: .line 342
            aload 2 /* cache */
            dup
            astore 3
            monitorenter
         3: .line 343
            aload 2 /* cache */
            aload 1 /* dir */
            invokevirtual org.h2.util.SmallLRUCache.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 342
            aload 3
            monitorexit
         5: goto 8
      StackMap locals: org.h2.store.DataHandler java.lang.String org.h2.util.SmallLRUCache org.h2.util.SmallLRUCache
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 346
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.h2.util.SmallLRUCache cache
        end local 1 // java.lang.String dir
        end local 0 // org.h2.store.DataHandler h
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0      h  Lorg/h2/store/DataHandler;
            0    9     1    dir  Ljava/lang/String;
            1    9     2  cache  Lorg/h2/util/SmallLRUCache<Ljava/lang/String;[Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           3     5       6  any
           6     7       6  any
    MethodParameters:
      Name  Flags
      h     
      dir   

  private static java.lang.String[] getFileList(org.h2.store.DataHandler, java.lang.String);
    descriptor: (Lorg/h2/store/DataHandler;Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.h2.store.DataHandler h
        start local 1 // java.lang.String dir
         0: .line 349
            aload 0 /* h */
            invokeinterface org.h2.store.DataHandler.getLobFileListCache:()Lorg/h2/util/SmallLRUCache;
            astore 2 /* cache */
        start local 2 // org.h2.util.SmallLRUCache cache
         1: .line 351
            aload 2 /* cache */
            ifnonnull 4
         2: .line 352
            aload 1 /* dir */
            invokestatic org.h2.store.fs.FileUtils.newDirectoryStream:(Ljava/lang/String;)Ljava/util/List;
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 3 /* list */
        start local 3 // java.lang.String[] list
         3: .line 353
            goto 13
        end local 3 // java.lang.String[] list
         4: .line 354
      StackMap locals: org.h2.util.SmallLRUCache
      StackMap stack:
            aload 2 /* cache */
            dup
            astore 4
            monitorenter
         5: .line 355
            aload 2 /* cache */
            aload 1 /* dir */
            invokevirtual org.h2.util.SmallLRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 3 /* list */
        start local 3 // java.lang.String[] list
         6: .line 356
            aload 3 /* list */
            ifnonnull 9
         7: .line 357
            aload 1 /* dir */
            invokestatic org.h2.store.fs.FileUtils.newDirectoryStream:(Ljava/lang/String;)Ljava/util/List;
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 3 /* list */
         8: .line 358
            aload 2 /* cache */
            aload 1 /* dir */
            aload 3 /* list */
            invokevirtual org.h2.util.SmallLRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 354
      StackMap locals: java.lang.String[] org.h2.util.SmallLRUCache
      StackMap stack:
            aload 4
            monitorexit
        10: goto 13
        end local 3 // java.lang.String[] list
      StackMap locals: org.h2.store.DataHandler java.lang.String org.h2.util.SmallLRUCache top org.h2.util.SmallLRUCache
      StackMap stack: java.lang.Throwable
        11: aload 4
            monitorexit
        12: athrow
        start local 3 // java.lang.String[] list
        13: .line 362
      StackMap locals: org.h2.store.DataHandler java.lang.String org.h2.util.SmallLRUCache java.lang.String[]
      StackMap stack:
            aload 3 /* list */
            areturn
        end local 3 // java.lang.String[] list
        end local 2 // org.h2.util.SmallLRUCache cache
        end local 1 // java.lang.String dir
        end local 0 // org.h2.store.DataHandler h
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0      h  Lorg/h2/store/DataHandler;
            0   14     1    dir  Ljava/lang/String;
            1   14     2  cache  Lorg/h2/util/SmallLRUCache<Ljava/lang/String;[Ljava/lang/String;>;
            3    4     3   list  [Ljava/lang/String;
            6   11     3   list  [Ljava/lang/String;
           13   14     3   list  [Ljava/lang/String;
      Exception table:
        from    to  target  type
           5    10      11  any
          11    12      11  any
    MethodParameters:
      Name  Flags
      h     
      dir   

  protected org.h2.value.Value convertTo(int, org.h2.engine.Mode, java.lang.Object, org.h2.value.ExtTypeInfo);
    descriptor: (ILorg/h2/engine/Mode;Ljava/lang/Object;Lorg/h2/value/ExtTypeInfo;)Lorg/h2/value/Value;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.h2.value.ValueLob this
        start local 1 // int t
        start local 2 // org.h2.engine.Mode mode
        start local 3 // java.lang.Object column
        start local 4 // org.h2.value.ExtTypeInfo extTypeInfo
         0: .line 377
            iload 1 /* t */
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            if_icmpne 2
         1: .line 378
            aload 0 /* this */
            areturn
         2: .line 379
      StackMap locals:
      StackMap stack:
            iload 1 /* t */
            bipush 16
            if_icmpne 4
         3: .line 380
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getReader:()Ljava/io/Reader;
            ldc -1
            aload 0 /* this */
            getfield org.h2.value.ValueLob.handler:Lorg/h2/store/DataHandler;
            invokestatic org.h2.value.ValueLobDb.createTempClob:(Ljava/io/Reader;JLorg/h2/store/DataHandler;)Lorg/h2/value/ValueLobDb;
            areturn
         4: .line 381
      StackMap locals:
      StackMap stack:
            iload 1 /* t */
            bipush 15
            if_icmpne 6
         5: .line 382
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getInputStream:()Ljava/io/InputStream;
            ldc -1
            aload 0 /* this */
            getfield org.h2.value.ValueLob.handler:Lorg/h2/store/DataHandler;
            invokestatic org.h2.value.ValueLobDb.createTempBlob:(Ljava/io/InputStream;JLorg/h2/store/DataHandler;)Lorg/h2/value/ValueLobDb;
            areturn
         6: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* t */
            aload 2 /* mode */
            aload 3 /* column */
            aconst_null
            invokespecial org.h2.value.Value.convertTo:(ILorg/h2/engine/Mode;Ljava/lang/Object;Lorg/h2/value/ExtTypeInfo;)Lorg/h2/value/Value;
            areturn
        end local 4 // org.h2.value.ExtTypeInfo extTypeInfo
        end local 3 // java.lang.Object column
        end local 2 // org.h2.engine.Mode mode
        end local 1 // int t
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/h2/value/ValueLob;
            0    7     1            t  I
            0    7     2         mode  Lorg/h2/engine/Mode;
            0    7     3       column  Ljava/lang/Object;
            0    7     4  extTypeInfo  Lorg/h2/value/ExtTypeInfo;
    MethodParameters:
             Name  Flags
      t            
      mode         
      column       
      extTypeInfo  

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

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

  public void remove();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 403
            aload 0 /* this */
            getfield org.h2.value.ValueLob.handler:Lorg/h2/store/DataHandler;
            aload 0 /* this */
            getfield org.h2.value.ValueLob.fileName:Ljava/lang/String;
            invokestatic org.h2.value.ValueLob.deleteFile:(Lorg/h2/store/DataHandler;Ljava/lang/String;)V
         1: .line 404
            return
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/ValueLob;

  public org.h2.value.Value copy(org.h2.store.DataHandler, int);
    descriptor: (Lorg/h2/store/DataHandler;I)Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=5, args_size=3
        start local 0 // org.h2.value.ValueLob this
        start local 1 // org.h2.store.DataHandler h
        start local 2 // int tabId
         0: .line 408
            aload 0 /* this */
            getfield org.h2.value.ValueLob.linked:Z
            ifeq 11
         1: .line 409
            new org.h2.value.ValueLob
            dup
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            aload 0 /* this */
            getfield org.h2.value.ValueLob.handler:Lorg/h2/store/DataHandler;
            aload 0 /* this */
            getfield org.h2.value.ValueLob.fileName:Ljava/lang/String;
         2: .line 410
            aload 0 /* this */
            getfield org.h2.value.ValueLob.tableId:I
            aload 1 /* h */
            invokestatic org.h2.value.ValueLob.getNewObjectId:(Lorg/h2/store/DataHandler;)I
            aload 0 /* this */
            getfield org.h2.value.ValueLob.linked:Z
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            aload 0 /* this */
            getfield org.h2.value.ValueLob.compressed:Z
         3: .line 409
            invokespecial org.h2.value.ValueLob.<init>:(ILorg/h2/store/DataHandler;Ljava/lang/String;IIZJZ)V
            astore 3 /* copy */
        start local 3 // org.h2.value.ValueLob copy
         4: .line 411
            aload 3 /* copy */
            aload 0 /* this */
            getfield org.h2.value.ValueLob.hash:I
            putfield org.h2.value.ValueLob.hash:I
         5: .line 412
            aload 3 /* copy */
            iload 2 /* tabId */
            putfield org.h2.value.ValueLob.tableId:I
         6: .line 413
            aload 1 /* h */
            aload 3 /* copy */
            getfield org.h2.value.ValueLob.tableId:I
            aload 3 /* copy */
            getfield org.h2.value.ValueLob.objectId:I
            invokestatic org.h2.value.ValueLob.getFileName:(Lorg/h2/store/DataHandler;II)Ljava/lang/String;
            astore 4 /* live */
        start local 4 // java.lang.String live
         7: .line 414
            aload 1 /* h */
            aload 0 /* this */
            getfield org.h2.value.ValueLob.fileName:Ljava/lang/String;
            aload 4 /* live */
            invokestatic org.h2.value.ValueLob.copyFileTo:(Lorg/h2/store/DataHandler;Ljava/lang/String;Ljava/lang/String;)V
         8: .line 415
            aload 3 /* copy */
            aload 4 /* live */
            putfield org.h2.value.ValueLob.fileName:Ljava/lang/String;
         9: .line 416
            aload 3 /* copy */
            iconst_1
            putfield org.h2.value.ValueLob.linked:Z
        10: .line 417
            aload 3 /* copy */
            areturn
        end local 4 // java.lang.String live
        end local 3 // org.h2.value.ValueLob copy
        11: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.ValueLob.linked:Z
            ifne 17
        12: .line 420
            aload 0 /* this */
            iload 2 /* tabId */
            putfield org.h2.value.ValueLob.tableId:I
        13: .line 421
            aload 1 /* h */
            aload 0 /* this */
            getfield org.h2.value.ValueLob.tableId:I
            aload 0 /* this */
            getfield org.h2.value.ValueLob.objectId:I
            invokestatic org.h2.value.ValueLob.getFileName:(Lorg/h2/store/DataHandler;II)Ljava/lang/String;
            astore 3 /* live */
        start local 3 // java.lang.String live
        14: .line 422
            aload 1 /* h */
            aload 0 /* this */
            getfield org.h2.value.ValueLob.fileName:Ljava/lang/String;
            aload 3 /* live */
            invokestatic org.h2.value.ValueLob.renameFile:(Lorg/h2/store/DataHandler;Ljava/lang/String;Ljava/lang/String;)V
        15: .line 423
            aload 0 /* this */
            aload 3 /* live */
            putfield org.h2.value.ValueLob.fileName:Ljava/lang/String;
        16: .line 424
            aload 0 /* this */
            iconst_1
            putfield org.h2.value.ValueLob.linked:Z
        end local 3 // java.lang.String live
        17: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // int tabId
        end local 1 // org.h2.store.DataHandler h
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Lorg/h2/value/ValueLob;
            0   18     1      h  Lorg/h2/store/DataHandler;
            0   18     2  tabId  I
            4   11     3   copy  Lorg/h2/value/ValueLob;
            7   11     4   live  Ljava/lang/String;
           14   17     3   live  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      h      
      tabId  

  public int getTableId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 436
            aload 0 /* this */
            getfield org.h2.value.ValueLob.tableId:I
            ireturn
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueLob;

  public int getObjectId();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 445
            aload 0 /* this */
            getfield org.h2.value.ValueLob.objectId:I
            ireturn
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueLob;

  public org.h2.value.TypeInfo getType();
    descriptor: ()Lorg/h2/value/TypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 450
            aload 0 /* this */
            getfield org.h2.value.ValueLob.type:Lorg/h2/value/TypeInfo;
            astore 1 /* type */
        start local 1 // org.h2.value.TypeInfo type
         1: .line 451
            aload 1 /* type */
            ifnonnull 3
         2: .line 452
            aload 0 /* this */
            new org.h2.value.TypeInfo
            dup
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            iconst_0
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            invokestatic org.h2.util.MathUtils.convertLongToInt:(J)I
            aconst_null
            invokespecial org.h2.value.TypeInfo.<init>:(IJIILorg/h2/value/ExtTypeInfo;)V
            dup
            astore 1 /* type */
            putfield org.h2.value.ValueLob.type:Lorg/h2/value/TypeInfo;
         3: .line 454
      StackMap locals: org.h2.value.TypeInfo
      StackMap stack:
            aload 1 /* type */
            areturn
        end local 1 // org.h2.value.TypeInfo type
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/value/ValueLob;
            1    4     1  type  Lorg/h2/value/TypeInfo;

  public int getValueType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 459
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            ireturn
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueLob;

  public java.lang.String getString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 464
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            ldc 2147483647
            lcmp
            ifgt 1
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            lconst_0
            lcmp
            ifne 2
         1: .line 465
      StackMap locals:
      StackMap stack:
            ldc 2147483647
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            l2i
         3: .line 464
      StackMap locals:
      StackMap stack: int
            istore 1 /* len */
        start local 1 // int len
         4: .line 467
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            bipush 16
            if_icmpne 7
         5: .line 468
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getReader:()Ljava/io/Reader;
            iload 1 /* len */
            invokestatic org.h2.util.IOUtils.readStringAndClose:(Ljava/io/Reader;I)Ljava/lang/String;
         6: areturn
         7: .line 470
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getInputStream:()Ljava/io/InputStream;
            iload 1 /* len */
            invokestatic org.h2.util.IOUtils.readBytesAndClose:(Ljava/io/InputStream;I)[B
            astore 2 /* buff */
        start local 2 // byte[] buff
         8: .line 471
            aload 2 /* buff */
            invokestatic org.h2.util.StringUtils.convertBytesToHex:([B)Ljava/lang/String;
         9: areturn
        end local 2 // byte[] buff
        10: .line 472
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
        11: .line 473
            aload 2 /* e */
            aload 0 /* this */
            getfield org.h2.value.ValueLob.fileName:Ljava/lang/String;
            invokestatic org.h2.message.DbException.convertIOException:(Ljava/io/IOException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 2 // java.io.IOException e
        end local 1 // int len
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/h2/value/ValueLob;
            4   12     1   len  I
            8   10     2  buff  [B
           11   12     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     6      10  Class java.io.IOException
           7     9      10  Class java.io.IOException

  public byte[] getBytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 479
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            bipush 16
            if_icmpne 2
         1: .line 481
            aload 0 /* this */
            invokespecial org.h2.value.Value.getBytes:()[B
            areturn
         2: .line 483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getBytesNoCopy:()[B
            astore 1 /* data */
        start local 1 // byte[] data
         3: .line 484
            aload 1 /* data */
            invokestatic org.h2.util.Utils.cloneByteArray:([B)[B
            areturn
        end local 1 // byte[] data
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/value/ValueLob;
            3    4     1  data  [B

  public byte[] getBytesNoCopy();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 489
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            bipush 16
            if_icmpne 2
         1: .line 491
            aload 0 /* this */
            invokespecial org.h2.value.Value.getBytesNoCopy:()[B
            areturn
         2: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getInputStream:()Ljava/io/InputStream;
            ldc 2147483647
         3: .line 494
            invokestatic org.h2.util.IOUtils.readBytesAndClose:(Ljava/io/InputStream;I)[B
         4: areturn
         5: .line 496
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         6: .line 497
            aload 1 /* e */
            aload 0 /* this */
            getfield org.h2.value.ValueLob.fileName:Ljava/lang/String;
            invokestatic org.h2.message.DbException.convertIOException:(Ljava/io/IOException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.io.IOException e
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/h2/value/ValueLob;
            6    7     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     4       5  Class java.io.IOException

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 503
            aload 0 /* this */
            getfield org.h2.value.ValueLob.hash:I
            ifne 7
         1: .line 504
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            ldc 4096
            lcmp
            ifle 3
         2: .line 507
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            bipush 32
            lushr
            lxor
            l2i
            ireturn
         3: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            bipush 16
            if_icmpne 6
         4: .line 510
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getString:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            putfield org.h2.value.ValueLob.hash:I
         5: .line 511
            goto 7
         6: .line 512
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getBytes:()[B
            invokestatic org.h2.util.Utils.getByteArrayHash:([B)I
            putfield org.h2.value.ValueLob.hash:I
         7: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.ValueLob.hash:I
            ireturn
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/h2/value/ValueLob;

  public int compareTypeSafe(org.h2.value.Value, org.h2.value.CompareMode);
    descriptor: (Lorg/h2/value/Value;Lorg/h2/value/CompareMode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.h2.value.ValueLob this
        start local 1 // org.h2.value.Value v
        start local 2 // org.h2.value.CompareMode mode
         0: .line 520
            aload 0 /* this */
            aload 1 /* v */
            invokestatic org.h2.value.ValueLob.compare:(Lorg/h2/value/Value;Lorg/h2/value/Value;)I
            ireturn
        end local 2 // org.h2.value.CompareMode mode
        end local 1 // org.h2.value.Value v
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueLob;
            0    1     1     v  Lorg/h2/value/Value;
            0    1     2  mode  Lorg/h2/value/CompareMode;
    MethodParameters:
      Name  Flags
      v     
      mode  

  public java.lang.Object getObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 525
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            bipush 16
            if_icmpne 2
         1: .line 526
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getReader:()Ljava/io/Reader;
            areturn
         2: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getInputStream:()Ljava/io/InputStream;
            areturn
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/value/ValueLob;

  public java.io.Reader getReader();
    descriptor: ()Ljava/io/Reader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 533
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getInputStream:()Ljava/io/InputStream;
            invokestatic org.h2.util.IOUtils.getBufferedReader:(Ljava/io/InputStream;)Ljava/io/Reader;
            areturn
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueLob;

  public java.io.Reader getReader(long, long);
    descriptor: (JJ)Ljava/io/Reader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.h2.value.ValueLob this
        start local 1 // long oneBasedOffset
        start local 3 // long length
         0: .line 538
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getReader:()Ljava/io/Reader;
            lload 1 /* oneBasedOffset */
            lload 3 /* length */
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            bipush 16
            if_icmpne 1
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            goto 2
      StackMap locals: org.h2.value.ValueLob long long
      StackMap stack: java.io.Reader long long
         1: ldc -1
      StackMap locals: org.h2.value.ValueLob long long
      StackMap stack: java.io.Reader long long long
         2: invokestatic org.h2.value.ValueLob.rangeReader:(Ljava/io/Reader;JJJ)Ljava/io/Reader;
            areturn
        end local 3 // long length
        end local 1 // long oneBasedOffset
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/h2/value/ValueLob;
            0    3     1  oneBasedOffset  J
            0    3     3          length  J
    MethodParameters:
                Name  Flags
      oneBasedOffset  
      length          

  public java.io.InputStream getInputStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 543
            aload 0 /* this */
            getfield org.h2.value.ValueLob.handler:Lorg/h2/store/DataHandler;
            aload 0 /* this */
            getfield org.h2.value.ValueLob.fileName:Ljava/lang/String;
            ldc "r"
            iconst_1
            invokeinterface org.h2.store.DataHandler.openFile:(Ljava/lang/String;Ljava/lang/String;Z)Lorg/h2/store/FileStore;
            astore 1 /* store */
        start local 1 // org.h2.store.FileStore store
         1: .line 544
            getstatic org.h2.engine.SysProperties.lobCloseBetweenReads:Z
            istore 2 /* alwaysClose */
        start local 2 // boolean alwaysClose
         2: .line 545
            new java.io.BufferedInputStream
            dup
         3: .line 546
            new org.h2.store.FileStoreInputStream
            dup
            aload 1 /* store */
            aload 0 /* this */
            getfield org.h2.value.ValueLob.handler:Lorg/h2/store/DataHandler;
            aload 0 /* this */
            getfield org.h2.value.ValueLob.compressed:Z
            iload 2 /* alwaysClose */
            invokespecial org.h2.store.FileStoreInputStream.<init>:(Lorg/h2/store/FileStore;Lorg/h2/store/DataHandler;ZZ)V
         4: .line 547
            sipush 4096
         5: .line 545
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
            areturn
        end local 2 // boolean alwaysClose
        end local 1 // org.h2.store.FileStore store
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/h2/value/ValueLob;
            1    6     1        store  Lorg/h2/store/FileStore;
            2    6     2  alwaysClose  Z

  public java.io.InputStream getInputStream(long, long);
    descriptor: (JJ)Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=3
        start local 0 // org.h2.value.ValueLob this
        start local 1 // long oneBasedOffset
        start local 3 // long length
         0: .line 552
            aload 0 /* this */
            getfield org.h2.value.ValueLob.handler:Lorg/h2/store/DataHandler;
            aload 0 /* this */
            getfield org.h2.value.ValueLob.fileName:Ljava/lang/String;
            ldc "r"
            iconst_1
            invokeinterface org.h2.store.DataHandler.openFile:(Ljava/lang/String;Ljava/lang/String;Z)Lorg/h2/store/FileStore;
            astore 5 /* store */
        start local 5 // org.h2.store.FileStore store
         1: .line 553
            getstatic org.h2.engine.SysProperties.lobCloseBetweenReads:Z
            istore 6 /* alwaysClose */
        start local 6 // boolean alwaysClose
         2: .line 554
            new java.io.BufferedInputStream
            dup
         3: .line 555
            new org.h2.store.FileStoreInputStream
            dup
            aload 5 /* store */
            aload 0 /* this */
            getfield org.h2.value.ValueLob.handler:Lorg/h2/store/DataHandler;
            aload 0 /* this */
            getfield org.h2.value.ValueLob.compressed:Z
            iload 6 /* alwaysClose */
            invokespecial org.h2.store.FileStoreInputStream.<init>:(Lorg/h2/store/FileStore;Lorg/h2/store/DataHandler;ZZ)V
         4: .line 556
            sipush 4096
         5: .line 554
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
            astore 7 /* inputStream */
        start local 7 // java.io.InputStream inputStream
         6: .line 557
            aload 7 /* inputStream */
            lload 1 /* oneBasedOffset */
            lload 3 /* length */
            aload 5 /* store */
            invokevirtual org.h2.store.FileStore.length:()J
            invokestatic org.h2.value.ValueLob.rangeInputStream:(Ljava/io/InputStream;JJJ)Ljava/io/InputStream;
            areturn
        end local 7 // java.io.InputStream inputStream
        end local 6 // boolean alwaysClose
        end local 5 // org.h2.store.FileStore store
        end local 3 // long length
        end local 1 // long oneBasedOffset
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/h2/value/ValueLob;
            0    7     1  oneBasedOffset  J
            0    7     3          length  J
            1    7     5           store  Lorg/h2/store/FileStore;
            2    7     6     alwaysClose  Z
            6    7     7     inputStream  Ljava/io/InputStream;
    MethodParameters:
                Name  Flags
      oneBasedOffset  
      length          

  public void set(java.sql.PreparedStatement, int);
    descriptor: (Ljava/sql/PreparedStatement;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.h2.value.ValueLob this
        start local 1 // java.sql.PreparedStatement prep
        start local 2 // int parameterIndex
         0: .line 563
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            lstore 3 /* p */
        start local 3 // long p
         1: .line 564
            lload 3 /* p */
            ldc 2147483647
            lcmp
            ifgt 2
            lload 3 /* p */
            lconst_0
            lcmp
            ifgt 3
         2: .line 565
      StackMap locals: long
      StackMap stack:
            ldc -1
            lstore 3 /* p */
         3: .line 567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            bipush 15
            if_icmpne 6
         4: .line 568
            aload 1 /* prep */
            iload 2 /* parameterIndex */
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getInputStream:()Ljava/io/InputStream;
            lload 3 /* p */
            l2i
            invokeinterface java.sql.PreparedStatement.setBinaryStream:(ILjava/io/InputStream;I)V
         5: .line 569
            goto 7
         6: .line 570
      StackMap locals:
      StackMap stack:
            aload 1 /* prep */
            iload 2 /* parameterIndex */
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getReader:()Ljava/io/Reader;
            lload 3 /* p */
            l2i
            invokeinterface java.sql.PreparedStatement.setCharacterStream:(ILjava/io/Reader;I)V
         7: .line 572
      StackMap locals:
      StackMap stack:
            return
        end local 3 // long p
        end local 2 // int parameterIndex
        end local 1 // java.sql.PreparedStatement prep
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/h2/value/ValueLob;
            0    8     1            prep  Ljava/sql/PreparedStatement;
            0    8     2  parameterIndex  I
            1    8     3               p  J
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
                Name  Flags
      prep            
      parameterIndex  

  public java.lang.StringBuilder getSQL(java.lang.StringBuilder);
    descriptor: (Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.value.ValueLob this
        start local 1 // java.lang.StringBuilder builder
         0: .line 576
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            bipush 16
            if_icmpne 3
         1: .line 577
            aload 1 /* builder */
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getString:()Ljava/lang/String;
            invokestatic org.h2.util.StringUtils.quoteStringSQL:(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 578
            goto 5
         3: .line 579
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            ldc "X'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 580
            aload 1 /* builder */
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getBytes:()[B
            invokestatic org.h2.util.StringUtils.convertBytesToHex:(Ljava/lang/StringBuilder;[B)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 582
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/h2/value/ValueLob;
            0    6     1  builder  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      builder  

  public java.lang.String getTraceSQL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 587
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buff */
        start local 1 // java.lang.StringBuilder buff
         1: .line 588
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            bipush 16
            if_icmpne 4
         2: .line 589
            aload 1 /* buff */
            ldc "SPACE("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         3: .line 590
            goto 5
         4: .line 591
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* buff */
            ldc "CAST(REPEAT('00', "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ") AS BINARY"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 593
      StackMap locals:
      StackMap stack:
            aload 1 /* buff */
            ldc " /* "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.h2.value.ValueLob.fileName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " */)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 594
            aload 1 /* buff */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buff
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/h2/value/ValueLob;
            1    7     1  buff  Ljava/lang/StringBuilder;

  public byte[] getSmall();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 604
            aconst_null
            areturn
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueLob;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.value.ValueLob this
        start local 1 // java.lang.Object other
         0: .line 609
            aload 1 /* other */
            instanceof org.h2.value.ValueLob
            ifeq 4
         1: .line 610
            aload 1 /* other */
            checkcast org.h2.value.ValueLob
            astore 2 /* o */
        start local 2 // org.h2.value.ValueLob o
         2: .line 611
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            aload 2 /* o */
            getfield org.h2.value.ValueLob.valueType:I
            if_icmpne 3
            aload 0 /* this */
            aload 2 /* o */
            aconst_null
            invokevirtual org.h2.value.ValueLob.compareTypeSafe:(Lorg/h2/value/Value;Lorg/h2/value/CompareMode;)I
            ifne 3
            iconst_1
            ireturn
      StackMap locals: org.h2.value.ValueLob
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // org.h2.value.ValueLob o
         4: .line 613
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/h2/value/ValueLob;
            0    5     1  other  Ljava/lang/Object;
            2    4     2      o  Lorg/h2/value/ValueLob;
    MethodParameters:
       Name  Flags
      other  

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

  private static synchronized void deleteFile(org.h2.store.DataHandler, java.lang.String);
    descriptor: (Lorg/h2/store/DataHandler;Ljava/lang/String;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.store.DataHandler handler
        start local 1 // java.lang.String fileName
         0: .line 629
            aload 0 /* handler */
            invokeinterface org.h2.store.DataHandler.getLobSyncObject:()Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 630
            aload 1 /* fileName */
            invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
         2: .line 629
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: org.h2.store.DataHandler java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 632
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String fileName
        end local 0 // org.h2.store.DataHandler handler
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0   handler  Lorg/h2/store/DataHandler;
            0    7     1  fileName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
          Name  Flags
      handler   
      fileName  

  private static synchronized void renameFile(org.h2.store.DataHandler, java.lang.String, java.lang.String);
    descriptor: (Lorg/h2/store/DataHandler;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.h2.store.DataHandler handler
        start local 1 // java.lang.String oldName
        start local 2 // java.lang.String newName
         0: .line 636
            aload 0 /* handler */
            invokeinterface org.h2.store.DataHandler.getLobSyncObject:()Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 637
            aload 1 /* oldName */
            aload 2 /* newName */
            invokestatic org.h2.store.fs.FileUtils.move:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 636
            aload 3
            monitorexit
         3: goto 6
      StackMap locals: org.h2.store.DataHandler java.lang.String java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
         6: .line 639
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String newName
        end local 1 // java.lang.String oldName
        end local 0 // org.h2.store.DataHandler handler
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0  handler  Lorg/h2/store/DataHandler;
            0    7     1  oldName  Ljava/lang/String;
            0    7     2  newName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
         Name  Flags
      handler  
      oldName  
      newName  

  private static void copyFileTo(org.h2.store.DataHandler, java.lang.String, java.lang.String);
    descriptor: (Lorg/h2/store/DataHandler;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.h2.store.DataHandler h
        start local 1 // java.lang.String sourceFileName
        start local 2 // java.lang.String targetFileName
         0: .line 643
            aload 0 /* h */
            invokeinterface org.h2.store.DataHandler.getLobSyncObject:()Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 645
            aload 1 /* sourceFileName */
            aload 2 /* targetFileName */
            invokestatic org.h2.util.IOUtils.copyFiles:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 646
            goto 5
      StackMap locals: org.h2.store.DataHandler java.lang.String java.lang.String java.lang.Object
      StackMap stack: java.io.IOException
         3: astore 4 /* e */
        start local 4 // java.io.IOException e
         4: .line 647
            aload 4 /* e */
            aconst_null
            invokestatic org.h2.message.DbException.convertIOException:(Ljava/io/IOException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 4 // java.io.IOException e
         5: .line 643
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
         9: .line 650
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String targetFileName
        end local 1 // java.lang.String sourceFileName
        end local 0 // org.h2.store.DataHandler h
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0               h  Lorg/h2/store/DataHandler;
            0   10     1  sourceFileName  Ljava/lang/String;
            0   10     2  targetFileName  Ljava/lang/String;
            4    5     4               e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
           1     6       7  any
           7     8       7  any
    MethodParameters:
                Name  Flags
      h               
      sourceFileName  
      targetFileName  

  public int getMemory();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 654
            sipush 140
            ireturn
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueLob;

  public org.h2.value.ValueLobDb copyToTemp();
    descriptor: ()Lorg/h2/value/ValueLobDb;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.h2.value.ValueLob this
         0: .line 666
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            bipush 16
            if_icmpne 3
         1: .line 667
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getReader:()Ljava/io/Reader;
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            aload 0 /* this */
            getfield org.h2.value.ValueLob.handler:Lorg/h2/store/DataHandler;
            invokestatic org.h2.value.ValueLobDb.createTempClob:(Ljava/io/Reader;JLorg/h2/store/DataHandler;)Lorg/h2/value/ValueLobDb;
            astore 1 /* lob */
        start local 1 // org.h2.value.ValueLobDb lob
         2: .line 668
            goto 4
        end local 1 // org.h2.value.ValueLobDb lob
         3: .line 669
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getInputStream:()Ljava/io/InputStream;
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            aload 0 /* this */
            getfield org.h2.value.ValueLob.handler:Lorg/h2/store/DataHandler;
            invokestatic org.h2.value.ValueLobDb.createTempBlob:(Ljava/io/InputStream;JLorg/h2/store/DataHandler;)Lorg/h2/value/ValueLobDb;
            astore 1 /* lob */
        start local 1 // org.h2.value.ValueLobDb lob
         4: .line 671
      StackMap locals: org.h2.value.ValueLobDb
      StackMap stack:
            aload 1 /* lob */
            areturn
        end local 1 // org.h2.value.ValueLobDb lob
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/value/ValueLob;
            2    3     1   lob  Lorg/h2/value/ValueLobDb;
            4    5     1   lob  Lorg/h2/value/ValueLobDb;

  public org.h2.value.Value convertPrecision(long, boolean);
    descriptor: (JZ)Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.h2.value.ValueLob this
        start local 1 // long precision
        start local 3 // boolean force
         0: .line 676
            aload 0 /* this */
            getfield org.h2.value.ValueLob.precision:J
            lload 1 /* precision */
            lcmp
            ifgt 2
         1: .line 677
            aload 0 /* this */
            areturn
         2: .line 680
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.ValueLob.valueType:I
            bipush 16
            if_icmpne 5
         3: .line 681
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getReader:()Ljava/io/Reader;
            lload 1 /* precision */
            aload 0 /* this */
            getfield org.h2.value.ValueLob.handler:Lorg/h2/store/DataHandler;
            invokestatic org.h2.value.ValueLobDb.createTempClob:(Ljava/io/Reader;JLorg/h2/store/DataHandler;)Lorg/h2/value/ValueLobDb;
            astore 4 /* lob */
        start local 4 // org.h2.value.ValueLobDb lob
         4: .line 682
            goto 6
        end local 4 // org.h2.value.ValueLobDb lob
         5: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.value.ValueLob.getInputStream:()Ljava/io/InputStream;
            lload 1 /* precision */
            aload 0 /* this */
            getfield org.h2.value.ValueLob.handler:Lorg/h2/store/DataHandler;
            invokestatic org.h2.value.ValueLobDb.createTempBlob:(Ljava/io/InputStream;JLorg/h2/store/DataHandler;)Lorg/h2/value/ValueLobDb;
            astore 4 /* lob */
        start local 4 // org.h2.value.ValueLobDb lob
         6: .line 685
      StackMap locals: org.h2.value.ValueLobDb
      StackMap stack:
            aload 4 /* lob */
            areturn
        end local 4 // org.h2.value.ValueLobDb lob
        end local 3 // boolean force
        end local 1 // long precision
        end local 0 // org.h2.value.ValueLob this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/h2/value/ValueLob;
            0    7     1  precision  J
            0    7     3      force  Z
            4    5     4        lob  Lorg/h2/value/ValueLobDb;
            6    7     4        lob  Lorg/h2/value/ValueLobDb;
    MethodParameters:
           Name  Flags
      precision  
      force      

  public org.h2.value.Value copyToTemp();
    descriptor: ()Lorg/h2/value/Value;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.h2.value.ValueLob.copyToTemp:()Lorg/h2/value/ValueLobDb;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ValueLob.java"