public class org.hsqldb.jdbc.JDBCBlobClient implements java.sql.Blob
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.jdbc.JDBCBlobClient
  super_class: java.lang.Object
{
  org.hsqldb.types.BlobDataID originalBlob;
    descriptor: Lorg/hsqldb/types/BlobDataID;
    flags: (0x0000) 

  org.hsqldb.types.BlobDataID blob;
    descriptor: Lorg/hsqldb/types/BlobDataID;
    flags: (0x0000) 

  org.hsqldb.SessionInterface session;
    descriptor: Lorg/hsqldb/SessionInterface;
    flags: (0x0000) 

  int colIndex;
    descriptor: I
    flags: (0x0000) 

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

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

  org.hsqldb.jdbc.JDBCResultSet resultSet;
    descriptor: Lorg/hsqldb/jdbc/JDBCResultSet;
    flags: (0x0000) 

  public synchronized long length();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
         0: .line 66
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobClient.checkClosed:()V
         1: .line 69
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.session:Lorg/hsqldb/SessionInterface;
            invokevirtual org.hsqldb.types.BlobDataID.length:(Lorg/hsqldb/SessionInterface;)J
         2: lreturn
         3: .line 70
      StackMap locals:
      StackMap stack: org.hsqldb.HsqlException
            astore 1 /* e */
        start local 1 // org.hsqldb.HsqlException e
         4: .line 71
            aload 1 /* e */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Lorg/hsqldb/HsqlException;)Ljava/sql/SQLException;
            athrow
        end local 1 // org.hsqldb.HsqlException e
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hsqldb/jdbc/JDBCBlobClient;
            4    5     1     e  Lorg/hsqldb/HsqlException;
      Exception table:
        from    to  target  type
           1     2       3  Class org.hsqldb.HsqlException
    Exceptions:
      throws java.sql.SQLException

  public synchronized byte[] getBytes(long, int);
    descriptor: (JI)[B
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
        start local 1 // long pos
        start local 3 // int length
         0: .line 93
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobClient.checkClosed:()V
         1: .line 95
            ldc 9223372036854775807
            lload 1 /* pos */
            lconst_1
            lsub
            iload 3 /* length */
            i2l
            invokestatic org.hsqldb.jdbc.JDBCBlobClient.isInLimits:(JJJ)Z
            ifne 3
         2: .line 96
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:()Ljava/sql/SQLException;
            athrow
         3: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.session:Lorg/hsqldb/SessionInterface;
            lload 1 /* pos */
            lconst_1
            lsub
            iload 3 /* length */
            invokevirtual org.hsqldb.types.BlobDataID.getBytes:(Lorg/hsqldb/SessionInterface;JI)[B
         4: areturn
         5: .line 101
      StackMap locals:
      StackMap stack: org.hsqldb.HsqlException
            astore 4 /* e */
        start local 4 // org.hsqldb.HsqlException e
         6: .line 102
            aload 4 /* e */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Lorg/hsqldb/HsqlException;)Ljava/sql/SQLException;
            athrow
        end local 4 // org.hsqldb.HsqlException e
        end local 3 // int length
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/hsqldb/jdbc/JDBCBlobClient;
            0    7     1     pos  J
            0    7     3  length  I
            6    7     4       e  Lorg/hsqldb/HsqlException;
      Exception table:
        from    to  target  type
           3     4       5  Class org.hsqldb.HsqlException
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      pos     
      length  

  public synchronized java.io.InputStream getBinaryStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
         0: .line 116
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobClient.checkClosed:()V
         1: .line 118
            new org.hsqldb.types.BlobInputStream
            dup
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.session:Lorg/hsqldb/SessionInterface;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
            lconst_0
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobClient.length:()J
            invokespecial org.hsqldb.types.BlobInputStream.<init>:(Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobData;JJ)V
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/jdbc/JDBCBlobClient;
    Exceptions:
      throws java.sql.SQLException

  public synchronized long position(byte[], long);
    descriptor: ([BJ)J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
        start local 1 // byte[] pattern
        start local 2 // long start
         0: .line 136
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobClient.checkClosed:()V
         1: .line 138
            ldc 9223372036854775807
            lload 2 /* start */
            lconst_1
            lsub
            lconst_0
            invokestatic org.hsqldb.jdbc.JDBCBlobClient.isInLimits:(JJJ)Z
            ifne 3
         2: .line 139
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:()Ljava/sql/SQLException;
            athrow
         3: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.session:Lorg/hsqldb/SessionInterface;
            aload 1 /* pattern */
            lload 2 /* start */
            lconst_1
            lsub
            invokevirtual org.hsqldb.types.BlobDataID.position:(Lorg/hsqldb/SessionInterface;[BJ)J
            lstore 4 /* position */
        start local 4 // long position
         4: .line 145
            lload 4 /* position */
            lconst_0
            lcmp
            iflt 6
         5: .line 146
            lload 4 /* position */
            lconst_1
            ladd
            lstore 4 /* position */
         6: .line 149
      StackMap locals: long
      StackMap stack:
            lload 4 /* position */
         7: lreturn
        end local 4 // long position
         8: .line 150
      StackMap locals: org.hsqldb.jdbc.JDBCBlobClient byte[] long
      StackMap stack: org.hsqldb.HsqlException
            astore 4 /* e */
        start local 4 // org.hsqldb.HsqlException e
         9: .line 151
            aload 4 /* e */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Lorg/hsqldb/HsqlException;)Ljava/sql/SQLException;
            athrow
        end local 4 // org.hsqldb.HsqlException e
        end local 2 // long start
        end local 1 // byte[] pattern
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/hsqldb/jdbc/JDBCBlobClient;
            0   10     1   pattern  [B
            0   10     2     start  J
            4    8     4  position  J
            9   10     4         e  Lorg/hsqldb/HsqlException;
      Exception table:
        from    to  target  type
           3     7       8  Class org.hsqldb.HsqlException
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
         Name  Flags
      pattern  
      start    

  public synchronized long position(java.sql.Blob, long);
    descriptor: (Ljava/sql/Blob;J)J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
        start local 1 // java.sql.Blob pattern
        start local 2 // long start
         0: .line 170
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobClient.checkClosed:()V
         1: .line 172
            ldc 9223372036854775807
            lload 2 /* start */
            lconst_1
            lsub
            lconst_0
            invokestatic org.hsqldb.jdbc.JDBCBlobClient.isInLimits:(JJJ)Z
            ifne 3
         2: .line 173
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:()Ljava/sql/SQLException;
            athrow
         3: .line 176
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            instanceof org.hsqldb.jdbc.JDBCBlobClient
            ifeq 12
         4: .line 177
            aload 1 /* pattern */
            checkcast org.hsqldb.jdbc.JDBCBlobClient
            getfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
            astore 4 /* searchClob */
        start local 4 // org.hsqldb.types.BlobDataID searchClob
         5: .line 180
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.session:Lorg/hsqldb/SessionInterface;
            aload 4 /* searchClob */
            lload 2 /* start */
            lconst_1
            lsub
            invokevirtual org.hsqldb.types.BlobDataID.position:(Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobData;J)J
            lstore 5 /* position */
        start local 5 // long position
         6: .line 182
            lload 5 /* position */
            lconst_0
            lcmp
            iflt 8
         7: .line 183
            lload 5 /* position */
            lconst_1
            ladd
            lstore 5 /* position */
         8: .line 186
      StackMap locals: org.hsqldb.types.BlobDataID long
      StackMap stack:
            lload 5 /* position */
         9: lreturn
        end local 5 // long position
        10: .line 187
      StackMap locals: org.hsqldb.jdbc.JDBCBlobClient java.sql.Blob long org.hsqldb.types.BlobDataID
      StackMap stack: org.hsqldb.HsqlException
            astore 5 /* e */
        start local 5 // org.hsqldb.HsqlException e
        11: .line 188
            aload 5 /* e */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Lorg/hsqldb/HsqlException;)Ljava/sql/SQLException;
            athrow
        end local 5 // org.hsqldb.HsqlException e
        end local 4 // org.hsqldb.types.BlobDataID searchClob
        12: .line 192
      StackMap locals:
      StackMap stack:
            ldc 2147483647
            lconst_0
            aload 1 /* pattern */
            invokeinterface java.sql.Blob.length:()J
            invokestatic org.hsqldb.jdbc.JDBCBlobClient.isInLimits:(JJJ)Z
            ifne 14
        13: .line 193
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:()Ljava/sql/SQLException;
            athrow
        14: .line 196
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            lconst_1
            aload 1 /* pattern */
            invokeinterface java.sql.Blob.length:()J
            l2i
            invokeinterface java.sql.Blob.getBytes:(JI)[B
            astore 4 /* bytePattern */
        start local 4 // byte[] bytePattern
        15: .line 198
            aload 0 /* this */
            aload 4 /* bytePattern */
            lload 2 /* start */
            invokevirtual org.hsqldb.jdbc.JDBCBlobClient.position:([BJ)J
            lreturn
        end local 4 // byte[] bytePattern
        end local 2 // long start
        end local 1 // java.sql.Blob pattern
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lorg/hsqldb/jdbc/JDBCBlobClient;
            0   16     1      pattern  Ljava/sql/Blob;
            0   16     2        start  J
            5   12     4   searchClob  Lorg/hsqldb/types/BlobDataID;
            6   10     5     position  J
           11   12     5            e  Lorg/hsqldb/HsqlException;
           15   16     4  bytePattern  [B
      Exception table:
        from    to  target  type
           5     9      10  Class org.hsqldb.HsqlException
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
         Name  Flags
      pattern  
      start    

  public synchronized int setBytes(long, byte[]);
    descriptor: (J[B)I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
        start local 1 // long pos
        start local 3 // byte[] bytes
         0: .line 217
            aload 0 /* this */
            lload 1 /* pos */
            aload 3 /* bytes */
            iconst_0
            aload 3 /* bytes */
            arraylength
            invokevirtual org.hsqldb.jdbc.JDBCBlobClient.setBytes:(J[BII)I
            ireturn
        end local 3 // byte[] bytes
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hsqldb/jdbc/JDBCBlobClient;
            0    1     1    pos  J
            0    1     3  bytes  [B
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
       Name  Flags
      pos    
      bytes  

  public synchronized int setBytes(long, byte[], int, int);
    descriptor: (J[BII)I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
        start local 1 // long pos
        start local 3 // byte[] bytes
        start local 4 // int offset
        start local 5 // int len
         0: .line 240
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobClient.checkClosed:()V
         1: .line 242
            aload 3 /* bytes */
            arraylength
            i2l
            iload 4 /* offset */
            i2l
            iload 5 /* len */
            i2l
            invokestatic org.hsqldb.jdbc.JDBCBlobClient.isInLimits:(JJJ)Z
            ifne 3
         2: .line 243
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:()Ljava/sql/SQLException;
            athrow
         3: .line 246
      StackMap locals:
      StackMap stack:
            ldc 9223372036854775807
            lload 1 /* pos */
            lconst_1
            lsub
            iload 5 /* len */
            i2l
            invokestatic org.hsqldb.jdbc.JDBCBlobClient.isInLimits:(JJJ)Z
            ifne 5
         4: .line 247
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:()Ljava/sql/SQLException;
            athrow
         5: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.isWritable:Z
            ifne 7
         6: .line 251
            invokestatic org.hsqldb.jdbc.JDBCUtil.notUpdatableColumn:()Ljava/sql/SQLException;
            athrow
         7: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobClient.startUpdate:()V
         8: .line 257
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.session:Lorg/hsqldb/SessionInterface;
            lload 1 /* pos */
            lconst_1
            lsub
            aload 3 /* bytes */
            iload 4 /* offset */
            iload 5 /* len */
            invokevirtual org.hsqldb.types.BlobDataID.setBytes:(Lorg/hsqldb/SessionInterface;J[BII)V
         9: .line 259
            iload 5 /* len */
        10: ireturn
        11: .line 260
      StackMap locals:
      StackMap stack: org.hsqldb.HsqlException
            astore 6 /* e */
        start local 6 // org.hsqldb.HsqlException e
        12: .line 261
            aload 6 /* e */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Lorg/hsqldb/HsqlException;)Ljava/sql/SQLException;
            athrow
        end local 6 // org.hsqldb.HsqlException e
        end local 5 // int len
        end local 4 // int offset
        end local 3 // byte[] bytes
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/hsqldb/jdbc/JDBCBlobClient;
            0   13     1     pos  J
            0   13     3   bytes  [B
            0   13     4  offset  I
            0   13     5     len  I
           12   13     6       e  Lorg/hsqldb/HsqlException;
      Exception table:
        from    to  target  type
           8    10      11  Class org.hsqldb.HsqlException
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      pos     
      bytes   
      offset  
      len     

  public synchronized java.io.OutputStream setBinaryStream(long);
    descriptor: (J)Ljava/io/OutputStream;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
        start local 1 // long pos
         0: .line 278
            invokestatic org.hsqldb.jdbc.JDBCUtil.notSupported:()Ljava/sql/SQLException;
            athrow
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCBlobClient;
            0    1     1   pos  J
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      pos   

  public synchronized void truncate(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
        start local 1 // long len
         0: .line 292
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobClient.checkClosed:()V
         1: .line 294
            ldc 9223372036854775807
            lconst_0
            lload 1 /* len */
            invokestatic org.hsqldb.jdbc.JDBCBlobClient.isInLimits:(JJJ)Z
            ifne 3
         2: .line 295
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:()Ljava/sql/SQLException;
            athrow
         3: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.session:Lorg/hsqldb/SessionInterface;
            lload 1 /* len */
            invokevirtual org.hsqldb.types.BlobDataID.truncate:(Lorg/hsqldb/SessionInterface;J)V
         4: .line 300
            goto 7
      StackMap locals:
      StackMap stack: org.hsqldb.HsqlException
         5: astore 3 /* e */
        start local 3 // org.hsqldb.HsqlException e
         6: .line 301
            aload 3 /* e */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Lorg/hsqldb/HsqlException;)Ljava/sql/SQLException;
            athrow
        end local 3 // org.hsqldb.HsqlException e
         7: .line 303
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long len
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hsqldb/jdbc/JDBCBlobClient;
            0    8     1   len  J
            6    7     3     e  Lorg/hsqldb/HsqlException;
      Exception table:
        from    to  target  type
           3     4       5  Class org.hsqldb.HsqlException
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      len   

  public synchronized void free();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
         0: .line 321
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.jdbc.JDBCBlobClient.isClosed:Z
         1: .line 322
            return
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/jdbc/JDBCBlobClient;
    Exceptions:
      throws java.sql.SQLException

  public synchronized java.io.InputStream getBinaryStream(long, long);
    descriptor: (JJ)Ljava/io/InputStream;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
        start local 1 // long pos
        start local 3 // long length
         0: .line 341
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobClient.checkClosed:()V
         1: .line 343
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobClient.length:()J
            lload 1 /* pos */
            lconst_1
            lsub
            lload 3 /* length */
            invokestatic org.hsqldb.jdbc.JDBCBlobClient.isInLimits:(JJJ)Z
            ifne 3
         2: .line 344
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:()Ljava/sql/SQLException;
            athrow
         3: .line 347
      StackMap locals:
      StackMap stack:
            new org.hsqldb.types.BlobInputStream
            dup
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.session:Lorg/hsqldb/SessionInterface;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
            lload 1 /* pos */
            lconst_1
            lsub
            lload 3 /* length */
            invokespecial org.hsqldb.types.BlobInputStream.<init>:(Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobData;JJ)V
            areturn
        end local 3 // long length
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/hsqldb/jdbc/JDBCBlobClient;
            0    4     1     pos  J
            0    4     3  length  J
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      pos     
      length  

  public void <init>(org.hsqldb.SessionInterface, org.hsqldb.types.BlobDataID);
    descriptor: (Lorg/hsqldb/SessionInterface;Lorg/hsqldb/types/BlobDataID;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // org.hsqldb.types.BlobDataID blob
         0: .line 359
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 360
            aload 0 /* this */
            aload 1 /* session */
            putfield org.hsqldb.jdbc.JDBCBlobClient.session:Lorg/hsqldb/SessionInterface;
         2: .line 361
            aload 0 /* this */
            aload 2 /* blob */
            putfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
         3: .line 362
            return
        end local 2 // org.hsqldb.types.BlobDataID blob
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/hsqldb/jdbc/JDBCBlobClient;
            0    4     1  session  Lorg/hsqldb/SessionInterface;
            0    4     2     blob  Lorg/hsqldb/types/BlobDataID;
    MethodParameters:
         Name  Flags
      session  
      blob     

  public boolean isClosed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
         0: .line 365
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.isClosed:Z
            ireturn
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCBlobClient;

  public org.hsqldb.types.BlobDataID getBlob();
    descriptor: ()Lorg/hsqldb/types/BlobDataID;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
         0: .line 369
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCBlobClient;

  public synchronized void setWritable(org.hsqldb.jdbc.JDBCResultSet, int);
    descriptor: (Lorg/hsqldb/jdbc/JDBCResultSet;I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
        start local 1 // org.hsqldb.jdbc.JDBCResultSet result
        start local 2 // int index
         0: .line 374
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.jdbc.JDBCBlobClient.isWritable:Z
         1: .line 375
            aload 0 /* this */
            aload 1 /* result */
            putfield org.hsqldb.jdbc.JDBCBlobClient.resultSet:Lorg/hsqldb/jdbc/JDBCResultSet;
         2: .line 376
            aload 0 /* this */
            iload 2 /* index */
            putfield org.hsqldb.jdbc.JDBCBlobClient.colIndex:I
         3: .line 377
            return
        end local 2 // int index
        end local 1 // org.hsqldb.jdbc.JDBCResultSet result
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/hsqldb/jdbc/JDBCBlobClient;
            0    4     1  result  Lorg/hsqldb/jdbc/JDBCResultSet;
            0    4     2   index  I
    MethodParameters:
        Name  Flags
      result  
      index   

  public synchronized void clearUpdates();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
         0: .line 381
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.originalBlob:Lorg/hsqldb/types/BlobDataID;
            ifnull 3
         1: .line 382
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.originalBlob:Lorg/hsqldb/types/BlobDataID;
            putfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
         2: .line 383
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.jdbc.JDBCBlobClient.originalBlob:Lorg/hsqldb/types/BlobDataID;
         3: .line 385
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hsqldb/jdbc/JDBCBlobClient;

  private void startUpdate();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
         0: .line 389
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.originalBlob:Lorg/hsqldb/types/BlobDataID;
            ifnull 2
         1: .line 390
            return
         2: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
            putfield org.hsqldb.jdbc.JDBCBlobClient.originalBlob:Lorg/hsqldb/types/BlobDataID;
         3: .line 394
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.session:Lorg/hsqldb/SessionInterface;
            invokevirtual org.hsqldb.types.BlobDataID.duplicate:(Lorg/hsqldb/SessionInterface;)Lorg/hsqldb/types/BlobData;
            checkcast org.hsqldb.types.BlobDataID
            putfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
         4: .line 396
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.resultSet:Lorg/hsqldb/jdbc/JDBCResultSet;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.colIndex:I
            iconst_1
            iadd
            invokevirtual org.hsqldb.jdbc.JDBCResultSet.startUpdate:(I)V
         5: .line 398
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.resultSet:Lorg/hsqldb/jdbc/JDBCResultSet;
            getfield org.hsqldb.jdbc.JDBCResultSet.preparedStatement:Lorg/hsqldb/jdbc/JDBCPreparedStatement;
            getfield org.hsqldb.jdbc.JDBCPreparedStatement.parameterValues:[Ljava/lang/Object;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.colIndex:I
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.blob:Lorg/hsqldb/types/BlobDataID;
            aastore
         6: .line 399
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.resultSet:Lorg/hsqldb/jdbc/JDBCResultSet;
            getfield org.hsqldb.jdbc.JDBCResultSet.preparedStatement:Lorg/hsqldb/jdbc/JDBCPreparedStatement;
            getfield org.hsqldb.jdbc.JDBCPreparedStatement.parameterSet:[Ljava/lang/Boolean;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.colIndex:I
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aastore
         7: .line 400
            return
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hsqldb/jdbc/JDBCBlobClient;
    Exceptions:
      throws java.sql.SQLException

  private void checkClosed();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobClient this
         0: .line 404
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobClient.isClosed:Z
            ifeq 2
         1: .line 405
            sipush 1852
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(I)Ljava/sql/SQLException;
            athrow
         2: .line 407
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.jdbc.JDBCBlobClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/jdbc/JDBCBlobClient;
    Exceptions:
      throws java.sql.SQLException

  static boolean isInLimits(long, long, long);
    descriptor: (JJJ)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // long fullLength
        start local 2 // long pos
        start local 4 // long len
         0: .line 410
            lload 2 /* pos */
            lconst_0
            lcmp
            iflt 1
            lload 4 /* len */
            lconst_0
            lcmp
            iflt 1
            lload 2 /* pos */
            lload 4 /* len */
            ladd
            lload 0 /* fullLength */
            lcmp
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 4 // long len
        end local 2 // long pos
        end local 0 // long fullLength
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  fullLength  J
            0    2     2         pos  J
            0    2     4         len  J
    MethodParameters:
            Name  Flags
      fullLength  
      pos         
      len         
}
SourceFile: "JDBCBlobClient.java"