public class org.h2.jdbc.JdbcClob extends org.h2.jdbc.JdbcLob implements java.sql.NClob
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.jdbc.JdbcClob
  super_class: org.h2.jdbc.JdbcLob
{
  public void <init>(org.h2.jdbc.JdbcConnection, org.h2.value.Value, org.h2.jdbc.JdbcLob$State, int);
    descriptor: (Lorg/h2/jdbc/JdbcConnection;Lorg/h2/value/Value;Lorg/h2/jdbc/JdbcLob$State;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.h2.jdbc.JdbcClob this
        start local 1 // org.h2.jdbc.JdbcConnection conn
        start local 2 // org.h2.value.Value value
        start local 3 // org.h2.jdbc.JdbcLob$State state
        start local 4 // int id
         0: .line 34
            aload 0 /* this */
            aload 1 /* conn */
            aload 2 /* value */
            aload 3 /* state */
            bipush 10
            iload 4 /* id */
            invokespecial org.h2.jdbc.JdbcLob.<init>:(Lorg/h2/jdbc/JdbcConnection;Lorg/h2/value/Value;Lorg/h2/jdbc/JdbcLob$State;II)V
         1: .line 35
            return
        end local 4 // int id
        end local 3 // org.h2.jdbc.JdbcLob$State state
        end local 2 // org.h2.value.Value value
        end local 1 // org.h2.jdbc.JdbcConnection conn
        end local 0 // org.h2.jdbc.JdbcClob this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/h2/jdbc/JdbcClob;
            0    2     1   conn  Lorg/h2/jdbc/JdbcConnection;
            0    2     2  value  Lorg/h2/value/Value;
            0    2     3  state  Lorg/h2/jdbc/JdbcLob$State;
            0    2     4     id  I
    MethodParameters:
       Name  Flags
      conn   
      value  
      state  
      id     

  public long length();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.h2.jdbc.JdbcClob this
         0: .line 45
            aload 0 /* this */
            ldc "length"
            invokevirtual org.h2.jdbc.JdbcClob.debugCodeCall:(Ljava/lang/String;)V
         1: .line 46
            aload 0 /* this */
            invokevirtual org.h2.jdbc.JdbcClob.checkReadable:()V
         2: .line 47
            aload 0 /* this */
            getfield org.h2.jdbc.JdbcClob.value:Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getValueType:()I
            bipush 16
            if_icmpne 7
         3: .line 48
            aload 0 /* this */
            getfield org.h2.jdbc.JdbcClob.value:Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getType:()Lorg/h2/value/TypeInfo;
            invokevirtual org.h2.value.TypeInfo.getPrecision:()J
            lstore 1 /* precision */
        start local 1 // long precision
         4: .line 49
            lload 1 /* precision */
            lconst_0
            lcmp
            ifle 7
         5: .line 50
            lload 1 /* precision */
         6: lreturn
        end local 1 // long precision
         7: .line 53
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.jdbc.JdbcClob.value:Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getReader:()Ljava/io/Reader;
            aconst_null
            ldc 9223372036854775807
            invokestatic org.h2.util.IOUtils.copyAndCloseInput:(Ljava/io/Reader;Ljava/io/Writer;J)J
         8: lreturn
         9: .line 54
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
        10: .line 55
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual org.h2.jdbc.JdbcClob.logAndConvert:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // org.h2.jdbc.JdbcClob this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/h2/jdbc/JdbcClob;
            4    7     1  precision  J
           10   11     1          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     6       9  Class java.lang.Exception
           7     8       9  Class java.lang.Exception
    Exceptions:
      throws java.sql.SQLException

  public void truncate(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.jdbc.JdbcClob this
        start local 1 // long len
         0: .line 64
            aload 0 /* this */
            ldc "LOB update"
            invokevirtual org.h2.jdbc.JdbcClob.unsupported:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
        end local 1 // long len
        end local 0 // org.h2.jdbc.JdbcClob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/jdbc/JdbcClob;
            0    1     1   len  J
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      len   

  public java.io.InputStream getAsciiStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.h2.jdbc.JdbcClob this
         0: .line 75
            aload 0 /* this */
            ldc "getAsciiStream"
            invokevirtual org.h2.jdbc.JdbcClob.debugCodeCall:(Ljava/lang/String;)V
         1: .line 76
            aload 0 /* this */
            invokevirtual org.h2.jdbc.JdbcClob.checkReadable:()V
         2: .line 77
            aload 0 /* this */
            getfield org.h2.jdbc.JdbcClob.value:Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            astore 1 /* s */
        start local 1 // java.lang.String s
         3: .line 78
            aload 1 /* s */
            invokestatic org.h2.util.IOUtils.getInputStreamFromString:(Ljava/lang/String;)Ljava/io/InputStream;
         4: areturn
        end local 1 // java.lang.String s
         5: .line 79
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         6: .line 80
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual org.h2.jdbc.JdbcClob.logAndConvert:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // org.h2.jdbc.JdbcClob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/h2/jdbc/JdbcClob;
            3    5     1     s  Ljava/lang/String;
            6    7     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.Exception
    Exceptions:
      throws java.sql.SQLException

  public java.io.OutputStream setAsciiStream(long);
    descriptor: (J)Ljava/io/OutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.h2.jdbc.JdbcClob this
        start local 1 // long pos
         0: .line 89
            aload 0 /* this */
            ldc "LOB update"
            invokevirtual org.h2.jdbc.JdbcClob.unsupported:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
        end local 1 // long pos
        end local 0 // org.h2.jdbc.JdbcClob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/jdbc/JdbcClob;
            0    1     1   pos  J
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      pos   

  public java.io.Reader getCharacterStream();
    descriptor: ()Ljava/io/Reader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.jdbc.JdbcClob this
         0: .line 94
            aload 0 /* this */
            invokespecial org.h2.jdbc.JdbcLob.getCharacterStream:()Ljava/io/Reader;
            areturn
        end local 0 // org.h2.jdbc.JdbcClob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/jdbc/JdbcClob;
    Exceptions:
      throws java.sql.SQLException

  public java.io.Writer setCharacterStream(long);
    descriptor: (J)Ljava/io/Writer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.h2.jdbc.JdbcClob this
        start local 1 // long pos
         0: .line 110
            aload 0 /* this */
            invokevirtual org.h2.jdbc.JdbcClob.isDebugEnabled:()Z
            ifeq 2
         1: .line 111
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "setCharacterStream("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* pos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ");"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.jdbc.JdbcClob.debugCode:(Ljava/lang/String;)V
         2: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.jdbc.JdbcClob.checkEditable:()V
         3: .line 114
            lload 1 /* pos */
            lconst_1
            lcmp
            ifeq 5
         4: .line 115
            ldc "pos"
            lload 1 /* pos */
            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
         5: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.h2.jdbc.JdbcLob$State.SET_CALLED:Lorg/h2/jdbc/JdbcLob$State;
            putfield org.h2.jdbc.JdbcClob.state:Lorg/h2/jdbc/JdbcLob$State;
         6: .line 118
            aload 0 /* this */
            invokevirtual org.h2.jdbc.JdbcClob.setCharacterStreamImpl:()Ljava/io/Writer;
         7: areturn
         8: .line 119
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
         9: .line 120
            aload 0 /* this */
            aload 3 /* e */
            invokevirtual org.h2.jdbc.JdbcClob.logAndConvert:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 3 // java.lang.Exception e
        end local 1 // long pos
        end local 0 // org.h2.jdbc.JdbcClob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/h2/jdbc/JdbcClob;
            0   10     1   pos  J
            9   10     3     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.Exception
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      pos   

  public java.lang.String getSubString(long, int);
    descriptor: (JI)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.h2.jdbc.JdbcClob this
        start local 1 // long pos
        start local 3 // int length
         0: .line 134
            aload 0 /* this */
            invokevirtual org.h2.jdbc.JdbcClob.isDebugEnabled:()Z
            ifeq 2
         1: .line 135
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "getSubString("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* pos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ");"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.jdbc.JdbcClob.debugCode:(Ljava/lang/String;)V
         2: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.jdbc.JdbcClob.checkReadable:()V
         3: .line 138
            lload 1 /* pos */
            lconst_1
            lcmp
            ifge 5
         4: .line 139
            ldc "pos"
            lload 1 /* pos */
            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
         5: .line 141
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            ifge 7
         6: .line 142
            ldc "length"
            iload 3 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
            athrow
         7: .line 144
      StackMap locals:
      StackMap stack:
            new java.io.StringWriter
            dup
         8: .line 145
            sipush 4096
            iload 3 /* length */
            invokestatic java.lang.Math.min:(II)I
         9: .line 144
            invokespecial java.io.StringWriter.<init>:(I)V
            astore 4 /* writer */
        start local 4 // java.io.StringWriter writer
        10: .line 146
            aconst_null
            astore 5
            aconst_null
            astore 6
        11: aload 0 /* this */
            getfield org.h2.jdbc.JdbcClob.value:Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getReader:()Ljava/io/Reader;
            astore 7 /* reader */
        start local 7 // java.io.Reader reader
        12: .line 147
            aload 7 /* reader */
            lload 1 /* pos */
            lconst_1
            lsub
            invokestatic org.h2.util.IOUtils.skipFully:(Ljava/io/Reader;J)V
        13: .line 148
            aload 7 /* reader */
            aload 4 /* writer */
            iload 3 /* length */
            i2l
            invokestatic org.h2.util.IOUtils.copyAndCloseInput:(Ljava/io/Reader;Ljava/io/Writer;J)J
            pop2
        14: .line 149
            aload 7 /* reader */
            ifnull 20
            aload 7 /* reader */
            invokevirtual java.io.Reader.close:()V
            goto 20
      StackMap locals: org.h2.jdbc.JdbcClob long int java.io.StringWriter java.lang.Throwable java.lang.Throwable java.io.Reader
      StackMap stack: java.lang.Throwable
        15: astore 5
            aload 7 /* reader */
            ifnull 16
            aload 7 /* reader */
            invokevirtual java.io.Reader.close:()V
        end local 7 // java.io.Reader reader
      StackMap locals:
      StackMap stack:
        16: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 6
            aload 5
            ifnonnull 18
            aload 6
            astore 5
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 5
            aload 6
            if_acmpeq 19
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 5
            athrow
        20: .line 150
      StackMap locals:
      StackMap stack:
            aload 4 /* writer */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
        21: areturn
        end local 4 // java.io.StringWriter writer
        22: .line 151
      StackMap locals: org.h2.jdbc.JdbcClob long int
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        23: .line 152
            aload 0 /* this */
            aload 4 /* e */
            invokevirtual org.h2.jdbc.JdbcClob.logAndConvert:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 4 // java.lang.Exception e
        end local 3 // int length
        end local 1 // long pos
        end local 0 // org.h2.jdbc.JdbcClob this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lorg/h2/jdbc/JdbcClob;
            0   24     1     pos  J
            0   24     3  length  I
           10   22     4  writer  Ljava/io/StringWriter;
           12   16     7  reader  Ljava/io/Reader;
           23   24     4       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          12    14      15  any
          11    17      17  any
           0    21      22  Class java.lang.Exception
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      pos     
      length  

  public int setString(long, java.lang.String);
    descriptor: (JLjava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.h2.jdbc.JdbcClob this
        start local 1 // long pos
        start local 3 // java.lang.String str
         0: .line 168
            aload 0 /* this */
            invokevirtual org.h2.jdbc.JdbcClob.isDebugEnabled:()Z
            ifeq 2
         1: .line 169
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "setString("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* pos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* str */
            invokestatic org.h2.jdbc.JdbcClob.quote:(Ljava/lang/String;)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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.jdbc.JdbcClob.debugCode:(Ljava/lang/String;)V
         2: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.jdbc.JdbcClob.checkEditable:()V
         3: .line 172
            lload 1 /* pos */
            lconst_1
            lcmp
            ifeq 5
         4: .line 173
            ldc "pos"
            lload 1 /* pos */
            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
         5: .line 174
      StackMap locals:
      StackMap stack:
            aload 3 /* str */
            ifnonnull 7
         6: .line 175
            ldc "str"
            aload 3 /* str */
            invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
            athrow
         7: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.jdbc.JdbcClob.conn:Lorg/h2/jdbc/JdbcConnection;
            new java.io.StringReader
            dup
            aload 3 /* str */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            ldc -1
            invokevirtual org.h2.jdbc.JdbcConnection.createClob:(Ljava/io/Reader;J)Lorg/h2/value/Value;
            invokevirtual org.h2.jdbc.JdbcClob.completeWrite:(Lorg/h2/value/Value;)V
         8: .line 178
            aload 3 /* str */
            invokevirtual java.lang.String.length:()I
         9: ireturn
        10: .line 179
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        11: .line 180
            aload 0 /* this */
            aload 4 /* e */
            invokevirtual org.h2.jdbc.JdbcClob.logAndConvert:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 4 // java.lang.Exception e
        end local 3 // java.lang.String str
        end local 1 // long pos
        end local 0 // org.h2.jdbc.JdbcClob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/h2/jdbc/JdbcClob;
            0   12     1   pos  J
            0   12     3   str  Ljava/lang/String;
           11   12     4     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     9      10  Class java.lang.Exception
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      pos   
      str   

  public int setString(long, java.lang.String, int, int);
    descriptor: (JLjava/lang/String;II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=5
        start local 0 // org.h2.jdbc.JdbcClob this
        start local 1 // long pos
        start local 3 // java.lang.String str
        start local 4 // int offset
        start local 5 // int len
         0: .line 199
            aload 0 /* this */
            invokevirtual org.h2.jdbc.JdbcClob.isDebugEnabled:()Z
            ifeq 2
         1: .line 200
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "setString("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* pos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* str */
            invokestatic org.h2.jdbc.JdbcClob.quote:(Ljava/lang/String;)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;
            iload 4 /* offset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ");"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.jdbc.JdbcClob.debugCode:(Ljava/lang/String;)V
         2: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.jdbc.JdbcClob.checkEditable:()V
         3: .line 203
            lload 1 /* pos */
            lconst_1
            lcmp
            ifeq 5
         4: .line 204
            ldc "pos"
            lload 1 /* pos */
            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
         5: .line 205
      StackMap locals:
      StackMap stack:
            aload 3 /* str */
            ifnonnull 7
         6: .line 206
            ldc "str"
            aload 3 /* str */
            invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
            athrow
         7: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.jdbc.JdbcClob.conn:Lorg/h2/jdbc/JdbcConnection;
            new org.h2.store.RangeReader
            dup
            new java.io.StringReader
            dup
            aload 3 /* str */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            iload 4 /* offset */
            i2l
            iload 5 /* len */
            i2l
            invokespecial org.h2.store.RangeReader.<init>:(Ljava/io/Reader;JJ)V
            ldc -1
            invokevirtual org.h2.jdbc.JdbcConnection.createClob:(Ljava/io/Reader;J)Lorg/h2/value/Value;
            invokevirtual org.h2.jdbc.JdbcClob.completeWrite:(Lorg/h2/value/Value;)V
         8: .line 209
            aload 0 /* this */
            getfield org.h2.jdbc.JdbcClob.value:Lorg/h2/value/Value;
            invokevirtual org.h2.value.Value.getType:()Lorg/h2/value/TypeInfo;
            invokevirtual org.h2.value.TypeInfo.getPrecision:()J
            l2i
         9: ireturn
        10: .line 210
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        11: .line 211
            aload 0 /* this */
            aload 6 /* e */
            invokevirtual org.h2.jdbc.JdbcClob.logAndConvert:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 6 // java.lang.Exception e
        end local 5 // int len
        end local 4 // int offset
        end local 3 // java.lang.String str
        end local 1 // long pos
        end local 0 // org.h2.jdbc.JdbcClob this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/h2/jdbc/JdbcClob;
            0   12     1     pos  J
            0   12     3     str  Ljava/lang/String;
            0   12     4  offset  I
            0   12     5     len  I
           11   12     6       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     9      10  Class java.lang.Exception
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      pos     
      str     
      offset  
      len     

  public long position(java.lang.String, long);
    descriptor: (Ljava/lang/String;J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.h2.jdbc.JdbcClob this
        start local 1 // java.lang.String pattern
        start local 2 // long start
         0: .line 220
            aload 0 /* this */
            ldc "LOB search"
            invokevirtual org.h2.jdbc.JdbcClob.unsupported:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
        end local 2 // long start
        end local 1 // java.lang.String pattern
        end local 0 // org.h2.jdbc.JdbcClob this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/h2/jdbc/JdbcClob;
            0    1     1  pattern  Ljava/lang/String;
            0    1     2    start  J
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
         Name  Flags
      pattern  
      start    

  public long position(java.sql.Clob, long);
    descriptor: (Ljava/sql/Clob;J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.h2.jdbc.JdbcClob this
        start local 1 // java.sql.Clob clobPattern
        start local 2 // long start
         0: .line 228
            aload 0 /* this */
            ldc "LOB search"
            invokevirtual org.h2.jdbc.JdbcClob.unsupported:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
        end local 2 // long start
        end local 1 // java.sql.Clob clobPattern
        end local 0 // org.h2.jdbc.JdbcClob this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/h2/jdbc/JdbcClob;
            0    1     1  clobPattern  Ljava/sql/Clob;
            0    1     2        start  J
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
             Name  Flags
      clobPattern  
      start        

  public java.io.Reader getCharacterStream(long, long);
    descriptor: (JJ)Ljava/io/Reader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.h2.jdbc.JdbcClob this
        start local 1 // long pos
        start local 3 // long length
         0: .line 241
            aload 0 /* this */
            invokevirtual org.h2.jdbc.JdbcClob.isDebugEnabled:()Z
            ifeq 2
         1: .line 242
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "getCharacterStream("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* pos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ");"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.h2.jdbc.JdbcClob.debugCode:(Ljava/lang/String;)V
         2: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.jdbc.JdbcClob.checkReadable:()V
         3: .line 245
            aload 0 /* this */
            getfield org.h2.jdbc.JdbcClob.state:Lorg/h2/jdbc/JdbcLob$State;
            getstatic org.h2.jdbc.JdbcLob$State.NEW:Lorg/h2/jdbc/JdbcLob$State;
            if_acmpne 8
         4: .line 246
            lload 1 /* pos */
            lconst_1
            lcmp
            ifeq 6
         5: .line 247
            ldc "pos"
            lload 1 /* pos */
            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
         6: .line 249
      StackMap locals:
      StackMap stack:
            lload 3 /* length */
            lconst_0
            lcmp
            ifeq 8
         7: .line 250
            ldc "length"
            lload 1 /* pos */
            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
         8: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.jdbc.JdbcClob.value:Lorg/h2/value/Value;
            lload 1 /* pos */
            lload 3 /* length */
            invokevirtual org.h2.value.Value.getReader:(JJ)Ljava/io/Reader;
         9: areturn
        10: .line 254
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        11: .line 255
            aload 0 /* this */
            aload 5 /* e */
            invokevirtual org.h2.jdbc.JdbcClob.logAndConvert:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 5 // java.lang.Exception e
        end local 3 // long length
        end local 1 // long pos
        end local 0 // org.h2.jdbc.JdbcClob this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/h2/jdbc/JdbcClob;
            0   12     1     pos  J
            0   12     3  length  J
           11   12     5       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     9      10  Class java.lang.Exception
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      pos     
      length  
}
SourceFile: "JdbcClob.java"
InnerClasses:
  public final State = org.h2.jdbc.JdbcLob$State of org.h2.jdbc.JdbcLob