public class org.hsqldb.types.CharacterType extends org.hsqldb.types.Type
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.types.CharacterType
  super_class: org.hsqldb.types.Type
{
  static final int defaultCharPrecision;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  static final int defaultVarcharPrecision;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 32768

  public static final long maxCharPrecision;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2147483647

  final org.hsqldb.types.Collation collation;
    descriptor: Lorg/hsqldb/types/Collation;
    flags: (0x0010) ACC_FINAL

  final org.hsqldb.types.Charset charset;
    descriptor: Lorg/hsqldb/types/Charset;
    flags: (0x0010) ACC_FINAL

  final java.lang.String nameString;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

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

  static org.hsqldb.types.CharacterType[] charArray;
    descriptor: [Lorg/hsqldb/types/CharacterType;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=1, args_size=0
         0: .line 1159
            bipush 32
            anewarray org.hsqldb.types.CharacterType
            putstatic org.hsqldb.types.CharacterType.charArray:[Lorg/hsqldb/types/CharacterType;
         1: .line 1162
            iconst_0
            istore 0 /* i */
        start local 0 // int i
         2: goto 5
         3: .line 1163
      StackMap locals: int
      StackMap stack:
            getstatic org.hsqldb.types.CharacterType.charArray:[Lorg/hsqldb/types/CharacterType;
            iload 0 /* i */
            new org.hsqldb.types.CharacterType
            dup
            iconst_1
            iload 0 /* i */
            i2l
            invokespecial org.hsqldb.types.CharacterType.<init>:(IJ)V
            aastore
         4: .line 1162
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 0 /* i */
            getstatic org.hsqldb.types.CharacterType.charArray:[Lorg/hsqldb/types/CharacterType;
            arraylength
            if_icmplt 3
        end local 0 // int i
         6: .line 1165
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            2    6     0     i  I

  public void <init>(org.hsqldb.types.Collation, int, long);
    descriptor: (Lorg/hsqldb/types/Collation;IJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.types.Collation collation
        start local 2 // int type
        start local 3 // long precision
         0: .line 65
            aload 0 /* this */
            bipush 12
            iload 2 /* type */
            lload 3 /* precision */
            iconst_0
            invokespecial org.hsqldb.types.Type.<init>:(IIJI)V
         1: .line 67
            aload 1 /* collation */
            ifnonnull 3
         2: .line 68
            invokestatic org.hsqldb.types.Collation.getDefaultInstance:()Lorg/hsqldb/types/Collation;
            astore 1 /* collation */
         3: .line 71
      StackMap locals: org.hsqldb.types.CharacterType org.hsqldb.types.Collation int long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* collation */
            putfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
         4: .line 72
            aload 0 /* this */
            invokestatic org.hsqldb.types.Charset.getDefaultInstance:()Lorg/hsqldb/types/Charset;
            putfield org.hsqldb.types.CharacterType.charset:Lorg/hsqldb/types/Charset;
         5: .line 73
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hsqldb.types.CharacterType.getNameStringPrivate:()Ljava/lang/String;
            putfield org.hsqldb.types.CharacterType.nameString:Ljava/lang/String;
         6: .line 74
            return
        end local 3 // long precision
        end local 2 // int type
        end local 1 // org.hsqldb.types.Collation collation
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/hsqldb/types/CharacterType;
            0    7     1  collation  Lorg/hsqldb/types/Collation;
            0    7     2       type  I
            0    7     3  precision  J
    MethodParameters:
           Name  Flags
      collation  
      type       
      precision  

  public void <init>(int, long);
    descriptor: (IJ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // int type
        start local 2 // long precision
         0: .line 81
            aload 0 /* this */
            bipush 12
            iload 1 /* type */
            lload 2 /* precision */
            iconst_0
            invokespecial org.hsqldb.types.Type.<init>:(IIJI)V
         1: .line 83
            aload 0 /* this */
            invokestatic org.hsqldb.types.Collation.getDefaultInstance:()Lorg/hsqldb/types/Collation;
            putfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
         2: .line 84
            aload 0 /* this */
            invokestatic org.hsqldb.types.Charset.getDefaultInstance:()Lorg/hsqldb/types/Charset;
            putfield org.hsqldb.types.CharacterType.charset:Lorg/hsqldb/types/Charset;
         3: .line 85
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.hsqldb.types.CharacterType.getNameStringPrivate:()Ljava/lang/String;
            putfield org.hsqldb.types.CharacterType.nameString:Ljava/lang/String;
         4: .line 86
            return
        end local 2 // long precision
        end local 1 // int type
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/hsqldb/types/CharacterType;
            0    5     1       type  I
            0    5     2  precision  J
    MethodParameters:
           Name  Flags
      type       
      precision  

  public void <init>(java.lang.String, long);
    descriptor: (Ljava/lang/String;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // java.lang.String name
        start local 2 // long precision
         0: .line 90
            aload 0 /* this */
            bipush 12
            bipush 12
            lload 2 /* precision */
            iconst_0
            invokespecial org.hsqldb.types.Type.<init>:(IIJI)V
         1: .line 92
            aload 0 /* this */
            invokestatic org.hsqldb.types.Collation.getDefaultInstance:()Lorg/hsqldb/types/Collation;
            putfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
         2: .line 93
            aload 0 /* this */
            invokestatic org.hsqldb.types.Charset.getDefaultInstance:()Lorg/hsqldb/types/Charset;
            putfield org.hsqldb.types.CharacterType.charset:Lorg/hsqldb/types/Charset;
         3: .line 94
            aload 0 /* this */
            aload 1 /* name */
            putfield org.hsqldb.types.CharacterType.nameString:Ljava/lang/String;
         4: .line 95
            return
        end local 2 // long precision
        end local 1 // java.lang.String name
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/hsqldb/types/CharacterType;
            0    5     1       name  Ljava/lang/String;
            0    5     2  precision  J
    MethodParameters:
           Name  Flags
      name       
      precision  

  public int displaySize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 98
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            ldc 2147483647
            lcmp
            ifle 1
            ldc 2147483647
            goto 2
         1: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            l2i
         2: .line 98
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/types/CharacterType;

  public int getJDBCTypeCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 104
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            lookupswitch { // 3
                    1: 1
                   12: 2
                   40: 3
              default: 4
          }
         1: .line 107
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 110
      StackMap locals:
      StackMap stack:
            bipush 12
            ireturn
         3: .line 113
      StackMap locals:
      StackMap stack:
            sipush 2005
            ireturn
         4: .line 116
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "CharacterType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hsqldb/types/CharacterType;

  public java.lang.Class getJDBCClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 121
            ldc Ljava/lang/String;
            areturn
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/CharacterType;

  public java.lang.String getJDBCClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 125
            ldc "java.lang.String"
            areturn
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/CharacterType;

  public int getSQLGenericTypeCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 129
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            iconst_1
            if_icmpne 1
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            goto 2
         1: .line 130
      StackMap locals:
      StackMap stack:
            bipush 12
         2: .line 129
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/types/CharacterType;

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

  private java.lang.String getNameStringPrivate();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 139
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            lookupswitch { // 3
                    1: 1
                   12: 2
                   40: 3
              default: 4
          }
         1: .line 142
      StackMap locals:
      StackMap stack:
            ldc "CHARACTER"
            areturn
         2: .line 145
      StackMap locals:
      StackMap stack:
            ldc "VARCHAR"
            areturn
         3: .line 148
      StackMap locals:
      StackMap stack:
            ldc "CLOB"
            areturn
         4: .line 151
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "CharacterType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hsqldb/types/CharacterType;

  public java.lang.String getFullNameString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 157
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            lookupswitch { // 3
                    1: 1
                   12: 2
                   40: 3
              default: 4
          }
         1: .line 160
      StackMap locals:
      StackMap stack:
            ldc "CHARACTER"
            areturn
         2: .line 163
      StackMap locals:
      StackMap stack:
            ldc "CHARACTER VARYING"
            areturn
         3: .line 166
      StackMap locals:
      StackMap stack:
            ldc "CHARACTER LARGE OBJECT"
            areturn
         4: .line 169
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "CharacterType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hsqldb/types/CharacterType;

  public java.lang.String getDefinition();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 175
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lconst_0
            lcmp
            ifne 2
         1: .line 176
            aload 0 /* this */
            invokevirtual org.hsqldb.types.CharacterType.getNameString:()Ljava/lang/String;
            areturn
         2: .line 179
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 16
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         3: .line 181
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual org.hsqldb.types.CharacterType.getNameString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 182
            aload 1 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 183
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         6: .line 184
            aload 1 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 186
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hsqldb/types/CharacterType;
            3    8     1    sb  Ljava/lang/StringBuilder;

  public boolean isCharacterType();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 190
            iconst_1
            ireturn
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/CharacterType;

  public long getMaxPrecision();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 194
            ldc 2147483647
            lreturn
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/CharacterType;

  public boolean acceptsPrecision();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 198
            iconst_1
            ireturn
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/CharacterType;

  public boolean requiresPrecision();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 202
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            bipush 12
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/types/CharacterType;

  public int precedenceDegree(org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/types/Type;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.types.Type other
         0: .line 207
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            if_icmpne 2
         1: .line 208
            iconst_0
            ireturn
         2: .line 211
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
            ifne 4
         3: .line 212
            ldc -2147483648
            ireturn
         4: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            lookupswitch { // 3
                    1: 5
                   12: 8
                   40: 11
              default: 14
          }
         5: .line 218
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            bipush 40
            if_icmpne 6
            iconst_4
            goto 7
         6: .line 219
      StackMap locals:
      StackMap stack:
            iconst_2
         7: .line 218
      StackMap locals:
      StackMap stack: int
            ireturn
         8: .line 222
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            bipush 40
            if_icmpne 9
            iconst_4
            goto 10
         9: .line 223
      StackMap locals:
      StackMap stack:
            iconst_2
        10: .line 222
      StackMap locals:
      StackMap stack: int
            ireturn
        11: .line 226
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            iconst_1
            if_icmpne 12
            bipush -4
            goto 13
        12: .line 227
      StackMap locals:
      StackMap stack:
            bipush -2
        13: .line 226
      StackMap locals:
      StackMap stack: int
            ireturn
        14: .line 230
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "CharacterType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // org.hsqldb.types.Type other
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lorg/hsqldb/types/CharacterType;
            0   15     1  other  Lorg/hsqldb/types/Type;
    MethodParameters:
       Name  Flags
      other  

  public org.hsqldb.types.Type getAggregateType(org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.types.Type other
         0: .line 236
            aload 1 /* other */
            ifnonnull 2
         1: .line 237
            aload 0 /* this */
            areturn
         2: .line 240
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getstatic org.hsqldb.types.CharacterType.SQL_ALL_TYPES:Lorg/hsqldb/types/Type;
            if_acmpne 4
         3: .line 241
            aload 0 /* this */
            areturn
         4: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            if_icmpne 8
         5: .line 245
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 6
            aload 0 /* this */
            goto 7
         6: .line 246
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
         7: .line 245
      StackMap locals:
      StackMap stack: org.hsqldb.types.Type
            areturn
         8: .line 249
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            lookupswitch { // 9
                    1: 9
                   12: 14
                   14: 32
                   15: 32
                   30: 32
                   40: 27
                   60: 32
                   61: 32
                 1111: 32
              default: 33
          }
         9: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 10
            aload 0 /* this */
            goto 13
        10: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
        11: .line 255
            aload 1 /* other */
            invokevirtual org.hsqldb.types.Type.getCollation:()Lorg/hsqldb/types/Collation;
        12: .line 253
            invokestatic org.hsqldb.types.CharacterType.getCharacterType:(IJLorg/hsqldb/types/Collation;)Lorg/hsqldb/types/CharacterType;
        13: .line 252
      StackMap locals:
      StackMap stack: org.hsqldb.types.CharacterType
            areturn
        14: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            bipush 40
            if_icmpne 21
        15: .line 259
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 16
            aload 0 /* this */
            goto 20
        16: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
        17: .line 262
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
        18: .line 263
            aload 1 /* other */
            invokevirtual org.hsqldb.types.Type.getCollation:()Lorg/hsqldb/types/Collation;
        19: .line 260
            invokestatic org.hsqldb.types.CharacterType.getCharacterType:(IJLorg/hsqldb/types/Collation;)Lorg/hsqldb/types/CharacterType;
        20: .line 259
      StackMap locals:
      StackMap stack: org.hsqldb.types.CharacterType
            areturn
        21: .line 265
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            iflt 22
            aload 1 /* other */
            goto 26
        22: .line 267
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
        23: .line 268
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
        24: .line 269
            aload 1 /* other */
            invokevirtual org.hsqldb.types.Type.getCollation:()Lorg/hsqldb/types/Collation;
        25: .line 266
            invokestatic org.hsqldb.types.CharacterType.getCharacterType:(IJLorg/hsqldb/types/Collation;)Lorg/hsqldb/types/CharacterType;
        26: .line 265
      StackMap locals:
      StackMap stack: org.hsqldb.types.Type
            areturn
        27: .line 272
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.precision:J
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            iflt 28
            aload 1 /* other */
            goto 31
        28: .line 274
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
        29: .line 275
            aload 1 /* other */
            invokevirtual org.hsqldb.types.Type.getCollation:()Lorg/hsqldb/types/Collation;
        30: .line 273
            invokestatic org.hsqldb.types.CharacterType.getCharacterType:(IJLorg/hsqldb/types/Collation;)Lorg/hsqldb/types/CharacterType;
        31: .line 272
      StackMap locals:
      StackMap stack: org.hsqldb.types.Type
            areturn
        32: .line 283
      StackMap locals:
      StackMap stack:
            sipush 5562
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        33: .line 297
      StackMap locals:
      StackMap stack:
            sipush 5562
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        end local 1 // org.hsqldb.types.Type other
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   34     0   this  Lorg/hsqldb/types/CharacterType;
            0   34     1  other  Lorg/hsqldb/types/Type;
    MethodParameters:
       Name  Flags
      other  

  public org.hsqldb.types.Type getCombinedType(org.hsqldb.Session, org.hsqldb.types.Type, int);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/types/Type;I)Lorg/hsqldb/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.types.Type other
        start local 3 // int operation
         0: .line 306
            iload 3 /* operation */
            bipush 36
            if_icmpeq 2
         1: .line 307
            aload 0 /* this */
            aload 2 /* other */
            invokevirtual org.hsqldb.types.CharacterType.getAggregateType:(Lorg/hsqldb/types/Type;)Lorg/hsqldb/types/Type;
            areturn
         2: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            aload 2 /* other */
            getfield org.hsqldb.types.Type.precision:J
            ladd
            lstore 5 /* newPrecision */
        start local 5 // long newPrecision
         3: .line 313
            aload 2 /* other */
            getfield org.hsqldb.types.Type.typeCode:I
            lookupswitch { // 4
                    0: 4
                    1: 5
                   12: 7
                   40: 11
              default: 13
          }
         4: .line 316
      StackMap locals: org.hsqldb.types.CharacterType org.hsqldb.Session org.hsqldb.types.Type int top long
      StackMap stack:
            aload 0 /* this */
            areturn
         5: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 4 /* newType */
        start local 4 // org.hsqldb.types.Type newType
         6: .line 320
            goto 14
        end local 4 // org.hsqldb.types.Type newType
         7: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            bipush 40
            if_icmpne 8
            aload 0 /* this */
            goto 9
         8: .line 324
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
         9: .line 323
      StackMap locals:
      StackMap stack: org.hsqldb.types.Type
            astore 4 /* newType */
        start local 4 // org.hsqldb.types.Type newType
        10: .line 325
            goto 14
        end local 4 // org.hsqldb.types.Type newType
        11: .line 328
      StackMap locals:
      StackMap stack:
            aload 2 /* other */
            astore 4 /* newType */
        start local 4 // org.hsqldb.types.Type newType
        12: .line 329
            goto 14
        end local 4 // org.hsqldb.types.Type newType
        13: .line 332
      StackMap locals:
      StackMap stack:
            sipush 5562
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        start local 4 // org.hsqldb.types.Type newType
        14: .line 335
      StackMap locals: org.hsqldb.types.CharacterType org.hsqldb.Session org.hsqldb.types.Type int org.hsqldb.types.Type long
      StackMap stack:
            lload 5 /* newPrecision */
            ldc 2147483647
            lcmp
            ifle 23
        15: .line 336
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            bipush 60
            if_icmpne 18
        16: .line 340
            ldc 2147483647
            lstore 5 /* newPrecision */
        17: .line 341
            goto 23
      StackMap locals:
      StackMap stack:
        18: aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            iconst_1
            if_icmpne 21
        19: .line 342
            ldc 2147483647
            lstore 5 /* newPrecision */
        20: .line 343
            goto 23
      StackMap locals:
      StackMap stack:
        21: aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            bipush 12
            if_icmpne 23
        22: .line 344
            ldc 2147483647
            lstore 5 /* newPrecision */
        23: .line 348
      StackMap locals:
      StackMap stack:
            aload 4 /* newType */
            getfield org.hsqldb.types.Type.typeCode:I
            lload 5 /* newPrecision */
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
            invokestatic org.hsqldb.types.CharacterType.getCharacterType:(IJLorg/hsqldb/types/Collation;)Lorg/hsqldb/types/CharacterType;
            areturn
        end local 5 // long newPrecision
        end local 4 // org.hsqldb.types.Type newType
        end local 3 // int operation
        end local 2 // org.hsqldb.types.Type other
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Lorg/hsqldb/types/CharacterType;
            0   24     1       session  Lorg/hsqldb/Session;
            0   24     2         other  Lorg/hsqldb/types/Type;
            0   24     3     operation  I
            6    7     4       newType  Lorg/hsqldb/types/Type;
           10   11     4       newType  Lorg/hsqldb/types/Type;
           12   13     4       newType  Lorg/hsqldb/types/Type;
           14   24     4       newType  Lorg/hsqldb/types/Type;
            3   24     5  newPrecision  J
    MethodParameters:
           Name  Flags
      session    
      other      
      operation  

  public int compare(org.hsqldb.Session, java.lang.Object, java.lang.Object);
    descriptor: (Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object a
        start local 3 // java.lang.Object b
         0: .line 352
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            aload 3 /* b */
            bipush 40
            invokevirtual org.hsqldb.types.CharacterType.compare:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;I)I
            ireturn
        end local 3 // java.lang.Object b
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hsqldb/types/CharacterType;
            0    1     1  session  Lorg/hsqldb/Session;
            0    1     2        a  Ljava/lang/Object;
            0    1     3        b  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      session  
      a        
      b        

  public int compare(org.hsqldb.Session, java.lang.Object, java.lang.Object, int);
    descriptor: (Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object a
        start local 3 // java.lang.Object b
        start local 4 // int opType
         0: .line 357
            aload 2 /* a */
            aload 3 /* b */
            if_acmpne 2
         1: .line 358
            iconst_0
            ireturn
         2: .line 361
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            ifnonnull 4
         3: .line 362
            iconst_m1
            ireturn
         4: .line 365
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            ifnonnull 6
         5: .line 366
            iconst_1
            ireturn
         6: .line 369
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            instanceof org.hsqldb.types.ClobData
            ifeq 11
         7: .line 370
            aload 2 /* a */
            checkcast org.hsqldb.types.ClobData
            invokeinterface org.hsqldb.types.ClobData.getId:()J
            lstore 5 /* lobId */
        start local 5 // long lobId
         8: .line 372
            aload 1 /* session */
            getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.lobManager:Lorg/hsqldb/persist/LobManager;
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
            lload 5 /* lobId */
         9: .line 373
            aload 2 /* a */
            checkcast java.lang.String
        10: .line 372
            invokevirtual org.hsqldb.persist.LobManager.compare:(Lorg/hsqldb/types/Collation;JLjava/lang/String;)I
            ineg
            ireturn
        end local 5 // long lobId
        11: .line 376
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast java.lang.String
            astore 5 /* as */
        start local 5 // java.lang.String as
        12: .line 377
            aload 3 /* b */
            checkcast java.lang.String
            astore 6 /* bs */
        start local 6 // java.lang.String bs
        13: .line 378
            aload 5 /* as */
            invokevirtual java.lang.String.length:()I
            istore 7 /* la */
        start local 7 // int la
        14: .line 379
            aload 6 /* bs */
            invokevirtual java.lang.String.length:()I
            istore 8 /* lb */
        start local 8 // int lb
        15: .line 381
            iload 7 /* la */
            iload 8 /* lb */
            if_icmpeq 30
        16: .line 384
            iload 7 /* la */
            iload 8 /* lb */
            if_icmple 24
        17: .line 385
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
            invokevirtual org.hsqldb.types.Collation.isPadSpace:()Z
            ifeq 30
        18: .line 386
            iload 4 /* opType */
            bipush 42
            if_icmpeq 30
        19: .line 387
            iload 7 /* la */
            newarray 5
            astore 9 /* buffer */
        start local 9 // char[] buffer
        20: .line 389
            aload 6 /* bs */
            iconst_0
            iload 8 /* lb */
            aload 9 /* buffer */
            iconst_0
            invokevirtual java.lang.String.getChars:(II[CI)V
        21: .line 390
            aload 9 /* buffer */
            iload 8 /* lb */
            bipush 32
            invokestatic org.hsqldb.lib.ArrayUtil.fillArray:([CIC)V
        22: .line 392
            aload 9 /* buffer */
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            astore 6 /* bs */
        end local 9 // char[] buffer
        23: .line 394
            goto 30
        24: .line 395
      StackMap locals: org.hsqldb.types.CharacterType org.hsqldb.Session java.lang.Object java.lang.Object int java.lang.String java.lang.String int int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
            invokevirtual org.hsqldb.types.Collation.isPadSpace:()Z
            ifeq 30
        25: .line 396
            iload 4 /* opType */
            bipush 42
            if_icmpeq 30
        26: .line 397
            iload 8 /* lb */
            newarray 5
            astore 9 /* buffer */
        start local 9 // char[] buffer
        27: .line 399
            aload 5 /* as */
            iconst_0
            iload 7 /* la */
            aload 9 /* buffer */
            iconst_0
            invokevirtual java.lang.String.getChars:(II[CI)V
        28: .line 400
            aload 9 /* buffer */
            iload 7 /* la */
            bipush 32
            invokestatic org.hsqldb.lib.ArrayUtil.fillArray:([CIC)V
        29: .line 402
            aload 9 /* buffer */
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            astore 5 /* as */
        end local 9 // char[] buffer
        30: .line 406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
            aload 5 /* as */
            aload 6 /* bs */
            invokevirtual org.hsqldb.types.Collation.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ireturn
        end local 8 // int lb
        end local 7 // int la
        end local 6 // java.lang.String bs
        end local 5 // java.lang.String as
        end local 4 // int opType
        end local 3 // java.lang.Object b
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   31     0     this  Lorg/hsqldb/types/CharacterType;
            0   31     1  session  Lorg/hsqldb/Session;
            0   31     2        a  Ljava/lang/Object;
            0   31     3        b  Ljava/lang/Object;
            0   31     4   opType  I
            8   11     5    lobId  J
           12   31     5       as  Ljava/lang/String;
           13   31     6       bs  Ljava/lang/String;
           14   31     7       la  I
           15   31     8       lb  I
           20   23     9   buffer  [C
           27   30     9   buffer  [C
    MethodParameters:
         Name  Flags
      session  
      a        
      b        
      opType   

  public java.lang.Object convertToTypeLimits(org.hsqldb.SessionInterface, java.lang.Object);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
         0: .line 411
            aload 2 /* a */
            ifnonnull 2
         1: .line 412
            aload 2 /* a */
            areturn
         2: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lconst_0
            lcmp
            ifne 4
         3: .line 416
            aload 2 /* a */
            areturn
         4: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            lookupswitch { // 3
                    1: 5
                   12: 20
                   40: 26
              default: 30
          }
         5: .line 422
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            istore 3 /* slen */
        start local 3 // int slen
         6: .line 424
            iload 3 /* slen */
            i2l
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifne 8
         7: .line 425
            aload 2 /* a */
            areturn
         8: .line 428
      StackMap locals: int
      StackMap stack:
            iload 3 /* slen */
            i2l
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifle 12
         9: .line 429
            aload 2 /* a */
            checkcast java.lang.String
            bipush 32
            invokestatic org.hsqldb.types.CharacterType.getRightTrimSize:(Ljava/lang/String;C)I
            i2l
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifgt 11
        10: .line 430
            aload 2 /* a */
            checkcast java.lang.String
            iconst_0
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            l2i
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        11: .line 432
      StackMap locals:
      StackMap stack:
            sipush 3401
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        12: .line 436
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            l2i
            newarray 5
            astore 4 /* b */
        start local 4 // char[] b
        13: .line 438
            aload 2 /* a */
            checkcast java.lang.String
            iconst_0
            iload 3 /* slen */
            aload 4 /* b */
            iconst_0
            invokevirtual java.lang.String.getChars:(II[CI)V
        14: .line 440
            iload 3 /* slen */
            istore 5 /* i */
        start local 5 // int i
        15: goto 18
        16: .line 441
      StackMap locals: char[] int
      StackMap stack:
            aload 4 /* b */
            iload 5 /* i */
            bipush 32
            castore
        17: .line 440
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            i2l
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            iflt 16
        end local 5 // int i
        19: .line 444
            new java.lang.String
            dup
            aload 4 /* b */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 4 // char[] b
        end local 3 // int slen
        20: .line 447
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            istore 3 /* slen */
        start local 3 // int slen
        21: .line 449
            iload 3 /* slen */
            i2l
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifle 25
        22: .line 450
            aload 2 /* a */
            checkcast java.lang.String
            bipush 32
            invokestatic org.hsqldb.types.CharacterType.getRightTrimSize:(Ljava/lang/String;C)I
            i2l
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifgt 24
        23: .line 451
            aload 2 /* a */
            checkcast java.lang.String
            iconst_0
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            l2i
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        24: .line 453
      StackMap locals: int
      StackMap stack:
            sipush 3401
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        25: .line 457
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            areturn
        end local 3 // int slen
        26: .line 460
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast org.hsqldb.types.ClobData
            astore 3 /* clob */
        start local 3 // org.hsqldb.types.ClobData clob
        27: .line 462
            aload 3 /* clob */
            aload 1 /* session */
            invokeinterface org.hsqldb.types.ClobData.length:(Lorg/hsqldb/SessionInterface;)J
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifle 29
        28: .line 463
            sipush 3401
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        29: .line 466
      StackMap locals: org.hsqldb.types.ClobData
      StackMap stack:
            aload 2 /* a */
            areturn
        end local 3 // org.hsqldb.types.ClobData clob
        30: .line 469
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "CharacterType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   31     0     this  Lorg/hsqldb/types/CharacterType;
            0   31     1  session  Lorg/hsqldb/SessionInterface;
            0   31     2        a  Ljava/lang/Object;
            6   20     3     slen  I
           13   20     4        b  [C
           15   19     5        i  I
           21   26     3     slen  I
           27   30     3     clob  Lorg/hsqldb/types/ClobData;
    MethodParameters:
         Name  Flags
      session  
      a        

  public java.lang.Object castToType(org.hsqldb.SessionInterface, java.lang.Object, org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
        start local 3 // org.hsqldb.types.Type otherType
         0: .line 476
            aload 2 /* a */
            ifnonnull 2
         1: .line 477
            aload 2 /* a */
            areturn
         2: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            aload 3 /* otherType */
            iconst_1
            invokevirtual org.hsqldb.types.CharacterType.castOrConvertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;Z)Ljava/lang/Object;
            areturn
        end local 3 // org.hsqldb.types.Type otherType
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/hsqldb/types/CharacterType;
            0    3     1    session  Lorg/hsqldb/SessionInterface;
            0    3     2          a  Ljava/lang/Object;
            0    3     3  otherType  Lorg/hsqldb/types/Type;
    MethodParameters:
           Name  Flags
      session    
      a          
      otherType  

  public java.lang.Object castOrConvertToType(org.hsqldb.SessionInterface, java.lang.Object, org.hsqldb.types.Type, boolean);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;Z)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
        start local 3 // org.hsqldb.types.Type otherType
        start local 4 // boolean cast
         0: .line 486
            aload 3 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            lookupswitch { // 9
                    1: 1
                   12: 1
                   14: 49
                   15: 49
                   30: 41
                   40: 18
                   60: 49
                   61: 49
                 1111: 40
              default: 49
          }
         1: .line 490
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            istore 5 /* length */
        start local 5 // int length
         2: .line 492
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lconst_0
            lcmp
            ifeq 8
            iload 5 /* length */
            i2l
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifle 8
         3: .line 493
            aload 2 /* a */
            checkcast java.lang.String
            invokestatic org.hsqldb.lib.StringUtil.rightTrimSize:(Ljava/lang/String;)I
            i2l
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifle 7
         4: .line 494
            iload 4 /* cast */
            ifne 6
         5: .line 495
            sipush 3401
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         6: .line 498
      StackMap locals: int
      StackMap stack:
            aload 1 /* session */
            sipush 1004
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            invokeinterface org.hsqldb.SessionInterface.addWarning:(Lorg/hsqldb/HsqlException;)V
         7: .line 501
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast java.lang.String
            iconst_0
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            l2i
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* a */
         8: .line 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            lookupswitch { // 3
                    1: 9
                   12: 10
                   40: 11
              default: 15
          }
         9: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            invokevirtual org.hsqldb.types.CharacterType.convertToTypeLimits:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        10: .line 510
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            areturn
        11: .line 514
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            aload 2 /* a */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            i2l
            invokeinterface org.hsqldb.SessionInterface.createClob:(J)Lorg/hsqldb/types/ClobDataID;
        12: .line 513
            astore 6 /* clob */
        start local 6 // org.hsqldb.types.ClobData clob
        13: .line 516
            aload 6 /* clob */
            aload 1 /* session */
            lconst_0
            aload 2 /* a */
            checkcast java.lang.String
            invokeinterface org.hsqldb.types.ClobData.setString:(Lorg/hsqldb/SessionInterface;JLjava/lang/String;)V
        14: .line 518
            aload 6 /* clob */
            areturn
        end local 6 // org.hsqldb.types.ClobData clob
        15: .line 521
      StackMap locals:
      StackMap stack:
            sipush 201
        16: .line 522
            ldc "CharacterType"
        17: .line 521
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // int length
        18: .line 526
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.ClobData.length:(Lorg/hsqldb/SessionInterface;)J
            lstore 5 /* length */
        start local 5 // long length
        19: .line 528
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lconst_0
            lcmp
            ifeq 23
            lload 5 /* length */
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifle 23
        20: .line 531
            iload 4 /* cast */
            ifne 22
        21: .line 532
            sipush 3401
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        22: .line 535
      StackMap locals: long
      StackMap stack:
            aload 1 /* session */
            sipush 1004
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            invokeinterface org.hsqldb.SessionInterface.addWarning:(Lorg/hsqldb/HsqlException;)V
        23: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            lookupswitch { // 3
                    1: 24
                   12: 24
                   40: 32
              default: 37
          }
        24: .line 542
      StackMap locals:
      StackMap stack:
            lload 5 /* length */
            ldc 2147483647
            lcmp
            ifle 28
        25: .line 543
            iload 4 /* cast */
            ifne 27
        26: .line 544
            sipush 3401
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        27: .line 547
      StackMap locals:
      StackMap stack:
            ldc 2147483647
            lstore 5 /* length */
        28: .line 550
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            lconst_0
        29: .line 551
            lload 5 /* length */
            l2i
        30: .line 550
            invokeinterface org.hsqldb.types.ClobData.getSubString:(Lorg/hsqldb/SessionInterface;JI)Ljava/lang/String;
            astore 2 /* a */
        31: .line 553
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            invokevirtual org.hsqldb.types.CharacterType.convertToTypeLimits:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        32: .line 556
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lconst_0
            lcmp
            ifeq 36
            lload 5 /* length */
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifle 36
        33: .line 557
            aload 2 /* a */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            lconst_0
        34: .line 558
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
        35: .line 557
            invokeinterface org.hsqldb.types.ClobData.getClob:(Lorg/hsqldb/SessionInterface;JJ)Lorg/hsqldb/types/ClobData;
            areturn
        36: .line 561
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            areturn
        37: .line 564
      StackMap locals:
      StackMap stack:
            sipush 201
        38: .line 565
            ldc "CharacterType"
        39: .line 564
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // long length
        40: .line 569
      StackMap locals:
      StackMap stack:
            sipush 5561
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        41: .line 571
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast org.hsqldb.types.BlobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.BlobData.length:(Lorg/hsqldb/SessionInterface;)J
            lstore 5 /* blobLength */
        start local 5 // long blobLength
        42: .line 573
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lconst_0
            lcmp
            ifeq 44
            lload 5 /* blobLength */
            ldc 2
            lmul
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifle 44
        43: .line 574
            sipush 3401
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        44: .line 577
      StackMap locals: long
      StackMap stack:
            aload 2 /* a */
            checkcast org.hsqldb.types.BlobData
            aload 1 /* session */
            lconst_0
        45: .line 578
            lload 5 /* blobLength */
            l2i
        46: .line 577
            invokeinterface org.hsqldb.types.BlobData.getBytes:(Lorg/hsqldb/SessionInterface;JI)[B
            astore 7 /* bytes */
        start local 7 // byte[] bytes
        47: .line 580
            aload 7 /* bytes */
            invokestatic org.hsqldb.lib.StringConverter.byteArrayToHexString:([B)Ljava/lang/String;
            astore 2 /* a */
        48: .line 582
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            invokevirtual org.hsqldb.types.CharacterType.convertToTypeLimits:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 7 // byte[] bytes
        end local 5 // long blobLength
        49: .line 589
      StackMap locals:
      StackMap stack:
            aload 3 /* otherType */
            aload 2 /* a */
            invokevirtual org.hsqldb.types.Type.convertToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 8 /* s */
        start local 8 // java.lang.String s
        50: .line 591
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lconst_0
            lcmp
            ifeq 52
            aload 8 /* s */
            invokevirtual java.lang.String.length:()I
            i2l
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifle 52
        51: .line 592
            sipush 3401
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        52: .line 595
      StackMap locals: org.hsqldb.types.CharacterType org.hsqldb.SessionInterface java.lang.Object org.hsqldb.types.Type int top top top java.lang.String
      StackMap stack:
            aload 8 /* s */
            astore 2 /* a */
        53: .line 597
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            invokevirtual org.hsqldb.types.CharacterType.convertToTypeLimits:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 8 // java.lang.String s
        end local 4 // boolean cast
        end local 3 // org.hsqldb.types.Type otherType
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   54     0        this  Lorg/hsqldb/types/CharacterType;
            0   54     1     session  Lorg/hsqldb/SessionInterface;
            0   54     2           a  Ljava/lang/Object;
            0   54     3   otherType  Lorg/hsqldb/types/Type;
            0   54     4        cast  Z
            2   18     5      length  I
           13   15     6        clob  Lorg/hsqldb/types/ClobData;
           19   40     5      length  J
           42   49     5  blobLength  J
           47   49     7       bytes  [B
           50   54     8           s  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      session    
      a          
      otherType  
      cast       

  public java.lang.Object convertToType(org.hsqldb.SessionInterface, java.lang.Object, org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
        start local 3 // org.hsqldb.types.Type otherType
         0: .line 604
            aload 2 /* a */
            ifnonnull 2
         1: .line 605
            aload 2 /* a */
            areturn
         2: .line 608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            aload 3 /* otherType */
            iconst_0
            invokevirtual org.hsqldb.types.CharacterType.castOrConvertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;Z)Ljava/lang/Object;
            areturn
        end local 3 // org.hsqldb.types.Type otherType
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/hsqldb/types/CharacterType;
            0    3     1    session  Lorg/hsqldb/SessionInterface;
            0    3     2          a  Ljava/lang/Object;
            0    3     3  otherType  Lorg/hsqldb/types/Type;
    MethodParameters:
           Name  Flags
      session    
      a          
      otherType  

  public java.lang.Object convertToTypeJDBC(org.hsqldb.SessionInterface, java.lang.Object, org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
        start local 3 // org.hsqldb.types.Type otherType
         0: .line 614
            aload 2 /* a */
            ifnonnull 2
         1: .line 615
            aload 2 /* a */
            areturn
         2: .line 618
      StackMap locals:
      StackMap stack:
            aload 3 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            bipush 30
            if_icmpne 4
         3: .line 619
            sipush 5561
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         4: .line 622
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            aload 3 /* otherType */
            invokevirtual org.hsqldb.types.CharacterType.convertToType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Lorg/hsqldb/types/Type;)Ljava/lang/Object;
            areturn
        end local 3 // org.hsqldb.types.Type otherType
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/hsqldb/types/CharacterType;
            0    5     1    session  Lorg/hsqldb/SessionInterface;
            0    5     2          a  Ljava/lang/Object;
            0    5     3  otherType  Lorg/hsqldb/types/Type;
    MethodParameters:
           Name  Flags
      session    
      a          
      otherType  

  public java.lang.Object convertToDefaultType(org.hsqldb.SessionInterface, java.lang.Object);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
         0: .line 630
            aload 2 /* a */
            ifnonnull 2
         1: .line 631
            aload 2 /* a */
            areturn
         2: .line 636
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            instanceof java.lang.Boolean
            ifeq 5
         3: .line 637
            aload 2 /* a */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
         4: .line 638
            goto 33
        end local 3 // java.lang.String s
      StackMap locals:
      StackMap stack:
         5: aload 2 /* a */
            instanceof java.math.BigDecimal
            ifeq 8
         6: .line 639
            aload 2 /* a */
            checkcast java.math.BigDecimal
            invokevirtual java.math.BigDecimal.toPlainString:()Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
         7: .line 640
            goto 33
        end local 3 // java.lang.String s
      StackMap locals:
      StackMap stack:
         8: aload 2 /* a */
            instanceof java.lang.Number
            ifeq 11
         9: .line 641
            aload 2 /* a */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
        10: .line 642
            goto 33
        end local 3 // java.lang.String s
      StackMap locals:
      StackMap stack:
        11: aload 2 /* a */
            instanceof java.lang.String
            ifeq 14
        12: .line 643
            aload 2 /* a */
            checkcast java.lang.String
            astore 3 /* s */
        start local 3 // java.lang.String s
        13: .line 644
            goto 33
        end local 3 // java.lang.String s
      StackMap locals:
      StackMap stack:
        14: aload 2 /* a */
            instanceof java.sql.Date
            ifeq 17
        15: .line 645
            aload 2 /* a */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
        16: .line 646
            goto 33
        end local 3 // java.lang.String s
      StackMap locals:
      StackMap stack:
        17: aload 2 /* a */
            instanceof java.sql.Time
            ifeq 20
        18: .line 647
            aload 2 /* a */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
        19: .line 648
            goto 33
        end local 3 // java.lang.String s
      StackMap locals:
      StackMap stack:
        20: aload 2 /* a */
            instanceof java.sql.Timestamp
            ifeq 23
        21: .line 649
            aload 2 /* a */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
        22: .line 650
            goto 33
        end local 3 // java.lang.String s
      StackMap locals:
      StackMap stack:
        23: aload 2 /* a */
            instanceof java.util.Date
            ifeq 27
        24: .line 652
            aload 2 /* a */
            checkcast java.util.Date
            invokevirtual java.util.Date.getTime:()J
        25: .line 651
            invokestatic org.hsqldb.HsqlDateTime.getTimestampString:(J)Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
        26: .line 653
            goto 33
        end local 3 // java.lang.String s
      StackMap locals:
      StackMap stack:
        27: aload 2 /* a */
            instanceof java.util.UUID
            ifeq 30
        28: .line 654
            aload 2 /* a */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
        29: .line 655
            goto 33
        end local 3 // java.lang.String s
        30: .line 656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            invokevirtual org.hsqldb.types.CharacterType.convertJavaTimeObject:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
        31: .line 658
            aload 3 /* s */
            ifnonnull 33
        32: .line 659
            sipush 5561
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        33: .line 663
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* s */
            areturn
        end local 3 // java.lang.String s
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0     this  Lorg/hsqldb/types/CharacterType;
            0   34     1  session  Lorg/hsqldb/SessionInterface;
            0   34     2        a  Ljava/lang/Object;
            4    5     3        s  Ljava/lang/String;
            7    8     3        s  Ljava/lang/String;
           10   11     3        s  Ljava/lang/String;
           13   14     3        s  Ljava/lang/String;
           16   17     3        s  Ljava/lang/String;
           19   20     3        s  Ljava/lang/String;
           22   23     3        s  Ljava/lang/String;
           26   27     3        s  Ljava/lang/String;
           29   30     3        s  Ljava/lang/String;
           31   34     3        s  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      session  
      a        

  java.lang.String convertJavaTimeObject(org.hsqldb.SessionInterface, java.lang.Object);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
         0: .line 669
            aload 2 /* a */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 5
          -1917484011: 1
          -1246518012: 2
          -1246033885: 3
          -1179039247: 4
           -682591005: 5
              default: 8
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 3
            ldc "java.time.OffsetTime"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 8
      StackMap locals:
      StackMap stack:
         2: aload 3
            ldc "java.time.LocalDate"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 8
      StackMap locals:
      StackMap stack:
         3: aload 3
            ldc "java.time.LocalTime"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            goto 8
      StackMap locals:
      StackMap stack:
         4: aload 3
            ldc "java.time.LocalDateTime"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 8
      StackMap locals:
      StackMap stack:
         5: aload 3
            ldc "java.time.OffsetDateTime"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 8
         6: .line 672
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         7: .line 676
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            bipush 84
            bipush 32
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
         8: .line 679
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/hsqldb/types/CharacterType;
            0    9     1  session  Lorg/hsqldb/SessionInterface;
            0    9     2        a  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      session  
      a        

  public java.lang.Object convertJavaToSQL(org.hsqldb.SessionInterface, java.lang.Object);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object a
         0: .line 691
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* a */
            invokevirtual org.hsqldb.types.CharacterType.convertToDefaultType:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/hsqldb/types/CharacterType;
            0    1     1  session  Lorg/hsqldb/SessionInterface;
            0    1     2        a  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      session  
      a        

  public java.lang.String convertToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // java.lang.Object a
         0: .line 696
            aload 1 /* a */
            ifnonnull 2
         1: .line 697
            aconst_null
            areturn
         2: .line 700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            lookupswitch { // 2
                    1: 3
                   12: 14
              default: 15
          }
         3: .line 703
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            istore 2 /* slen */
        start local 2 // int slen
         4: .line 705
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lconst_0
            lcmp
            ifeq 5
            iload 2 /* slen */
            i2l
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifne 6
         5: .line 706
      StackMap locals: int
      StackMap stack:
            aload 1 /* a */
            checkcast java.lang.String
            areturn
         6: .line 709
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            l2i
            newarray 5
            astore 3 /* b */
        start local 3 // char[] b
         7: .line 711
            aload 1 /* a */
            checkcast java.lang.String
            iconst_0
            iload 2 /* slen */
            aload 3 /* b */
            iconst_0
            invokevirtual java.lang.String.getChars:(II[CI)V
         8: .line 713
            iload 2 /* slen */
            istore 4 /* i */
        start local 4 // int i
         9: goto 12
        10: .line 714
      StackMap locals: char[] int
      StackMap stack:
            aload 3 /* b */
            iload 4 /* i */
            bipush 32
            castore
        11: .line 713
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            i2l
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            iflt 10
        end local 4 // int i
        13: .line 717
            new java.lang.String
            dup
            aload 3 /* b */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 3 // char[] b
        end local 2 // int slen
        14: .line 720
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            checkcast java.lang.String
            areturn
        15: .line 723
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "CharacterType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Object a
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/hsqldb/types/CharacterType;
            0   16     1     a  Ljava/lang/Object;
            4   14     2  slen  I
            7   14     3     b  [C
            9   13     4     i  I
    MethodParameters:
      Name  Flags
      a     

  public java.lang.String convertToSQLString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // java.lang.Object a
         0: .line 729
            aload 1 /* a */
            ifnonnull 2
         1: .line 730
            ldc "NULL"
            areturn
         2: .line 733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* a */
            invokevirtual org.hsqldb.types.CharacterType.convertToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         3: .line 735
            aload 2 /* s */
            bipush 39
            iconst_1
            invokestatic org.hsqldb.lib.StringConverter.toQuotedString:(Ljava/lang/String;CZ)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String s
        end local 1 // java.lang.Object a
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hsqldb/types/CharacterType;
            0    4     1     a  Ljava/lang/Object;
            3    4     2     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      a     

  public boolean canConvertFrom(org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/types/Type;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.types.Type otherType
         0: .line 739
            aload 1 /* otherType */
            invokevirtual org.hsqldb.types.Type.isObjectType:()Z
            ifne 1
            aload 1 /* otherType */
            invokevirtual org.hsqldb.types.Type.isArrayType:()Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.hsqldb.types.Type otherType
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/hsqldb/types/CharacterType;
            0    2     1  otherType  Lorg/hsqldb/types/Type;
    MethodParameters:
           Name  Flags
      otherType  

  public int canMoveFrom(org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/types/Type;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.types.Type otherType
         0: .line 744
            aload 1 /* otherType */
            aload 0 /* this */
            if_acmpne 2
         1: .line 745
            iconst_0
            ireturn
         2: .line 748
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
            ifne 4
         3: .line 749
            iconst_m1
            ireturn
         4: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            lookupswitch { // 3
                    1: 19
                   12: 5
                   40: 14
              default: 23
          }
         5: .line 755
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            if_icmpne 9
         6: .line 756
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 7
            iconst_0
            goto 8
         7: .line 757
      StackMap locals:
      StackMap stack:
            iconst_1
         8: .line 756
      StackMap locals:
      StackMap stack: int
            ireturn
         9: .line 760
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            iconst_1
            if_icmpne 13
        10: .line 761
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 11
            iconst_0
            goto 12
        11: .line 762
      StackMap locals:
      StackMap stack:
            iconst_m1
        12: .line 761
      StackMap locals:
      StackMap stack: int
            ireturn
        13: .line 765
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        14: .line 768
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            bipush 40
            if_icmpne 18
        15: .line 769
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            iflt 16
            iconst_0
            goto 17
        16: .line 770
      StackMap locals:
      StackMap stack:
            iconst_1
        17: .line 769
      StackMap locals:
      StackMap stack: int
            ireturn
        18: .line 773
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        19: .line 776
      StackMap locals:
      StackMap stack:
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            iconst_1
            if_icmpne 21
        20: .line 777
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            aload 1 /* otherType */
            getfield org.hsqldb.types.Type.precision:J
            lcmp
            ifne 21
            iconst_0
            goto 22
        21: .line 778
      StackMap locals:
      StackMap stack:
            iconst_m1
        22: .line 776
      StackMap locals:
      StackMap stack: int
            ireturn
        23: .line 781
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // org.hsqldb.types.Type otherType
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Lorg/hsqldb/types/CharacterType;
            0   24     1  otherType  Lorg/hsqldb/types/Type;
    MethodParameters:
           Name  Flags
      otherType  

  public org.hsqldb.types.Collation getCollation();
    descriptor: ()Lorg/hsqldb/types/Collation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 786
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
            areturn
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/CharacterType;

  public org.hsqldb.types.Charset getCharacterSet();
    descriptor: ()Lorg/hsqldb/types/Charset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.CharacterType this
         0: .line 790
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.charset:Lorg/hsqldb/types/Charset;
            areturn
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/CharacterType;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // java.lang.Object other
         0: .line 798
            aload 1 /* other */
            aload 0 /* this */
            if_acmpne 2
         1: .line 799
            iconst_1
            ireturn
         2: .line 802
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.hsqldb.types.CharacterType
            ifeq 10
         3: .line 803
            aload 0 /* this */
            aload 1 /* other */
            invokespecial org.hsqldb.types.Type.equals:(Ljava/lang/Object;)Z
            ifeq 9
         4: .line 804
            aload 1 /* other */
            checkcast org.hsqldb.types.CharacterType
            invokevirtual org.hsqldb.types.CharacterType.getCollation:()Lorg/hsqldb/types/Collation;
         5: .line 805
            aload 0 /* this */
            invokevirtual org.hsqldb.types.CharacterType.getCollation:()Lorg/hsqldb/types/Collation;
         6: .line 804
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
         7: .line 805
            ifeq 9
         8: .line 803
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         9: iconst_0
            ireturn
        10: .line 808
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/hsqldb/types/CharacterType;
            0   11     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public long position(org.hsqldb.SessionInterface, java.lang.Object, java.lang.Object, org.hsqldb.types.Type, long);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Ljava/lang/Object;Lorg/hsqldb/types/Type;J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=6
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object data
        start local 3 // java.lang.Object otherData
        start local 4 // org.hsqldb.types.Type otherType
        start local 5 // long offset
         0: .line 814
            aload 2 /* data */
            ifnull 1
            aload 3 /* otherData */
            ifnonnull 2
         1: .line 815
      StackMap locals:
      StackMap stack:
            ldc -1
            lreturn
         2: .line 818
      StackMap locals:
      StackMap stack:
            aload 4 /* otherType */
            getfield org.hsqldb.types.Type.typeCode:I
            bipush 40
            if_icmpne 12
         3: .line 819
            aload 3 /* otherData */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.ClobData.length:(Lorg/hsqldb/SessionInterface;)J
            lstore 7 /* otherLength */
        start local 7 // long otherLength
         4: .line 821
            lload 5 /* offset */
            lload 7 /* otherLength */
            ladd
            aload 2 /* data */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            i2l
            lcmp
            ifle 6
         5: .line 822
            ldc -1
            lreturn
         6: .line 825
      StackMap locals: long
      StackMap stack:
            lload 7 /* otherLength */
            ldc 2147483647
            lcmp
            ifle 8
         7: .line 826
            sipush 3459
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         8: .line 829
      StackMap locals:
      StackMap stack:
            aload 3 /* otherData */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
         9: .line 830
            lconst_0
            lload 7 /* otherLength */
            l2i
        10: .line 829
            invokeinterface org.hsqldb.types.ClobData.getSubString:(Lorg/hsqldb/SessionInterface;JI)Ljava/lang/String;
            astore 9 /* otherString */
        start local 9 // java.lang.String otherString
        11: .line 832
            aload 2 /* data */
            checkcast java.lang.String
            aload 9 /* otherString */
            lload 5 /* offset */
            l2i
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            i2l
            lreturn
        end local 9 // java.lang.String otherString
        end local 7 // long otherLength
        12: .line 833
      StackMap locals:
      StackMap stack:
            aload 4 /* otherType */
            invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
            ifeq 17
        13: .line 834
            aload 3 /* otherData */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            i2l
            lstore 7 /* otherLength */
        start local 7 // long otherLength
        14: .line 836
            lload 5 /* offset */
            lload 7 /* otherLength */
            ladd
            aload 2 /* data */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            i2l
            lcmp
            ifle 16
        15: .line 837
            ldc -1
            lreturn
        16: .line 840
      StackMap locals: long
      StackMap stack:
            aload 2 /* data */
            checkcast java.lang.String
            aload 3 /* otherData */
            checkcast java.lang.String
            lload 5 /* offset */
            l2i
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            i2l
            lreturn
        end local 7 // long otherLength
        17: .line 842
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "CharacterType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // long offset
        end local 4 // org.hsqldb.types.Type otherType
        end local 3 // java.lang.Object otherData
        end local 2 // java.lang.Object data
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lorg/hsqldb/types/CharacterType;
            0   18     1      session  Lorg/hsqldb/SessionInterface;
            0   18     2         data  Ljava/lang/Object;
            0   18     3    otherData  Ljava/lang/Object;
            0   18     4    otherType  Lorg/hsqldb/types/Type;
            0   18     5       offset  J
            4   12     7  otherLength  J
           11   12     9  otherString  Ljava/lang/String;
           14   17     7  otherLength  J
    MethodParameters:
           Name  Flags
      session    
      data       
      otherData  
      otherType  
      offset     

  public java.lang.Object substring(org.hsqldb.SessionInterface, java.lang.Object, long, long, boolean, boolean);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;JJZZ)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=15, args_size=7
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object data
        start local 3 // long offset
        start local 5 // long length
        start local 7 // boolean hasLength
        start local 8 // boolean trailing
         0: .line 851
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            bipush 40
            if_icmpne 2
         1: .line 852
            aload 2 /* data */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.ClobData.length:(Lorg/hsqldb/SessionInterface;)J
            goto 3
         2: .line 853
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            i2l
         3: .line 851
      StackMap locals:
      StackMap stack: long
            lstore 11 /* dataLength */
        start local 11 // long dataLength
         4: .line 855
            iload 8 /* trailing */
            ifeq 11
         5: .line 856
            lload 11 /* dataLength */
            lstore 9 /* end */
        start local 9 // long end
         6: .line 858
            lload 5 /* length */
            lload 11 /* dataLength */
            lcmp
            ifle 9
         7: .line 859
            lconst_0
            lstore 3 /* offset */
         8: .line 860
            goto 17
         9: .line 861
      StackMap locals: long long
      StackMap stack:
            lload 11 /* dataLength */
            lload 5 /* length */
            lsub
            lstore 3 /* offset */
        10: .line 863
            goto 17
        end local 9 // long end
      StackMap locals: org.hsqldb.types.CharacterType org.hsqldb.SessionInterface java.lang.Object long long int int top top long
      StackMap stack:
        11: iload 7 /* hasLength */
            ifeq 14
        12: .line 864
            lload 3 /* offset */
            lload 5 /* length */
            ladd
            lstore 9 /* end */
        start local 9 // long end
        13: .line 865
            goto 17
        end local 9 // long end
        14: .line 866
      StackMap locals:
      StackMap stack:
            lload 11 /* dataLength */
            lload 3 /* offset */
            lcmp
            ifle 15
            lload 11 /* dataLength */
            goto 16
        15: .line 867
      StackMap locals:
      StackMap stack:
            lload 3 /* offset */
        16: .line 866
      StackMap locals:
      StackMap stack: long
            lstore 9 /* end */
        start local 9 // long end
        17: .line 870
      StackMap locals: org.hsqldb.types.CharacterType org.hsqldb.SessionInterface java.lang.Object long long int int long long
      StackMap stack:
            lload 9 /* end */
            lload 3 /* offset */
            lcmp
            ifge 19
        18: .line 871
            sipush 3431
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        19: .line 874
      StackMap locals:
      StackMap stack:
            lload 9 /* end */
            lconst_0
            lcmp
            ifge 22
        20: .line 877
            lconst_0
            lstore 3 /* offset */
        21: .line 878
            lconst_0
            lstore 9 /* end */
        22: .line 881
      StackMap locals:
      StackMap stack:
            lload 3 /* offset */
            lconst_0
            lcmp
            ifge 24
        23: .line 882
            lconst_0
            lstore 3 /* offset */
        24: .line 885
      StackMap locals:
      StackMap stack:
            lload 9 /* end */
            lload 11 /* dataLength */
            lcmp
            ifle 26
        25: .line 886
            lload 11 /* dataLength */
            lstore 9 /* end */
        26: .line 889
      StackMap locals:
      StackMap stack:
            lload 9 /* end */
            lload 3 /* offset */
            lsub
            lstore 5 /* length */
        27: .line 891
            aload 2 /* data */
            instanceof java.lang.String
            ifeq 31
        28: .line 892
            aload 2 /* data */
            checkcast java.lang.String
            lload 3 /* offset */
            l2i
        29: .line 893
            lload 3 /* offset */
            lload 5 /* length */
            ladd
            l2i
        30: .line 892
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        31: .line 894
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            instanceof org.hsqldb.types.ClobData
            ifeq 40
        32: .line 895
            aload 1 /* session */
            lload 5 /* length */
            invokeinterface org.hsqldb.SessionInterface.createClob:(J)Lorg/hsqldb/types/ClobDataID;
            astore 13 /* clob */
        start local 13 // org.hsqldb.types.ClobData clob
        33: .line 897
            lload 5 /* length */
            ldc 2147483647
            lcmp
            ifle 35
        34: .line 898
            sipush 3401
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        35: .line 902
      StackMap locals: org.hsqldb.types.ClobData
      StackMap stack:
            aload 2 /* data */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            lload 3 /* offset */
        36: .line 903
            lload 5 /* length */
            l2i
        37: .line 902
            invokeinterface org.hsqldb.types.ClobData.getSubString:(Lorg/hsqldb/SessionInterface;JI)Ljava/lang/String;
            astore 14 /* result */
        start local 14 // java.lang.String result
        38: .line 905
            aload 13 /* clob */
            aload 1 /* session */
            lconst_0
            aload 14 /* result */
            invokeinterface org.hsqldb.types.ClobData.setString:(Lorg/hsqldb/SessionInterface;JLjava/lang/String;)V
        39: .line 907
            aload 13 /* clob */
            areturn
        end local 14 // java.lang.String result
        end local 13 // org.hsqldb.types.ClobData clob
        40: .line 909
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "CharacterType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 11 // long dataLength
        end local 9 // long end
        end local 8 // boolean trailing
        end local 7 // boolean hasLength
        end local 5 // long length
        end local 3 // long offset
        end local 2 // java.lang.Object data
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   41     0        this  Lorg/hsqldb/types/CharacterType;
            0   41     1     session  Lorg/hsqldb/SessionInterface;
            0   41     2        data  Ljava/lang/Object;
            0   41     3      offset  J
            0   41     5      length  J
            0   41     7   hasLength  Z
            0   41     8    trailing  Z
            6   11     9         end  J
           13   14     9         end  J
           17   41     9         end  J
            4   41    11  dataLength  J
           33   40    13        clob  Lorg/hsqldb/types/ClobData;
           38   40    14      result  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      session    
      data       
      offset     
      length     
      hasLength  
      trailing   

  public java.lang.Object upper(org.hsqldb.Session, java.lang.Object);
    descriptor: (Lorg/hsqldb/Session;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object data
         0: .line 918
            aload 2 /* data */
            ifnonnull 2
         1: .line 919
            aconst_null
            areturn
         2: .line 922
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            bipush 40
            if_icmpne 10
         3: .line 923
            aload 2 /* data */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            lconst_0
         4: .line 924
            aload 2 /* data */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.ClobData.length:(Lorg/hsqldb/SessionInterface;)J
            l2i
         5: .line 923
            invokeinterface org.hsqldb.types.ClobData.getSubString:(Lorg/hsqldb/SessionInterface;JI)Ljava/lang/String;
            astore 3 /* result */
        start local 3 // java.lang.String result
         6: .line 926
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
            aload 3 /* result */
            invokevirtual org.hsqldb.types.Collation.toUpperCase:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* result */
         7: .line 928
            aload 1 /* session */
            aload 3 /* result */
            invokevirtual java.lang.String.length:()I
            i2l
            invokevirtual org.hsqldb.Session.createClob:(J)Lorg/hsqldb/types/ClobDataID;
            astore 4 /* clob */
        start local 4 // org.hsqldb.types.ClobData clob
         8: .line 930
            aload 4 /* clob */
            aload 1 /* session */
            lconst_0
            aload 3 /* result */
            invokeinterface org.hsqldb.types.ClobData.setString:(Lorg/hsqldb/SessionInterface;JLjava/lang/String;)V
         9: .line 932
            aload 4 /* clob */
            areturn
        end local 4 // org.hsqldb.types.ClobData clob
        end local 3 // java.lang.String result
        10: .line 935
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
            aload 2 /* data */
            checkcast java.lang.String
            invokevirtual org.hsqldb.types.Collation.toUpperCase:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/hsqldb/types/CharacterType;
            0   11     1  session  Lorg/hsqldb/Session;
            0   11     2     data  Ljava/lang/Object;
            6   10     3   result  Ljava/lang/String;
            8   10     4     clob  Lorg/hsqldb/types/ClobData;
    MethodParameters:
         Name  Flags
      session  
      data     

  public java.lang.Object lower(org.hsqldb.Session, java.lang.Object);
    descriptor: (Lorg/hsqldb/Session;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object data
         0: .line 940
            aload 2 /* data */
            ifnonnull 2
         1: .line 941
            aconst_null
            areturn
         2: .line 944
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            bipush 40
            if_icmpne 10
         3: .line 945
            aload 2 /* data */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            lconst_0
         4: .line 946
            aload 2 /* data */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.ClobData.length:(Lorg/hsqldb/SessionInterface;)J
            l2i
         5: .line 945
            invokeinterface org.hsqldb.types.ClobData.getSubString:(Lorg/hsqldb/SessionInterface;JI)Ljava/lang/String;
            astore 3 /* result */
        start local 3 // java.lang.String result
         6: .line 948
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
            aload 3 /* result */
            invokevirtual org.hsqldb.types.Collation.toLowerCase:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* result */
         7: .line 950
            aload 1 /* session */
            aload 3 /* result */
            invokevirtual java.lang.String.length:()I
            i2l
            invokevirtual org.hsqldb.Session.createClob:(J)Lorg/hsqldb/types/ClobDataID;
            astore 4 /* clob */
        start local 4 // org.hsqldb.types.ClobData clob
         8: .line 952
            aload 4 /* clob */
            aload 1 /* session */
            lconst_0
            aload 3 /* result */
            invokeinterface org.hsqldb.types.ClobData.setString:(Lorg/hsqldb/SessionInterface;JLjava/lang/String;)V
         9: .line 954
            aload 4 /* clob */
            areturn
        end local 4 // org.hsqldb.types.ClobData clob
        end local 3 // java.lang.String result
        10: .line 957
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
            aload 2 /* data */
            checkcast java.lang.String
            invokevirtual org.hsqldb.types.Collation.toLowerCase:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.Object data
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/hsqldb/types/CharacterType;
            0   11     1  session  Lorg/hsqldb/Session;
            0   11     2     data  Ljava/lang/Object;
            6   10     3   result  Ljava/lang/String;
            8   10     4     clob  Lorg/hsqldb/types/ClobData;
    MethodParameters:
         Name  Flags
      session  
      data     

  public java.lang.Object trim(org.hsqldb.SessionInterface, java.lang.Object, char, boolean, boolean);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;CZZ)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=6
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object data
        start local 3 // char trim
        start local 4 // boolean leading
        start local 5 // boolean trailing
         0: .line 963
            aload 2 /* data */
            ifnonnull 2
         1: .line 964
            aconst_null
            areturn
         2: .line 969
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            bipush 40
            if_icmpne 8
         3: .line 970
            aload 2 /* data */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.ClobData.length:(Lorg/hsqldb/SessionInterface;)J
            lstore 7 /* length */
        start local 7 // long length
         4: .line 972
            lload 7 /* length */
            ldc 2147483647
            lcmp
            ifle 6
         5: .line 973
            sipush 3459
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         6: .line 976
      StackMap locals: org.hsqldb.types.CharacterType org.hsqldb.SessionInterface java.lang.Object int int int top long
      StackMap stack:
            aload 2 /* data */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            lconst_0
            lload 7 /* length */
            l2i
            invokeinterface org.hsqldb.types.ClobData.getSubString:(Lorg/hsqldb/SessionInterface;JI)Ljava/lang/String;
            astore 6 /* s */
        end local 7 // long length
        start local 6 // java.lang.String s
         7: .line 977
            goto 9
        end local 6 // java.lang.String s
         8: .line 978
      StackMap locals: org.hsqldb.types.CharacterType org.hsqldb.SessionInterface java.lang.Object int int int
      StackMap stack:
            aload 2 /* data */
            checkcast java.lang.String
            astore 6 /* s */
        start local 6 // java.lang.String s
         9: .line 981
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* s */
            invokevirtual java.lang.String.length:()I
            istore 7 /* endindex */
        start local 7 // int endindex
        10: .line 983
            iload 5 /* trailing */
            ifeq 15
        11: .line 984
            iinc 7 /* endindex */ -1
            goto 13
        12: .line 985
      StackMap locals: int
      StackMap stack:
            iinc 7 /* endindex */ -1
        13: .line 984
      StackMap locals:
      StackMap stack:
            iload 7 /* endindex */
            iflt 14
            aload 6 /* s */
            iload 7 /* endindex */
            invokevirtual java.lang.String.charAt:(I)C
            iload 3 /* trim */
            if_icmpeq 12
        14: .line 987
      StackMap locals:
      StackMap stack:
            iinc 7 /* endindex */ 1
        15: .line 990
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* startindex */
        start local 8 // int startindex
        16: .line 992
            iload 4 /* leading */
            ifeq 20
        17: .line 993
            goto 19
        18: .line 994
      StackMap locals: int
      StackMap stack:
            iinc 8 /* startindex */ 1
        19: .line 993
      StackMap locals:
      StackMap stack:
            iload 8 /* startindex */
            iload 7 /* endindex */
            if_icmpge 20
            aload 6 /* s */
            iload 8 /* startindex */
            invokevirtual java.lang.String.charAt:(I)C
            iload 3 /* trim */
            if_icmpeq 18
        20: .line 999
      StackMap locals:
      StackMap stack:
            iload 8 /* startindex */
            ifne 21
            iload 7 /* endindex */
            aload 6 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmpeq 22
        21: .line 1001
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            iload 8 /* startindex */
            iload 7 /* endindex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* s */
        22: .line 1004
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            bipush 40
            if_icmpne 26
        23: .line 1005
            aload 1 /* session */
            aload 6 /* s */
            invokevirtual java.lang.String.length:()I
            i2l
            invokeinterface org.hsqldb.SessionInterface.createClob:(J)Lorg/hsqldb/types/ClobDataID;
            astore 9 /* clob */
        start local 9 // org.hsqldb.types.ClobData clob
        24: .line 1007
            aload 9 /* clob */
            aload 1 /* session */
            lconst_0
            aload 6 /* s */
            invokeinterface org.hsqldb.types.ClobData.setString:(Lorg/hsqldb/SessionInterface;JLjava/lang/String;)V
        25: .line 1009
            aload 9 /* clob */
            areturn
        end local 9 // org.hsqldb.types.ClobData clob
        26: .line 1011
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            areturn
        end local 8 // int startindex
        end local 7 // int endindex
        end local 6 // java.lang.String s
        end local 5 // boolean trailing
        end local 4 // boolean leading
        end local 3 // char trim
        end local 2 // java.lang.Object data
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   27     0        this  Lorg/hsqldb/types/CharacterType;
            0   27     1     session  Lorg/hsqldb/SessionInterface;
            0   27     2        data  Ljava/lang/Object;
            0   27     3        trim  C
            0   27     4     leading  Z
            0   27     5    trailing  Z
            7    8     6           s  Ljava/lang/String;
            9   27     6           s  Ljava/lang/String;
            4    7     7      length  J
           10   27     7    endindex  I
           16   27     8  startindex  I
           24   26     9        clob  Lorg/hsqldb/types/ClobData;
    MethodParameters:
          Name  Flags
      session   
      data      
      trim      
      leading   
      trailing  

  public java.lang.Object overlay(org.hsqldb.SessionInterface, java.lang.Object, java.lang.Object, long, long, boolean);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;Ljava/lang/Object;JJZ)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=10, args_size=7
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object data
        start local 3 // java.lang.Object overlay
        start local 4 // long offset
        start local 6 // long length
        start local 8 // boolean hasLength
         0: .line 1019
            aload 2 /* data */
            ifnull 1
            aload 3 /* overlay */
            ifnonnull 2
         1: .line 1020
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 1023
      StackMap locals:
      StackMap stack:
            iload 8 /* hasLength */
            ifne 7
         3: .line 1024
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            bipush 40
            if_icmpne 5
         4: .line 1025
            aload 3 /* overlay */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.ClobData.length:(Lorg/hsqldb/SessionInterface;)J
            goto 6
         5: .line 1026
      StackMap locals:
      StackMap stack:
            aload 3 /* overlay */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            i2l
         6: .line 1024
      StackMap locals:
      StackMap stack: long
            lstore 6 /* length */
         7: .line 1029
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
         8: .line 1030
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* data */
            lconst_0
            lload 4 /* offset */
            iconst_1
            iconst_0
            invokevirtual org.hsqldb.types.CharacterType.substring:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;JJZZ)Ljava/lang/Object;
         9: .line 1031
            aload 3 /* overlay */
        10: .line 1029
            invokevirtual org.hsqldb.types.CharacterType.concat:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 9 /* temp */
        start local 9 // java.lang.Object temp
        11: .line 1033
            aload 0 /* this */
            aconst_null
            aload 9 /* temp */
        12: .line 1034
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* data */
            lload 4 /* offset */
            lload 6 /* length */
            ladd
            lconst_0
            iconst_0
        13: .line 1035
            iconst_0
        14: .line 1034
            invokevirtual org.hsqldb.types.CharacterType.substring:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;JJZZ)Ljava/lang/Object;
        15: .line 1033
            invokevirtual org.hsqldb.types.CharacterType.concat:(Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 9 // java.lang.Object temp
        end local 8 // boolean hasLength
        end local 6 // long length
        end local 4 // long offset
        end local 3 // java.lang.Object overlay
        end local 2 // java.lang.Object data
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/hsqldb/types/CharacterType;
            0   16     1    session  Lorg/hsqldb/SessionInterface;
            0   16     2       data  Ljava/lang/Object;
            0   16     3    overlay  Ljava/lang/Object;
            0   16     4     offset  J
            0   16     6     length  J
            0   16     8  hasLength  Z
           11   16     9       temp  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      session    
      data       
      overlay    
      offset     
      length     
      hasLength  

  public java.lang.Object concat(org.hsqldb.Session, java.lang.Object, java.lang.Object);
    descriptor: (Lorg/hsqldb/Session;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object a
        start local 3 // java.lang.Object b
         0: .line 1040
            aload 2 /* a */
            ifnull 1
            aload 3 /* b */
            ifnonnull 2
         1: .line 1041
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 1047
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            instanceof org.hsqldb.types.ClobData
            ifeq 7
         3: .line 1048
            aload 2 /* a */
            checkcast org.hsqldb.types.ClobData
         4: .line 1049
            aload 1 /* session */
            lconst_0
            aload 2 /* a */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.ClobData.length:(Lorg/hsqldb/SessionInterface;)J
            l2i
         5: .line 1048
            invokeinterface org.hsqldb.types.ClobData.getSubString:(Lorg/hsqldb/SessionInterface;JI)Ljava/lang/String;
            astore 4 /* left */
        start local 4 // java.lang.String left
         6: .line 1050
            goto 8
        end local 4 // java.lang.String left
         7: .line 1051
      StackMap locals:
      StackMap stack:
            aload 2 /* a */
            checkcast java.lang.String
            astore 4 /* left */
        start local 4 // java.lang.String left
         8: .line 1054
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* b */
            instanceof org.hsqldb.types.ClobData
            ifeq 13
         9: .line 1055
            aload 3 /* b */
            checkcast org.hsqldb.types.ClobData
        10: .line 1056
            aload 1 /* session */
            lconst_0
            aload 3 /* b */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.ClobData.length:(Lorg/hsqldb/SessionInterface;)J
            l2i
        11: .line 1055
            invokeinterface org.hsqldb.types.ClobData.getSubString:(Lorg/hsqldb/SessionInterface;JI)Ljava/lang/String;
            astore 5 /* right */
        start local 5 // java.lang.String right
        12: .line 1057
            goto 14
        end local 5 // java.lang.String right
        13: .line 1058
      StackMap locals:
      StackMap stack:
            aload 3 /* b */
            checkcast java.lang.String
            astore 5 /* right */
        start local 5 // java.lang.String right
        14: .line 1061
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            bipush 40
            if_icmpne 19
        15: .line 1062
            aload 1 /* session */
            aload 4 /* left */
            invokevirtual java.lang.String.length:()I
            aload 5 /* right */
            invokevirtual java.lang.String.length:()I
            iadd
            i2l
            invokevirtual org.hsqldb.Session.createClob:(J)Lorg/hsqldb/types/ClobDataID;
            astore 6 /* clob */
        start local 6 // org.hsqldb.types.ClobData clob
        16: .line 1064
            aload 6 /* clob */
            aload 1 /* session */
            lconst_0
            aload 4 /* left */
            invokeinterface org.hsqldb.types.ClobData.setString:(Lorg/hsqldb/SessionInterface;JLjava/lang/String;)V
        17: .line 1065
            aload 6 /* clob */
            aload 1 /* session */
            aload 4 /* left */
            invokevirtual java.lang.String.length:()I
            i2l
            aload 5 /* right */
            invokeinterface org.hsqldb.types.ClobData.setString:(Lorg/hsqldb/SessionInterface;JLjava/lang/String;)V
        18: .line 1067
            aload 6 /* clob */
            areturn
        end local 6 // org.hsqldb.types.ClobData clob
        19: .line 1069
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 4 /* left */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* right */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // java.lang.String right
        end local 4 // java.lang.String left
        end local 3 // java.lang.Object b
        end local 2 // java.lang.Object a
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lorg/hsqldb/types/CharacterType;
            0   20     1  session  Lorg/hsqldb/Session;
            0   20     2        a  Ljava/lang/Object;
            0   20     3        b  Ljava/lang/Object;
            6    7     4     left  Ljava/lang/String;
            8   20     4     left  Ljava/lang/String;
           12   13     5    right  Ljava/lang/String;
           14   20     5    right  Ljava/lang/String;
           16   19     6     clob  Lorg/hsqldb/types/ClobData;
    MethodParameters:
         Name  Flags
      session  
      a        
      b        

  public long size(org.hsqldb.SessionInterface, java.lang.Object);
    descriptor: (Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.SessionInterface session
        start local 2 // java.lang.Object data
         0: .line 1075
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            bipush 40
            if_icmpne 2
         1: .line 1076
            aload 2 /* data */
            checkcast org.hsqldb.types.ClobData
            aload 1 /* session */
            invokeinterface org.hsqldb.types.ClobData.length:(Lorg/hsqldb/SessionInterface;)J
            lreturn
         2: .line 1079
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            i2l
            lreturn
        end local 2 // java.lang.Object data
        end local 1 // org.hsqldb.SessionInterface session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/hsqldb/types/CharacterType;
            0    3     1  session  Lorg/hsqldb/SessionInterface;
            0    3     2     data  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      session  
      data     

  public java.lang.Boolean match(org.hsqldb.Session, java.lang.String, java.lang.String[]);
    descriptor: (Lorg/hsqldb/Session;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Boolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.String string
        start local 3 // java.lang.String[] array
         0: .line 1089
            aload 2 /* string */
            ifnull 1
            aload 3 /* array */
            ifnonnull 2
         1: .line 1090
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 1093
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* s */
        start local 4 // java.lang.String s
         3: .line 1094
            iconst_0
            istore 5 /* offset */
        start local 5 // int offset
         4: .line 1095
            iconst_1
            istore 6 /* match */
        start local 6 // boolean match
         5: .line 1097
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 27
         7: .line 1098
      StackMap locals: org.hsqldb.types.CharacterType org.hsqldb.Session java.lang.String java.lang.String[] java.lang.String int int int
      StackMap stack:
            aload 3 /* array */
            iload 7 /* i */
            aaload
            ifnonnull 11
         8: .line 1101
            iinc 5 /* offset */ 1
         9: .line 1103
            iconst_1
            istore 6 /* match */
        10: .line 1104
            goto 13
      StackMap locals:
      StackMap stack:
        11: aload 3 /* array */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            ifne 13
        12: .line 1107
            iconst_0
            istore 6 /* match */
        13: .line 1110
      StackMap locals:
      StackMap stack:
            iload 6 /* match */
            ifeq 21
        14: .line 1111
            iload 5 /* offset */
            aload 3 /* array */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            iadd
            aload 2 /* string */
            invokevirtual java.lang.String.length:()I
            if_icmple 16
        15: .line 1112
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            areturn
        16: .line 1115
      StackMap locals:
      StackMap stack:
            aload 2 /* string */
            iload 5 /* offset */
            iload 5 /* offset */
            aload 3 /* array */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* s */
        17: .line 1117
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
            aload 4 /* s */
            aload 3 /* array */
            iload 7 /* i */
            aaload
            invokevirtual org.hsqldb.types.Collation.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 19
        18: .line 1118
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            areturn
        19: .line 1121
      StackMap locals:
      StackMap stack:
            iload 5 /* offset */
            aload 3 /* array */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            iadd
            istore 5 /* offset */
        20: .line 1122
            goto 26
        21: .line 1123
      StackMap locals:
      StackMap stack:
            aload 2 /* string */
            aload 3 /* array */
            iload 7 /* i */
            aaload
            iload 5 /* offset */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 8 /* index */
        start local 8 // int index
        22: .line 1125
            iload 8 /* index */
            ifge 24
        23: .line 1126
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            areturn
        24: .line 1129
      StackMap locals: int
      StackMap stack:
            iload 8 /* index */
            aload 3 /* array */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            iadd
            istore 5 /* offset */
        25: .line 1130
            iconst_1
            istore 6 /* match */
        end local 8 // int index
        26: .line 1097
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 7 /* i */
            aload 3 /* array */
            arraylength
            if_icmplt 7
        end local 7 // int i
        28: .line 1134
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            areturn
        end local 6 // boolean match
        end local 5 // int offset
        end local 4 // java.lang.String s
        end local 3 // java.lang.String[] array
        end local 2 // java.lang.String string
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   29     0     this  Lorg/hsqldb/types/CharacterType;
            0   29     1  session  Lorg/hsqldb/Session;
            0   29     2   string  Ljava/lang/String;
            0   29     3    array  [Ljava/lang/String;
            3   29     4        s  Ljava/lang/String;
            4   29     5   offset  I
            5   29     6    match  Z
            6   28     7        i  I
           22   26     8    index  I
    MethodParameters:
         Name  Flags
      session  
      string   
      array    

  public org.hsqldb.types.Type getCharacterType(long);
    descriptor: (J)Lorg/hsqldb/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hsqldb.types.CharacterType this
        start local 1 // long length
         0: .line 1139
            lload 1 /* length */
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.precision:J
            lcmp
            ifne 2
         1: .line 1140
            aload 0 /* this */
            areturn
         2: .line 1143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.typeCode:I
            lload 1 /* length */
            aload 0 /* this */
            getfield org.hsqldb.types.CharacterType.collation:Lorg/hsqldb/types/Collation;
            invokestatic org.hsqldb.types.CharacterType.getCharacterType:(IJLorg/hsqldb/types/Collation;)Lorg/hsqldb/types/CharacterType;
            areturn
        end local 1 // long length
        end local 0 // org.hsqldb.types.CharacterType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hsqldb/types/CharacterType;
            0    3     1  length  J
    MethodParameters:
        Name  Flags
      length  

  public static int getRightTrimSize(java.lang.String, char);
    descriptor: (Ljava/lang/String;C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String s
        start local 1 // char trim
         0: .line 1148
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 2 /* endindex */
        start local 2 // int endindex
         1: .line 1150
            iinc 2 /* endindex */ -1
            goto 3
         2: .line 1151
      StackMap locals: int
      StackMap stack:
            iinc 2 /* endindex */ -1
         3: .line 1150
      StackMap locals:
      StackMap stack:
            iload 2 /* endindex */
            iflt 4
            aload 0 /* s */
            iload 2 /* endindex */
            invokevirtual java.lang.String.charAt:(I)C
            iload 1 /* trim */
            if_icmpeq 2
         4: .line 1153
      StackMap locals:
      StackMap stack:
            iinc 2 /* endindex */ 1
         5: .line 1155
            iload 2 /* endindex */
            ireturn
        end local 2 // int endindex
        end local 1 // char trim
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0         s  Ljava/lang/String;
            0    6     1      trim  C
            1    6     2  endindex  I
    MethodParameters:
      Name  Flags
      s     
      trim  

  public static org.hsqldb.types.CharacterType getCharacterType(int, long);
    descriptor: (IJ)Lorg/hsqldb/types/CharacterType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // int type
        start local 1 // long length
         0: .line 1169
            iload 0 /* type */
            lookupswitch { // 3
                    1: 1
                   12: 3
                   40: 4
              default: 5
          }
         1: .line 1172
      StackMap locals:
      StackMap stack:
            lload 1 /* length */
            ldc 32
            lcmp
            ifge 3
         2: .line 1173
            getstatic org.hsqldb.types.CharacterType.charArray:[Lorg/hsqldb/types/CharacterType;
            lload 1 /* length */
            l2i
            aaload
            areturn
         3: .line 1178
      StackMap locals:
      StackMap stack:
            new org.hsqldb.types.CharacterType
            dup
            iload 0 /* type */
            lload 1 /* length */
            l2i
            i2l
            invokespecial org.hsqldb.types.CharacterType.<init>:(IJ)V
            areturn
         4: .line 1181
      StackMap locals:
      StackMap stack:
            new org.hsqldb.types.ClobType
            dup
            lload 1 /* length */
            invokespecial org.hsqldb.types.ClobType.<init>:(J)V
            areturn
         5: .line 1184
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "CharacterType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // long length
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    type  I
            0    6     1  length  J
    MethodParameters:
        Name  Flags
      type    
      length  

  public static org.hsqldb.types.CharacterType getCharacterType(int, long, org.hsqldb.types.Collation);
    descriptor: (IJLorg/hsqldb/types/Collation;)Lorg/hsqldb/types/CharacterType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // int type
        start local 1 // long length
        start local 3 // org.hsqldb.types.Collation collation
         0: .line 1191
            aload 3 /* collation */
            ifnonnull 2
         1: .line 1192
            invokestatic org.hsqldb.types.Collation.getDefaultInstance:()Lorg/hsqldb/types/Collation;
            astore 3 /* collation */
         2: .line 1195
      StackMap locals:
      StackMap stack:
            iload 0 /* type */
            lookupswitch { // 3
                    1: 3
                   12: 3
                   40: 4
              default: 5
          }
         3: .line 1199
      StackMap locals:
      StackMap stack:
            new org.hsqldb.types.CharacterType
            dup
            aload 3 /* collation */
            iload 0 /* type */
            lload 1 /* length */
            l2i
            i2l
            invokespecial org.hsqldb.types.CharacterType.<init>:(Lorg/hsqldb/types/Collation;IJ)V
            areturn
         4: .line 1202
      StackMap locals:
      StackMap stack:
            new org.hsqldb.types.ClobType
            dup
            aload 3 /* collation */
            lload 1 /* length */
            invokespecial org.hsqldb.types.ClobType.<init>:(Lorg/hsqldb/types/Collation;J)V
            areturn
         5: .line 1205
      StackMap locals:
      StackMap stack:
            sipush 201
            ldc "CharacterType"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // org.hsqldb.types.Collation collation
        end local 1 // long length
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       type  I
            0    6     1     length  J
            0    6     3  collation  Lorg/hsqldb/types/Collation;
    MethodParameters:
           Name  Flags
      type       
      length     
      collation  
}
SourceFile: "CharacterType.java"