public class org.h2.value.DataType
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.value.DataType
  super_class: java.lang.Object
{
  public static final int TYPE_RESULT_SET;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -10

  public static final java.lang.Class<?> GEOMETRY_CLASS;
    descriptor: Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static final java.lang.String GEOMETRY_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.locationtech.jts.geom.Geometry"

  private static final java.util.ArrayList<org.h2.value.DataType> TYPES;
    descriptor: Ljava/util/ArrayList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/h2/value/DataType;>;

  private static final java.util.HashMap<java.lang.String, org.h2.value.DataType> TYPES_BY_NAME;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/value/DataType;>;

  static final org.h2.value.DataType[] TYPES_BY_VALUE_TYPE;
    descriptor: [Lorg/h2/value/DataType;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  public int type;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public int sqlType;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int sqlTypePos;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public long maxPrecision;
    descriptor: J
    flags: (0x0001) ACC_PUBLIC

  public int minScale;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int maxScale;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public boolean decimal;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String prefix;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String suffix;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String params;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public boolean autoIncrement;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean caseSensitive;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean supportsPrecision;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean supportsScale;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public long defaultPrecision;
    descriptor: J
    flags: (0x0001) ACC_PUBLIC

  public int defaultScale;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public boolean hidden;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=3, args_size=0
         0: .line 71
            new java.util.ArrayList
            dup
            bipush 96
            invokespecial java.util.ArrayList.<init>:(I)V
            putstatic org.h2.value.DataType.TYPES:Ljava/util/ArrayList;
         1: .line 72
            new java.util.HashMap
            dup
            sipush 128
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic org.h2.value.DataType.TYPES_BY_NAME:Ljava/util/HashMap;
         2: .line 76
            bipush 40
            anewarray org.h2.value.DataType
            putstatic org.h2.value.DataType.TYPES_BY_VALUE_TYPE:[Lorg/h2/value/DataType;
         3: .line 172
            ldc "org.locationtech.jts.geom.Geometry"
            invokestatic org.h2.util.JdbcUtils.loadUserClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 0 /* g */
        start local 0 // java.lang.Class g
         4: .line 173
            goto 7
        end local 0 // java.lang.Class g
      StackMap locals:
      StackMap stack: java.lang.Exception
         5: pop
         6: .line 175
            aconst_null
            astore 0 /* g */
        start local 0 // java.lang.Class g
         7: .line 177
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* g */
            putstatic org.h2.value.DataType.GEOMETRY_CLASS:Ljava/lang/Class;
         8: .line 179
            new org.h2.value.DataType
            dup
            invokespecial org.h2.value.DataType.<init>:()V
            astore 1 /* dataType */
        start local 1 // org.h2.value.DataType dataType
         9: .line 180
            aload 1 /* dataType */
            aload 1 /* dataType */
            lconst_1
            dup2_x1
            putfield org.h2.value.DataType.maxPrecision:J
            putfield org.h2.value.DataType.defaultPrecision:J
        10: .line 181
            iconst_0
            iconst_0
        11: .line 182
            aload 1 /* dataType */
        12: .line 183
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "NULL"
            aastore
        13: .line 181
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        14: .line 185
            bipush 13
            bipush 12
        15: .line 186
            iconst_1
            invokestatic org.h2.value.DataType.createString:(Z)Lorg/h2/value/DataType;
        16: .line 187
            bipush 7
            anewarray java.lang.String
            dup
            iconst_0
            ldc "VARCHAR"
            aastore
            dup
            iconst_1
            ldc "CHARACTER VARYING"
            aastore
            dup
            iconst_2
            ldc "VARCHAR2"
            aastore
            dup
            iconst_3
            ldc "NVARCHAR"
            aastore
            dup
            iconst_4
            ldc "NVARCHAR2"
            aastore
            dup
            iconst_5
        17: .line 188
            ldc "VARCHAR_CASESENSITIVE"
            aastore
            dup
            bipush 6
            ldc "TID"
            aastore
        18: .line 185
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        19: .line 190
            bipush 13
            iconst_m1
        20: .line 191
            iconst_1
            invokestatic org.h2.value.DataType.createString:(Z)Lorg/h2/value/DataType;
        21: .line 192
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "LONGVARCHAR"
            aastore
            dup
            iconst_1
            ldc "LONGNVARCHAR"
            aastore
        22: .line 190
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        23: .line 194
            bipush 21
            iconst_1
        24: .line 195
            iconst_1
            invokestatic org.h2.value.DataType.createString:(Z)Lorg/h2/value/DataType;
        25: .line 196
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "CHAR"
            aastore
            dup
            iconst_1
            ldc "CHARACTER"
            aastore
            dup
            iconst_2
            ldc "NCHAR"
            aastore
        26: .line 194
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        27: .line 198
            bipush 14
            bipush 12
        28: .line 199
            iconst_0
            invokestatic org.h2.value.DataType.createString:(Z)Lorg/h2/value/DataType;
        29: .line 200
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "VARCHAR_IGNORECASE"
            aastore
        30: .line 198
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        31: .line 202
            iconst_1
            bipush 16
        32: .line 203
            iconst_1
            iconst_0
            iconst_0
            invokestatic org.h2.value.DataType.createNumeric:(IIZ)Lorg/h2/value/DataType;
        33: .line 204
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "BOOLEAN"
            aastore
            dup
            iconst_1
            ldc "BIT"
            aastore
            dup
            iconst_2
            ldc "BOOL"
            aastore
        34: .line 202
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        35: .line 206
            iconst_2
            bipush -6
        36: .line 207
            iconst_3
            iconst_0
            iconst_0
            invokestatic org.h2.value.DataType.createNumeric:(IIZ)Lorg/h2/value/DataType;
        37: .line 208
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "TINYINT"
            aastore
        38: .line 206
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        39: .line 210
            iconst_3
            iconst_5
        40: .line 211
            iconst_5
            iconst_0
            iconst_0
            invokestatic org.h2.value.DataType.createNumeric:(IIZ)Lorg/h2/value/DataType;
        41: .line 212
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "SMALLINT"
            aastore
            dup
            iconst_1
            ldc "YEAR"
            aastore
            dup
            iconst_2
            ldc "INT2"
            aastore
        42: .line 210
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        43: .line 214
            iconst_4
            iconst_4
        44: .line 215
            bipush 10
            iconst_0
            iconst_0
            invokestatic org.h2.value.DataType.createNumeric:(IIZ)Lorg/h2/value/DataType;
        45: .line 216
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
            ldc "INTEGER"
            aastore
            dup
            iconst_1
            ldc "INT"
            aastore
            dup
            iconst_2
            ldc "MEDIUMINT"
            aastore
            dup
            iconst_3
            ldc "INT4"
            aastore
            dup
            iconst_4
            ldc "SIGNED"
            aastore
        46: .line 214
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        47: .line 218
            iconst_4
            iconst_4
        48: .line 219
            bipush 10
            iconst_0
            iconst_1
            invokestatic org.h2.value.DataType.createNumeric:(IIZ)Lorg/h2/value/DataType;
        49: .line 220
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "SERIAL"
            aastore
        50: .line 218
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        51: .line 222
            iconst_5
            bipush -5
        52: .line 223
            bipush 19
            iconst_0
            iconst_0
            invokestatic org.h2.value.DataType.createNumeric:(IIZ)Lorg/h2/value/DataType;
        53: .line 224
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "BIGINT"
            aastore
            dup
            iconst_1
            ldc "INT8"
            aastore
            dup
            iconst_2
            ldc "LONG"
            aastore
        54: .line 222
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        55: .line 226
            iconst_5
            bipush -5
        56: .line 227
            bipush 19
            iconst_0
            iconst_1
            invokestatic org.h2.value.DataType.createNumeric:(IIZ)Lorg/h2/value/DataType;
        57: .line 228
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "IDENTITY"
            aastore
            dup
            iconst_1
            ldc "BIGSERIAL"
            aastore
        58: .line 226
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        59: .line 230
            getstatic org.h2.engine.SysProperties.BIG_DECIMAL_IS_DECIMAL:Z
            ifeq 63
        60: .line 231
            invokestatic org.h2.value.DataType.addDecimal:()V
        61: .line 232
            invokestatic org.h2.value.DataType.addNumeric:()V
        62: .line 233
            goto 65
        63: .line 234
      StackMap locals: org.h2.value.DataType
      StackMap stack:
            invokestatic org.h2.value.DataType.addNumeric:()V
        64: .line 235
            invokestatic org.h2.value.DataType.addDecimal:()V
        65: .line 237
      StackMap locals:
      StackMap stack:
            bipush 8
            bipush 7
        66: .line 238
            bipush 7
            iconst_0
            iconst_0
            invokestatic org.h2.value.DataType.createNumeric:(IIZ)Lorg/h2/value/DataType;
        67: .line 239
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "REAL"
            aastore
            dup
            iconst_1
            ldc "FLOAT4"
            aastore
        68: .line 237
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        69: .line 241
            bipush 7
            bipush 8
        70: .line 242
            bipush 17
            iconst_0
            iconst_0
            invokestatic org.h2.value.DataType.createNumeric:(IIZ)Lorg/h2/value/DataType;
        71: .line 243
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DOUBLE"
            aastore
            dup
            iconst_1
            ldc "DOUBLE PRECISION"
            aastore
        72: .line 241
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        73: .line 245
            bipush 7
            bipush 6
        74: .line 246
            bipush 17
            iconst_0
            iconst_0
            invokestatic org.h2.value.DataType.createNumeric:(IIZ)Lorg/h2/value/DataType;
        75: .line 247
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "FLOAT"
            aastore
            dup
            iconst_1
            ldc "FLOAT8"
            aastore
        76: .line 245
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        77: .line 249
            bipush 9
            bipush 92
        78: .line 250
            bipush 18
            bipush 8
        79: .line 251
            ldc "TIME"
            iconst_1
            iconst_0
            bipush 9
        80: .line 250
            invokestatic org.h2.value.DataType.createDate:(IILjava/lang/String;ZII)Lorg/h2/value/DataType;
        81: .line 252
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "TIME"
            aastore
            dup
            iconst_1
            ldc "TIME WITHOUT TIME ZONE"
            aastore
        82: .line 249
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        83: .line 254
            bipush 10
            bipush 91
        84: .line 255
            bipush 10
            bipush 10
        85: .line 256
            ldc "DATE"
            iconst_0
            iconst_0
            iconst_0
        86: .line 255
            invokestatic org.h2.value.DataType.createDate:(IILjava/lang/String;ZII)Lorg/h2/value/DataType;
        87: .line 257
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DATE"
            aastore
        88: .line 254
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        89: .line 259
            bipush 11
            bipush 93
        90: .line 260
            bipush 29
            bipush 26
        91: .line 261
            ldc "TIMESTAMP"
            iconst_1
            bipush 6
            bipush 9
        92: .line 260
            invokestatic org.h2.value.DataType.createDate:(IILjava/lang/String;ZII)Lorg/h2/value/DataType;
        93: .line 262
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
            ldc "TIMESTAMP"
            aastore
            dup
            iconst_1
            ldc "TIMESTAMP WITHOUT TIME ZONE"
            aastore
            dup
            iconst_2
        94: .line 263
            ldc "DATETIME"
            aastore
            dup
            iconst_3
            ldc "DATETIME2"
            aastore
            dup
            iconst_4
            ldc "SMALLDATETIME"
            aastore
        95: .line 259
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        96: .line 269
            bipush 24
            sipush 2014
        97: .line 270
            bipush 35
            bipush 32
        98: .line 271
            ldc "TIMESTAMP_TZ"
            iconst_1
            bipush 6
        99: .line 272
            bipush 9
       100: .line 270
            invokestatic org.h2.value.DataType.createDate:(IILjava/lang/String;ZII)Lorg/h2/value/DataType;
       101: .line 273
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "TIMESTAMP WITH TIME ZONE"
            aastore
       102: .line 269
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
       103: .line 275
            bipush 12
            bipush -3
       104: .line 276
            iconst_0
            invokestatic org.h2.value.DataType.createString:(Z)Lorg/h2/value/DataType;
       105: .line 277
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "VARBINARY"
            aastore
            dup
            iconst_1
            ldc "BINARY VARYING"
            aastore
       106: .line 275
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
       107: .line 279
            bipush 12
            bipush -2
       108: .line 280
            iconst_0
            invokestatic org.h2.value.DataType.createString:(Z)Lorg/h2/value/DataType;
       109: .line 281
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "BINARY"
            aastore
            dup
            iconst_1
            ldc "RAW"
            aastore
            dup
            iconst_2
            ldc "BYTEA"
            aastore
            dup
            iconst_3
            ldc "LONG RAW"
            aastore
       110: .line 279
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
       111: .line 283
            bipush 12
            bipush -4
       112: .line 284
            iconst_0
            invokestatic org.h2.value.DataType.createString:(Z)Lorg/h2/value/DataType;
       113: .line 285
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "LONGVARBINARY"
            aastore
       114: .line 283
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
       115: .line 287
            new org.h2.value.DataType
            dup
            invokespecial org.h2.value.DataType.<init>:()V
            astore 1 /* dataType */
       116: .line 288
            aload 1 /* dataType */
            aload 1 /* dataType */
            ldc "'"
            dup_x1
            putfield org.h2.value.DataType.suffix:Ljava/lang/String;
            putfield org.h2.value.DataType.prefix:Ljava/lang/String;
       117: .line 289
            aload 1 /* dataType */
            aload 1 /* dataType */
            ldc 16
            dup2_x1
            putfield org.h2.value.DataType.maxPrecision:J
            putfield org.h2.value.DataType.defaultPrecision:J
       118: .line 290
            bipush 20
            bipush -2
       119: .line 291
            iconst_0
            invokestatic org.h2.value.DataType.createString:(Z)Lorg/h2/value/DataType;
       120: .line 293
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "UUID"
            aastore
            dup
            iconst_1
            ldc "UNIQUEIDENTIFIER"
            aastore
       121: .line 290
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
       122: .line 295
            bipush 19
            sipush 1111
       123: .line 296
            iconst_0
            invokestatic org.h2.value.DataType.createString:(Z)Lorg/h2/value/DataType;
       124: .line 297
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "OTHER"
            aastore
            dup
            iconst_1
            ldc "OBJECT"
            aastore
            dup
            iconst_2
            ldc "JAVA_OBJECT"
            aastore
       125: .line 295
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
       126: .line 299
            bipush 15
            sipush 2004
       127: .line 300
            invokestatic org.h2.value.DataType.createLob:()Lorg/h2/value/DataType;
       128: .line 301
            bipush 7
            anewarray java.lang.String
            dup
            iconst_0
            ldc "BLOB"
            aastore
            dup
            iconst_1
            ldc "BINARY LARGE OBJECT"
            aastore
            dup
            iconst_2
            ldc "TINYBLOB"
            aastore
            dup
            iconst_3
            ldc "MEDIUMBLOB"
            aastore
            dup
            iconst_4
       129: .line 302
            ldc "LONGBLOB"
            aastore
            dup
            iconst_5
            ldc "IMAGE"
            aastore
            dup
            bipush 6
            ldc "OID"
            aastore
       130: .line 299
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
       131: .line 304
            bipush 16
            sipush 2005
       132: .line 305
            invokestatic org.h2.value.DataType.createLob:()Lorg/h2/value/DataType;
       133: .line 306
            bipush 8
            anewarray java.lang.String
            dup
            iconst_0
            ldc "CLOB"
            aastore
            dup
            iconst_1
            ldc "CHARACTER LARGE OBJECT"
            aastore
            dup
            iconst_2
            ldc "TINYTEXT"
            aastore
            dup
            iconst_3
            ldc "TEXT"
            aastore
            dup
            iconst_4
            ldc "MEDIUMTEXT"
            aastore
            dup
            iconst_5
       134: .line 307
            ldc "LONGTEXT"
            aastore
            dup
            bipush 6
            ldc "NTEXT"
            aastore
            dup
            bipush 7
            ldc "NCLOB"
            aastore
       135: .line 304
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
       136: .line 309
            bipush 22
            sipush 1111
       137: .line 310
            invokestatic org.h2.value.DataType.createGeometry:()Lorg/h2/value/DataType;
       138: .line 311
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "GEOMETRY"
            aastore
       139: .line 309
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
       140: .line 313
            new org.h2.value.DataType
            dup
            invokespecial org.h2.value.DataType.<init>:()V
            astore 1 /* dataType */
       141: .line 314
            aload 1 /* dataType */
            ldc "ARRAY["
            putfield org.h2.value.DataType.prefix:Ljava/lang/String;
       142: .line 315
            aload 1 /* dataType */
            ldc "]"
            putfield org.h2.value.DataType.suffix:Ljava/lang/String;
       143: .line 316
            bipush 17
            sipush 2003
       144: .line 317
            aload 1 /* dataType */
       145: .line 318
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ARRAY"
            aastore
       146: .line 316
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
       147: .line 320
            new org.h2.value.DataType
            dup
            invokespecial org.h2.value.DataType.<init>:()V
            astore 1 /* dataType */
       148: .line 321
            aload 1 /* dataType */
            aload 1 /* dataType */
            ldc 2147483647
            dup2_x1
            putfield org.h2.value.DataType.defaultPrecision:J
            putfield org.h2.value.DataType.maxPrecision:J
       149: .line 322
            bipush 18
            bipush -10
       150: .line 323
            aload 1 /* dataType */
       151: .line 324
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "RESULT_SET"
            aastore
       152: .line 322
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
       153: .line 326
            iconst_0
            invokestatic org.h2.value.DataType.createString:(Z)Lorg/h2/value/DataType;
            astore 1 /* dataType */
       154: .line 327
            aload 1 /* dataType */
            iconst_0
            putfield org.h2.value.DataType.supportsPrecision:Z
       155: .line 328
            aload 1 /* dataType */
            iconst_0
            putfield org.h2.value.DataType.supportsScale:Z
       156: .line 329
            bipush 25
            sipush 1111
       157: .line 330
            aload 1 /* dataType */
       158: .line 331
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "ENUM"
            aastore
       159: .line 329
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
       160: .line 333
            bipush 26
            istore 2 /* i */
        start local 2 // int i
       161: goto 164
       162: .line 334
      StackMap locals: int
      StackMap stack:
            iload 2 /* i */
            invokestatic org.h2.value.DataType.addInterval:(I)V
       163: .line 333
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
       164: iload 2 /* i */
            bipush 38
            if_icmple 162
        end local 2 // int i
       165: .line 337
            new org.h2.value.DataType
            dup
            invokespecial org.h2.value.DataType.<init>:()V
            astore 1 /* dataType */
       166: .line 338
            aload 1 /* dataType */
            bipush 39
            putfield org.h2.value.DataType.type:I
       167: .line 339
            aload 1 /* dataType */
            ldc "ROW"
            putfield org.h2.value.DataType.name:Ljava/lang/String;
       168: .line 340
            aload 1 /* dataType */
            sipush 1111
            putfield org.h2.value.DataType.sqlType:I
       169: .line 341
            aload 1 /* dataType */
            ldc "ROW("
            putfield org.h2.value.DataType.prefix:Ljava/lang/String;
       170: .line 342
            aload 1 /* dataType */
            ldc ")"
            putfield org.h2.value.DataType.suffix:Ljava/lang/String;
       171: .line 343
            getstatic org.h2.value.DataType.TYPES_BY_VALUE_TYPE:[Lorg/h2/value/DataType;
            bipush 39
            aload 1 /* dataType */
            aastore
        end local 1 // org.h2.value.DataType dataType
        end local 0 // java.lang.Class g
       172: .line 344
            return
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            4    5     0         g  Ljava/lang/Class<*>;
            7  172     0         g  Ljava/lang/Class<*>;
            9  172     1  dataType  Lorg/h2/value/DataType;
          161  165     2         i  I
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Exception

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.DataType this
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.h2.value.DataType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/DataType;

  private static void addDecimal();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 347
            bipush 6
            iconst_3
         1: .line 348
            ldc 2147483647
            ldc 65535
            sipush 32767
            invokestatic org.h2.value.DataType.createNumeric:(III)Lorg/h2/value/DataType;
         2: .line 349
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DECIMAL"
            aastore
            dup
            iconst_1
            ldc "DEC"
            aastore
         3: .line 347
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
         4: .line 351
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void addNumeric();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 354
            bipush 6
            iconst_2
         1: .line 355
            ldc 2147483647
            ldc 65535
            sipush 32767
            invokestatic org.h2.value.DataType.createNumeric:(III)Lorg/h2/value/DataType;
         2: .line 356
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "NUMERIC"
            aastore
            dup
            iconst_1
            ldc "NUMBER"
            aastore
         3: .line 354
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
         4: .line 358
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void addInterval(int);
    descriptor: (I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=4, args_size=1
        start local 0 // int type
         0: .line 361
            iload 0 /* type */
            bipush 26
            isub
            invokestatic org.h2.api.IntervalQualifier.valueOf:(I)Lorg/h2/api/IntervalQualifier;
            astore 1 /* qualifier */
        start local 1 // org.h2.api.IntervalQualifier qualifier
         1: .line 362
            aload 1 /* qualifier */
            invokevirtual org.h2.api.IntervalQualifier.toString:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         2: .line 363
            new org.h2.value.DataType
            dup
            invokespecial org.h2.value.DataType.<init>:()V
            astore 3 /* dataType */
        start local 3 // org.h2.value.DataType dataType
         3: .line 364
            aload 3 /* dataType */
            ldc "INTERVAL "
            putfield org.h2.value.DataType.prefix:Ljava/lang/String;
         4: .line 365
            aload 3 /* dataType */
            new java.lang.StringBuilder
            dup
            bipush 32
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.h2.value.DataType.suffix:Ljava/lang/String;
         5: .line 366
            aload 3 /* dataType */
            iconst_1
            putfield org.h2.value.DataType.supportsPrecision:Z
         6: .line 367
            aload 3 /* dataType */
            ldc 2
            putfield org.h2.value.DataType.defaultPrecision:J
         7: .line 368
            aload 3 /* dataType */
            ldc 18
            putfield org.h2.value.DataType.maxPrecision:J
         8: .line 369
            aload 1 /* qualifier */
            invokevirtual org.h2.api.IntervalQualifier.hasSeconds:()Z
            ifeq 14
         9: .line 370
            aload 3 /* dataType */
            iconst_1
            putfield org.h2.value.DataType.supportsScale:Z
        10: .line 371
            aload 3 /* dataType */
            bipush 6
            putfield org.h2.value.DataType.defaultScale:I
        11: .line 372
            aload 3 /* dataType */
            bipush 9
            putfield org.h2.value.DataType.maxScale:I
        12: .line 373
            aload 3 /* dataType */
            ldc "PRECISION,SCALE"
            putfield org.h2.value.DataType.params:Ljava/lang/String;
        13: .line 374
            goto 15
        14: .line 375
      StackMap locals: org.h2.api.IntervalQualifier java.lang.String org.h2.value.DataType
      StackMap stack:
            aload 3 /* dataType */
            ldc "PRECISION"
            putfield org.h2.value.DataType.params:Ljava/lang/String;
        15: .line 377
      StackMap locals:
      StackMap stack:
            iload 0 /* type */
            sipush 1111
            aload 3 /* dataType */
        16: .line 378
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "INTERVAL "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            aastore
        17: .line 377
            invokestatic org.h2.value.DataType.add:(IILorg/h2/value/DataType;[Ljava/lang/String;)V
        18: .line 380
            return
        end local 3 // org.h2.value.DataType dataType
        end local 2 // java.lang.String name
        end local 1 // org.h2.api.IntervalQualifier qualifier
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       type  I
            1   19     1  qualifier  Lorg/h2/api/IntervalQualifier;
            2   19     2       name  Ljava/lang/String;
            3   19     3   dataType  Lorg/h2/value/DataType;
    MethodParameters:
      Name  Flags
      type  

  private static void add(int, int, org.h2.value.DataType, java.lang.String[]);
    descriptor: (IILorg/h2/value/DataType;[Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // int type
        start local 1 // int sqlType
        start local 2 // org.h2.value.DataType dataType
        start local 3 // java.lang.String[] names
         0: .line 384
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 32
         2: .line 385
      StackMap locals: int
      StackMap stack:
            new org.h2.value.DataType
            dup
            invokespecial org.h2.value.DataType.<init>:()V
            astore 5 /* dt */
        start local 5 // org.h2.value.DataType dt
         3: .line 386
            aload 5 /* dt */
            iload 0 /* type */
            putfield org.h2.value.DataType.type:I
         4: .line 387
            aload 5 /* dt */
            iload 1 /* sqlType */
            putfield org.h2.value.DataType.sqlType:I
         5: .line 388
            aload 5 /* dt */
            aload 3 /* names */
            iload 4 /* i */
            aaload
            putfield org.h2.value.DataType.name:Ljava/lang/String;
         6: .line 389
            aload 5 /* dt */
            aload 2 /* dataType */
            getfield org.h2.value.DataType.autoIncrement:Z
            putfield org.h2.value.DataType.autoIncrement:Z
         7: .line 390
            aload 5 /* dt */
            aload 2 /* dataType */
            getfield org.h2.value.DataType.decimal:Z
            putfield org.h2.value.DataType.decimal:Z
         8: .line 391
            aload 5 /* dt */
            aload 2 /* dataType */
            getfield org.h2.value.DataType.maxPrecision:J
            putfield org.h2.value.DataType.maxPrecision:J
         9: .line 392
            aload 5 /* dt */
            aload 2 /* dataType */
            getfield org.h2.value.DataType.maxScale:I
            putfield org.h2.value.DataType.maxScale:I
        10: .line 393
            aload 5 /* dt */
            aload 2 /* dataType */
            getfield org.h2.value.DataType.minScale:I
            putfield org.h2.value.DataType.minScale:I
        11: .line 394
            aload 5 /* dt */
            aload 2 /* dataType */
            getfield org.h2.value.DataType.params:Ljava/lang/String;
            putfield org.h2.value.DataType.params:Ljava/lang/String;
        12: .line 395
            aload 5 /* dt */
            aload 2 /* dataType */
            getfield org.h2.value.DataType.prefix:Ljava/lang/String;
            putfield org.h2.value.DataType.prefix:Ljava/lang/String;
        13: .line 396
            aload 5 /* dt */
            aload 2 /* dataType */
            getfield org.h2.value.DataType.suffix:Ljava/lang/String;
            putfield org.h2.value.DataType.suffix:Ljava/lang/String;
        14: .line 397
            aload 5 /* dt */
            aload 2 /* dataType */
            getfield org.h2.value.DataType.supportsPrecision:Z
            putfield org.h2.value.DataType.supportsPrecision:Z
        15: .line 398
            aload 5 /* dt */
            aload 2 /* dataType */
            getfield org.h2.value.DataType.supportsScale:Z
            putfield org.h2.value.DataType.supportsScale:Z
        16: .line 399
            aload 5 /* dt */
            aload 2 /* dataType */
            getfield org.h2.value.DataType.defaultPrecision:J
            putfield org.h2.value.DataType.defaultPrecision:J
        17: .line 400
            aload 5 /* dt */
            aload 2 /* dataType */
            getfield org.h2.value.DataType.defaultScale:I
            putfield org.h2.value.DataType.defaultScale:I
        18: .line 401
            aload 5 /* dt */
            aload 2 /* dataType */
            getfield org.h2.value.DataType.caseSensitive:Z
            putfield org.h2.value.DataType.caseSensitive:Z
        19: .line 402
            aload 5 /* dt */
            iload 4 /* i */
            ifle 20
            iconst_1
            goto 21
      StackMap locals: int int org.h2.value.DataType java.lang.String[] int org.h2.value.DataType
      StackMap stack: org.h2.value.DataType
        20: iconst_0
      StackMap locals: int int org.h2.value.DataType java.lang.String[] int org.h2.value.DataType
      StackMap stack: org.h2.value.DataType int
        21: putfield org.h2.value.DataType.hidden:Z
        22: .line 403
            getstatic org.h2.value.DataType.TYPES:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 7
            goto 26
      StackMap locals: int int org.h2.value.DataType java.lang.String[] int org.h2.value.DataType top java.util.Iterator
      StackMap stack:
        23: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.value.DataType
            astore 6 /* t2 */
        start local 6 // org.h2.value.DataType t2
        24: .line 404
            aload 6 /* t2 */
            getfield org.h2.value.DataType.sqlType:I
            aload 5 /* dt */
            getfield org.h2.value.DataType.sqlType:I
            if_icmpne 26
        25: .line 405
            aload 5 /* dt */
            dup
            getfield org.h2.value.DataType.sqlTypePos:I
            iconst_1
            iadd
            putfield org.h2.value.DataType.sqlTypePos:I
        end local 6 // org.h2.value.DataType t2
        26: .line 403
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        27: .line 408
            getstatic org.h2.value.DataType.TYPES_BY_NAME:Ljava/util/HashMap;
            aload 5 /* dt */
            getfield org.h2.value.DataType.name:Ljava/lang/String;
            aload 5 /* dt */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 409
            getstatic org.h2.value.DataType.TYPES_BY_VALUE_TYPE:[Lorg/h2/value/DataType;
            iload 0 /* type */
            aaload
            ifnonnull 30
        29: .line 410
            getstatic org.h2.value.DataType.TYPES_BY_VALUE_TYPE:[Lorg/h2/value/DataType;
            iload 0 /* type */
            aload 5 /* dt */
            aastore
        30: .line 412
      StackMap locals: int int org.h2.value.DataType java.lang.String[] int org.h2.value.DataType
      StackMap stack:
            getstatic org.h2.value.DataType.TYPES:Ljava/util/ArrayList;
            aload 5 /* dt */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.h2.value.DataType dt
        31: .line 384
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 4 /* i */
            aload 3 /* names */
            arraylength
            if_icmplt 2
        end local 4 // int i
        33: .line 414
            return
        end local 3 // java.lang.String[] names
        end local 2 // org.h2.value.DataType dataType
        end local 1 // int sqlType
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   34     0      type  I
            0   34     1   sqlType  I
            0   34     2  dataType  Lorg/h2/value/DataType;
            0   34     3     names  [Ljava/lang/String;
            1   33     4         i  I
            3   31     5        dt  Lorg/h2/value/DataType;
           24   26     6        t2  Lorg/h2/value/DataType;
    MethodParameters:
          Name  Flags
      type      
      sqlType   
      dataType  
      names     

  public static org.h2.value.DataType createNumeric(int, int, boolean);
    descriptor: (IIZ)Lorg/h2/value/DataType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // int precision
        start local 1 // int scale
        start local 2 // boolean autoInc
         0: .line 425
            new org.h2.value.DataType
            dup
            invokespecial org.h2.value.DataType.<init>:()V
            astore 3 /* dataType */
        start local 3 // org.h2.value.DataType dataType
         1: .line 426
            aload 3 /* dataType */
            aload 3 /* dataType */
            iload 0 /* precision */
            i2l
            dup2_x1
            putfield org.h2.value.DataType.maxPrecision:J
            putfield org.h2.value.DataType.defaultPrecision:J
         2: .line 427
            aload 3 /* dataType */
            aload 3 /* dataType */
            aload 3 /* dataType */
            iload 1 /* scale */
            dup_x1
            putfield org.h2.value.DataType.minScale:I
            dup_x1
            putfield org.h2.value.DataType.maxScale:I
            putfield org.h2.value.DataType.defaultScale:I
         3: .line 428
            aload 3 /* dataType */
            iconst_1
            putfield org.h2.value.DataType.decimal:Z
         4: .line 429
            aload 3 /* dataType */
            iload 2 /* autoInc */
            putfield org.h2.value.DataType.autoIncrement:Z
         5: .line 430
            aload 3 /* dataType */
            areturn
        end local 3 // org.h2.value.DataType dataType
        end local 2 // boolean autoInc
        end local 1 // int scale
        end local 0 // int precision
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  precision  I
            0    6     1      scale  I
            0    6     2    autoInc  Z
            1    6     3   dataType  Lorg/h2/value/DataType;
    MethodParameters:
           Name  Flags
      precision  
      scale      
      autoInc    

  public static org.h2.value.DataType createNumeric(int, int, int);
    descriptor: (III)Lorg/h2/value/DataType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // int maxPrecision
        start local 1 // int defaultPrecision
        start local 2 // int defaultScale
         0: .line 442
            new org.h2.value.DataType
            dup
            invokespecial org.h2.value.DataType.<init>:()V
            astore 3 /* dataType */
        start local 3 // org.h2.value.DataType dataType
         1: .line 443
            aload 3 /* dataType */
            iload 0 /* maxPrecision */
            i2l
            putfield org.h2.value.DataType.maxPrecision:J
         2: .line 444
            aload 3 /* dataType */
            iload 1 /* defaultPrecision */
            i2l
            putfield org.h2.value.DataType.defaultPrecision:J
         3: .line 445
            aload 3 /* dataType */
            iload 2 /* defaultScale */
            putfield org.h2.value.DataType.defaultScale:I
         4: .line 446
            aload 3 /* dataType */
            ldc "PRECISION,SCALE"
            putfield org.h2.value.DataType.params:Ljava/lang/String;
         5: .line 447
            aload 3 /* dataType */
            iconst_1
            putfield org.h2.value.DataType.supportsPrecision:Z
         6: .line 448
            aload 3 /* dataType */
            iconst_1
            putfield org.h2.value.DataType.supportsScale:Z
         7: .line 449
            aload 3 /* dataType */
            iload 0 /* maxPrecision */
            putfield org.h2.value.DataType.maxScale:I
         8: .line 450
            aload 3 /* dataType */
            iconst_1
            putfield org.h2.value.DataType.decimal:Z
         9: .line 451
            aload 3 /* dataType */
            areturn
        end local 3 // org.h2.value.DataType dataType
        end local 2 // int defaultScale
        end local 1 // int defaultPrecision
        end local 0 // int maxPrecision
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0      maxPrecision  I
            0   10     1  defaultPrecision  I
            0   10     2      defaultScale  I
            1   10     3          dataType  Lorg/h2/value/DataType;
    MethodParameters:
                  Name  Flags
      maxPrecision      
      defaultPrecision  
      defaultScale      

  public static org.h2.value.DataType createDate(int, int, java.lang.String, boolean, int, int);
    descriptor: (IILjava/lang/String;ZII)Lorg/h2/value/DataType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // int maxPrecision
        start local 1 // int precision
        start local 2 // java.lang.String prefix
        start local 3 // boolean supportsScale
        start local 4 // int scale
        start local 5 // int maxScale
         0: .line 467
            new org.h2.value.DataType
            dup
            invokespecial org.h2.value.DataType.<init>:()V
            astore 6 /* dataType */
        start local 6 // org.h2.value.DataType dataType
         1: .line 468
            aload 6 /* dataType */
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.h2.value.DataType.prefix:Ljava/lang/String;
         2: .line 469
            aload 6 /* dataType */
            ldc "'"
            putfield org.h2.value.DataType.suffix:Ljava/lang/String;
         3: .line 470
            aload 6 /* dataType */
            iload 0 /* maxPrecision */
            i2l
            putfield org.h2.value.DataType.maxPrecision:J
         4: .line 471
            aload 6 /* dataType */
            iload 1 /* precision */
            i2l
            putfield org.h2.value.DataType.defaultPrecision:J
         5: .line 472
            iload 3 /* supportsScale */
            ifeq 10
         6: .line 473
            aload 6 /* dataType */
            ldc "SCALE"
            putfield org.h2.value.DataType.params:Ljava/lang/String;
         7: .line 474
            aload 6 /* dataType */
            iconst_1
            putfield org.h2.value.DataType.supportsScale:Z
         8: .line 475
            aload 6 /* dataType */
            iload 5 /* maxScale */
            putfield org.h2.value.DataType.maxScale:I
         9: .line 476
            aload 6 /* dataType */
            iload 4 /* scale */
            putfield org.h2.value.DataType.defaultScale:I
        10: .line 478
      StackMap locals: org.h2.value.DataType
      StackMap stack:
            aload 6 /* dataType */
            areturn
        end local 6 // org.h2.value.DataType dataType
        end local 5 // int maxScale
        end local 4 // int scale
        end local 3 // boolean supportsScale
        end local 2 // java.lang.String prefix
        end local 1 // int precision
        end local 0 // int maxPrecision
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0   maxPrecision  I
            0   11     1      precision  I
            0   11     2         prefix  Ljava/lang/String;
            0   11     3  supportsScale  Z
            0   11     4          scale  I
            0   11     5       maxScale  I
            1   11     6       dataType  Lorg/h2/value/DataType;
    MethodParameters:
               Name  Flags
      maxPrecision   
      precision      
      prefix         
      supportsScale  
      scale          
      maxScale       

  private static org.h2.value.DataType createString(boolean);
    descriptor: (Z)Lorg/h2/value/DataType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // boolean caseSensitive
         0: .line 482
            new org.h2.value.DataType
            dup
            invokespecial org.h2.value.DataType.<init>:()V
            astore 1 /* dataType */
        start local 1 // org.h2.value.DataType dataType
         1: .line 483
            aload 1 /* dataType */
            ldc "'"
            putfield org.h2.value.DataType.prefix:Ljava/lang/String;
         2: .line 484
            aload 1 /* dataType */
            ldc "'"
            putfield org.h2.value.DataType.suffix:Ljava/lang/String;
         3: .line 485
            aload 1 /* dataType */
            ldc "LENGTH"
            putfield org.h2.value.DataType.params:Ljava/lang/String;
         4: .line 486
            aload 1 /* dataType */
            iload 0 /* caseSensitive */
            putfield org.h2.value.DataType.caseSensitive:Z
         5: .line 487
            aload 1 /* dataType */
            iconst_1
            putfield org.h2.value.DataType.supportsPrecision:Z
         6: .line 488
            aload 1 /* dataType */
            ldc 2147483647
            putfield org.h2.value.DataType.maxPrecision:J
         7: .line 489
            aload 1 /* dataType */
            ldc 2147483647
            putfield org.h2.value.DataType.defaultPrecision:J
         8: .line 490
            aload 1 /* dataType */
            areturn
        end local 1 // org.h2.value.DataType dataType
        end local 0 // boolean caseSensitive
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0  caseSensitive  Z
            1    9     1       dataType  Lorg/h2/value/DataType;
    MethodParameters:
               Name  Flags
      caseSensitive  

  private static org.h2.value.DataType createLob();
    descriptor: ()Lorg/h2/value/DataType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 494
            iconst_1
            invokestatic org.h2.value.DataType.createString:(Z)Lorg/h2/value/DataType;
            astore 0 /* t */
        start local 0 // org.h2.value.DataType t
         1: .line 495
            aload 0 /* t */
            ldc 9223372036854775807
            putfield org.h2.value.DataType.maxPrecision:J
         2: .line 496
            aload 0 /* t */
            ldc 9223372036854775807
            putfield org.h2.value.DataType.defaultPrecision:J
         3: .line 497
            aload 0 /* t */
            areturn
        end local 0 // org.h2.value.DataType t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    4     0     t  Lorg/h2/value/DataType;

  private static org.h2.value.DataType createGeometry();
    descriptor: ()Lorg/h2/value/DataType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 501
            new org.h2.value.DataType
            dup
            invokespecial org.h2.value.DataType.<init>:()V
            astore 0 /* dataType */
        start local 0 // org.h2.value.DataType dataType
         1: .line 502
            aload 0 /* dataType */
            ldc "'"
            putfield org.h2.value.DataType.prefix:Ljava/lang/String;
         2: .line 503
            aload 0 /* dataType */
            ldc "'"
            putfield org.h2.value.DataType.suffix:Ljava/lang/String;
         3: .line 504
            aload 0 /* dataType */
            ldc "TYPE,SRID"
            putfield org.h2.value.DataType.params:Ljava/lang/String;
         4: .line 505
            aload 0 /* dataType */
            ldc 2147483647
            putfield org.h2.value.DataType.maxPrecision:J
         5: .line 506
            aload 0 /* dataType */
            ldc 2147483647
            putfield org.h2.value.DataType.defaultPrecision:J
         6: .line 507
            aload 0 /* dataType */
            areturn
        end local 0 // org.h2.value.DataType dataType
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    7     0  dataType  Lorg/h2/value/DataType;

  public static java.util.ArrayList<org.h2.value.DataType> getTypes();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 516
            getstatic org.h2.value.DataType.TYPES:Ljava/util/ArrayList;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/ArrayList<Lorg/h2/value/DataType;>;

  public static org.h2.value.Value readValue(org.h2.engine.SessionInterface, java.sql.ResultSet, int, int);
    descriptor: (Lorg/h2/engine/SessionInterface;Ljava/sql/ResultSet;II)Lorg/h2/value/Value;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // org.h2.engine.SessionInterface session
        start local 1 // java.sql.ResultSet rs
        start local 2 // int columnIndex
        start local 3 // int type
         0: .line 532
            iload 3 /* type */
            tableswitch { // 0 - 39
                    0: 1
                    1: 21
                    2: 26
                    3: 82
                    4: 72
                    5: 77
                    6: 57
                    7: 62
                    8: 67
                    9: 36
                   10: 31
                   11: 41
                   12: 3
                   13: 97
                   14: 87
                   15: 118
                   16: 102
                   17: 140
                   18: 175
                   19: 129
                   20: 12
                   21: 92
                   22: 181
                   23: 196
                   24: 46
                   25: 157
                   26: 187
                   27: 187
                   28: 187
                   29: 187
                   30: 187
                   31: 187
                   32: 187
                   33: 187
                   34: 187
                   35: 187
                   36: 187
                   37: 187
                   38: 187
                   39: 162
              default: 196
          }
         1: .line 534
      StackMap locals:
      StackMap stack:
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
         2: areturn
         3: .line 541
      StackMap locals:
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            astore 5 /* o */
        start local 5 // java.lang.Object o
         4: .line 542
            aload 5 /* o */
            instanceof byte[]
            ifeq 7
         5: .line 543
            aload 5 /* o */
            checkcast byte[]
            invokestatic org.h2.value.ValueBytes.getNoCopy:([B)Lorg/h2/value/ValueBytes;
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
         6: .line 544
            goto 203
        end local 4 // org.h2.value.Value v
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.lang.Object
      StackMap stack:
         7: aload 5 /* o */
            ifnull 10
         8: .line 545
            aload 5 /* o */
            checkcast java.util.UUID
            invokestatic org.h2.value.ValueUuid.get:(Ljava/util/UUID;)Lorg/h2/value/ValueUuid;
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
         9: .line 546
            goto 203
        end local 4 // org.h2.value.Value v
        10: .line 547
      StackMap locals:
      StackMap stack:
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        11: .line 549
            goto 203
        end local 5 // java.lang.Object o
        end local 4 // org.h2.value.Value v
        12: .line 552
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            astore 5 /* o */
        start local 5 // java.lang.Object o
        13: .line 553
            aload 5 /* o */
            instanceof java.util.UUID
            ifeq 16
        14: .line 554
            aload 5 /* o */
            checkcast java.util.UUID
            invokestatic org.h2.value.ValueUuid.get:(Ljava/util/UUID;)Lorg/h2/value/ValueUuid;
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        15: .line 555
            goto 203
        end local 4 // org.h2.value.Value v
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.lang.Object
      StackMap stack:
        16: aload 5 /* o */
            ifnull 19
        17: .line 556
            aload 5 /* o */
            checkcast byte[]
            invokestatic org.h2.value.ValueUuid.get:([B)Lorg/h2/value/ValueUuid;
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        18: .line 557
            goto 203
        end local 4 // org.h2.value.Value v
        19: .line 558
      StackMap locals:
      StackMap stack:
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        20: .line 560
            goto 203
        end local 5 // java.lang.Object o
        end local 4 // org.h2.value.Value v
        21: .line 563
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getBoolean:(I)Z
            istore 5 /* value */
        start local 5 // boolean value
        22: .line 564
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.wasNull:()Z
            ifeq 23
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 24
        23: .line 565
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top int
      StackMap stack:
            iload 5 /* value */
            invokestatic org.h2.value.ValueBoolean.get:(Z)Lorg/h2/value/ValueBoolean;
        24: .line 564
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        25: .line 566
            goto 203
        end local 5 // boolean value
        end local 4 // org.h2.value.Value v
        26: .line 569
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getByte:(I)B
            istore 5 /* value */
        start local 5 // byte value
        27: .line 570
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.wasNull:()Z
            ifeq 28
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 29
        28: .line 571
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top int
      StackMap stack:
            iload 5 /* value */
            invokestatic org.h2.value.ValueByte.get:(B)Lorg/h2/value/ValueByte;
        29: .line 570
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        30: .line 572
            goto 203
        end local 5 // byte value
        end local 4 // org.h2.value.Value v
        31: .line 575
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getDate:(I)Ljava/sql/Date;
            astore 5 /* value */
        start local 5 // java.sql.Date value
        32: .line 576
            aload 5 /* value */
            ifnonnull 33
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 34
        33: .line 577
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.sql.Date
      StackMap stack:
            aload 5 /* value */
            invokestatic org.h2.value.ValueDate.get:(Ljava/sql/Date;)Lorg/h2/value/ValueDate;
        34: .line 576
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        35: .line 578
            goto 203
        end local 5 // java.sql.Date value
        end local 4 // org.h2.value.Value v
        36: .line 581
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getTime:(I)Ljava/sql/Time;
            astore 5 /* value */
        start local 5 // java.sql.Time value
        37: .line 582
            aload 5 /* value */
            ifnonnull 38
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 39
        38: .line 583
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.sql.Time
      StackMap stack:
            aload 5 /* value */
            invokestatic org.h2.value.ValueTime.get:(Ljava/sql/Time;)Lorg/h2/value/ValueTime;
        39: .line 582
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        40: .line 584
            goto 203
        end local 5 // java.sql.Time value
        end local 4 // org.h2.value.Value v
        41: .line 587
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getTimestamp:(I)Ljava/sql/Timestamp;
            astore 5 /* value */
        start local 5 // java.sql.Timestamp value
        42: .line 588
            aload 5 /* value */
            ifnonnull 43
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 44
        43: .line 589
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.sql.Timestamp
      StackMap stack:
            aload 5 /* value */
            invokestatic org.h2.value.ValueTimestamp.get:(Ljava/sql/Timestamp;)Lorg/h2/value/ValueTimestamp;
        44: .line 588
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        45: .line 590
            goto 203
        end local 5 // java.sql.Timestamp value
        end local 4 // org.h2.value.Value v
        46: .line 593
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            astore 5 /* obj */
        start local 5 // java.lang.Object obj
        47: .line 594
            aload 5 /* obj */
            ifnonnull 50
        48: .line 595
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        49: .line 596
            goto 203
        end local 4 // org.h2.value.Value v
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.lang.Object
      StackMap stack:
        50: invokestatic org.h2.util.LocalDateTimeUtils.isJava8DateApiPresent:()Z
            ifeq 54
        51: .line 597
            getstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME:Ljava/lang/Class;
            aload 5 /* obj */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 54
        52: .line 598
            aload 5 /* obj */
            invokestatic org.h2.util.LocalDateTimeUtils.offsetDateTimeToValue:(Ljava/lang/Object;)Lorg/h2/value/ValueTimestampTimeZone;
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        53: .line 599
            goto 203
        end local 4 // org.h2.value.Value v
        54: .line 600
      StackMap locals:
      StackMap stack:
            aload 5 /* obj */
            checkcast org.h2.api.TimestampWithTimeZone
            astore 6 /* value */
        start local 6 // org.h2.api.TimestampWithTimeZone value
        55: .line 601
            aload 6 /* value */
            invokestatic org.h2.value.ValueTimestampTimeZone.get:(Lorg/h2/api/TimestampWithTimeZone;)Lorg/h2/value/ValueTimestampTimeZone;
            astore 4 /* v */
        end local 6 // org.h2.api.TimestampWithTimeZone value
        start local 4 // org.h2.value.Value v
        56: .line 603
            goto 203
        end local 5 // java.lang.Object obj
        end local 4 // org.h2.value.Value v
        57: .line 606
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getBigDecimal:(I)Ljava/math/BigDecimal;
            astore 5 /* value */
        start local 5 // java.math.BigDecimal value
        58: .line 607
            aload 5 /* value */
            ifnonnull 59
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 60
        59: .line 608
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.math.BigDecimal
      StackMap stack:
            aload 5 /* value */
            invokestatic org.h2.value.ValueDecimal.get:(Ljava/math/BigDecimal;)Lorg/h2/value/ValueDecimal;
        60: .line 607
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        61: .line 609
            goto 203
        end local 5 // java.math.BigDecimal value
        end local 4 // org.h2.value.Value v
        62: .line 612
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getDouble:(I)D
            dstore 5 /* value */
        start local 5 // double value
        63: .line 613
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.wasNull:()Z
            ifeq 64
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 65
        64: .line 614
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top double
      StackMap stack:
            dload 5 /* value */
            invokestatic org.h2.value.ValueDouble.get:(D)Lorg/h2/value/ValueDouble;
        65: .line 613
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        66: .line 615
            goto 203
        end local 5 // double value
        end local 4 // org.h2.value.Value v
        67: .line 618
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getFloat:(I)F
            fstore 5 /* value */
        start local 5 // float value
        68: .line 619
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.wasNull:()Z
            ifeq 69
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 70
        69: .line 620
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top float
      StackMap stack:
            fload 5 /* value */
            invokestatic org.h2.value.ValueFloat.get:(F)Lorg/h2/value/ValueFloat;
        70: .line 619
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        71: .line 621
            goto 203
        end local 5 // float value
        end local 4 // org.h2.value.Value v
        72: .line 624
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 5 /* value */
        start local 5 // int value
        73: .line 625
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.wasNull:()Z
            ifeq 74
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 75
        74: .line 626
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top int
      StackMap stack:
            iload 5 /* value */
            invokestatic org.h2.value.ValueInt.get:(I)Lorg/h2/value/ValueInt;
        75: .line 625
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        76: .line 627
            goto 203
        end local 5 // int value
        end local 4 // org.h2.value.Value v
        77: .line 630
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getLong:(I)J
            lstore 5 /* value */
        start local 5 // long value
        78: .line 631
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.wasNull:()Z
            ifeq 79
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 80
        79: .line 632
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top long
      StackMap stack:
            lload 5 /* value */
            invokestatic org.h2.value.ValueLong.get:(J)Lorg/h2/value/ValueLong;
        80: .line 631
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        81: .line 633
            goto 203
        end local 5 // long value
        end local 4 // org.h2.value.Value v
        82: .line 636
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getShort:(I)S
            istore 5 /* value */
        start local 5 // short value
        83: .line 637
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.wasNull:()Z
            ifeq 84
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 85
        84: .line 638
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top int
      StackMap stack:
            iload 5 /* value */
            invokestatic org.h2.value.ValueShort.get:(S)Lorg/h2/value/ValueShort;
        85: .line 637
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        86: .line 639
            goto 203
        end local 5 // short value
        end local 4 // org.h2.value.Value v
        87: .line 642
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
        88: .line 643
            aload 5 /* s */
            ifnonnull 89
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 90
        89: .line 644
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.lang.String
      StackMap stack:
            aload 5 /* s */
            invokestatic org.h2.value.ValueStringIgnoreCase.get:(Ljava/lang/String;)Lorg/h2/value/ValueStringIgnoreCase;
        90: .line 643
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        91: .line 645
            goto 203
        end local 5 // java.lang.String s
        end local 4 // org.h2.value.Value v
        92: .line 648
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
        93: .line 649
            aload 5 /* s */
            ifnonnull 94
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 95
        94: .line 650
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.lang.String
      StackMap stack:
            aload 5 /* s */
            invokestatic org.h2.value.ValueStringFixed.get:(Ljava/lang/String;)Lorg/h2/value/ValueStringFixed;
        95: .line 649
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
        96: .line 651
            goto 203
        end local 5 // java.lang.String s
        end local 4 // org.h2.value.Value v
        97: .line 654
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
        98: .line 655
            aload 5 /* s */
            ifnonnull 99
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 100
        99: .line 656
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.lang.String
      StackMap stack:
            aload 5 /* s */
            invokestatic org.h2.value.ValueString.get:(Ljava/lang/String;)Lorg/h2/value/Value;
       100: .line 655
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
       101: .line 657
            goto 203
        end local 5 // java.lang.String s
        end local 4 // org.h2.value.Value v
       102: .line 660
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 0 /* session */
            ifnonnull 108
       103: .line 661
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getString:(I)Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
       104: .line 662
            aload 5 /* s */
            ifnonnull 105
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 106
       105: .line 663
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.lang.String
      StackMap stack:
            bipush 16
            aload 5 /* s */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokestatic org.h2.value.ValueLobDb.createSmallLob:(I[B)Lorg/h2/value/ValueLobDb;
       106: .line 662
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        end local 5 // java.lang.String s
        start local 4 // org.h2.value.Value v
       107: .line 664
            goto 115
        end local 4 // org.h2.value.Value v
       108: .line 665
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getCharacterStream:(I)Ljava/io/Reader;
            astore 5 /* in */
        start local 5 // java.io.Reader in
       109: .line 666
            aload 5 /* in */
            ifnonnull 112
       110: .line 667
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
       111: .line 668
            goto 115
        end local 4 // org.h2.value.Value v
       112: .line 669
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.io.Reader
      StackMap stack:
            aload 0 /* session */
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokeinterface org.h2.store.DataHandler.getLobStorage:()Lorg/h2/store/LobStorageInterface;
       113: .line 670
            new java.io.BufferedReader
            dup
            aload 5 /* in */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            ldc -1
            invokeinterface org.h2.store.LobStorageInterface.createClob:(Ljava/io/Reader;J)Lorg/h2/value/Value;
       114: .line 669
            astore 4 /* v */
        end local 5 // java.io.Reader in
        start local 4 // org.h2.value.Value v
       115: .line 673
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int org.h2.value.Value
      StackMap stack:
            aload 0 /* session */
            ifnull 203
       116: .line 674
            aload 0 /* session */
            aload 4 /* v */
            invokeinterface org.h2.engine.SessionInterface.addTemporaryLob:(Lorg/h2/value/Value;)V
       117: .line 676
            goto 203
        end local 4 // org.h2.value.Value v
       118: .line 679
      StackMap locals:
      StackMap stack:
            aload 0 /* session */
            ifnonnull 123
       119: .line 680
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getBytes:(I)[B
            astore 5 /* buff */
        start local 5 // byte[] buff
       120: .line 681
            aload 5 /* buff */
            ifnonnull 121
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 122
       121: .line 682
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top byte[]
      StackMap stack:
            bipush 15
            aload 5 /* buff */
            invokestatic org.h2.value.ValueLobDb.createSmallLob:(I[B)Lorg/h2/value/ValueLobDb;
       122: .line 681
      StackMap locals:
      StackMap stack: org.h2.value.Value
            areturn
        end local 5 // byte[] buff
       123: .line 684
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getBinaryStream:(I)Ljava/io/InputStream;
            astore 5 /* in */
        start local 5 // java.io.InputStream in
       124: .line 685
            aload 5 /* in */
            ifnonnull 125
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 126
       125: .line 686
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.io.InputStream
      StackMap stack:
            aload 0 /* session */
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokeinterface org.h2.store.DataHandler.getLobStorage:()Lorg/h2/store/LobStorageInterface;
            aload 5 /* in */
            ldc -1
            invokeinterface org.h2.store.LobStorageInterface.createBlob:(Ljava/io/InputStream;J)Lorg/h2/value/Value;
       126: .line 685
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
       127: .line 687
            aload 0 /* session */
            aload 4 /* v */
            invokeinterface org.h2.engine.SessionInterface.addTemporaryLob:(Lorg/h2/value/Value;)V
       128: .line 688
            goto 203
        end local 5 // java.io.InputStream in
        end local 4 // org.h2.value.Value v
       129: .line 691
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            getstatic org.h2.engine.SysProperties.serializeJavaObject:Z
            ifeq 135
       130: .line 692
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getBytes:(I)[B
            astore 5 /* buff */
        start local 5 // byte[] buff
       131: .line 693
            aload 5 /* buff */
            ifnonnull 132
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 133
       132: .line 694
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top byte[]
      StackMap stack:
            aconst_null
            aload 5 /* buff */
            aload 0 /* session */
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokestatic org.h2.value.ValueJavaObject.getNoCopy:(Ljava/lang/Object;[BLorg/h2/store/DataHandler;)Lorg/h2/value/ValueJavaObject;
       133: .line 693
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        end local 5 // byte[] buff
        start local 4 // org.h2.value.Value v
       134: .line 695
            goto 203
        end local 4 // org.h2.value.Value v
       135: .line 696
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            astore 5 /* o */
        start local 5 // java.lang.Object o
       136: .line 697
            aload 5 /* o */
            ifnonnull 137
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 138
       137: .line 698
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.lang.Object
      StackMap stack:
            aload 5 /* o */
            aconst_null
            aload 0 /* session */
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokestatic org.h2.value.ValueJavaObject.getNoCopy:(Ljava/lang/Object;[BLorg/h2/store/DataHandler;)Lorg/h2/value/ValueJavaObject;
       138: .line 697
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        end local 5 // java.lang.Object o
        start local 4 // org.h2.value.Value v
       139: .line 700
            goto 203
        end local 4 // org.h2.value.Value v
       140: .line 703
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getArray:(I)Ljava/sql/Array;
            astore 5 /* array */
        start local 5 // java.sql.Array array
       141: .line 704
            aload 5 /* array */
            ifnonnull 144
       142: .line 705
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
       143: areturn
       144: .line 707
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.sql.Array
      StackMap stack:
            aload 5 /* array */
            invokeinterface java.sql.Array.getArray:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 6 /* list */
        start local 6 // java.lang.Object[] list
       145: .line 708
            aload 6 /* list */
            ifnonnull 148
       146: .line 709
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
       147: areturn
       148: .line 711
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 6 /* list */
            arraylength
            istore 7 /* len */
        start local 7 // int len
       149: .line 712
            iload 7 /* len */
            anewarray org.h2.value.Value
            astore 8 /* values */
        start local 8 // org.h2.value.Value[] values
       150: .line 713
            iconst_0
            istore 9 /* i */
        start local 9 // int i
       151: goto 154
       152: .line 714
      StackMap locals: int org.h2.value.Value[] int
      StackMap stack:
            aload 8 /* values */
            iload 9 /* i */
            aload 0 /* session */
            aload 6 /* list */
            iload 9 /* i */
            aaload
            iconst_0
            invokestatic org.h2.value.DataType.convertToValue:(Lorg/h2/engine/SessionInterface;Ljava/lang/Object;I)Lorg/h2/value/Value;
            aastore
       153: .line 713
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
       154: iload 9 /* i */
            iload 7 /* len */
            if_icmplt 152
        end local 9 // int i
       155: .line 716
            aload 8 /* values */
            invokestatic org.h2.value.ValueArray.get:([Lorg/h2/value/Value;)Lorg/h2/value/ValueArray;
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
       156: .line 717
            goto 203
        end local 8 // org.h2.value.Value[] values
        end local 7 // int len
        end local 6 // java.lang.Object[] list
        end local 5 // java.sql.Array array
        end local 4 // org.h2.value.Value v
       157: .line 720
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getInt:(I)I
            istore 5 /* value */
        start local 5 // int value
       158: .line 721
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.wasNull:()Z
            ifeq 159
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            goto 160
       159: .line 722
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top int
      StackMap stack:
            iload 5 /* value */
            invokestatic org.h2.value.ValueInt.get:(I)Lorg/h2/value/ValueInt;
       160: .line 721
      StackMap locals:
      StackMap stack: org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
       161: .line 723
            goto 203
        end local 5 // int value
        end local 4 // org.h2.value.Value v
       162: .line 726
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 5 /* list */
        start local 5 // java.lang.Object[] list
       163: .line 727
            aload 5 /* list */
            ifnonnull 166
       164: .line 728
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
       165: areturn
       166: .line 730
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.lang.Object[]
      StackMap stack:
            aload 5 /* list */
            arraylength
            istore 6 /* len */
        start local 6 // int len
       167: .line 731
            iload 6 /* len */
            anewarray org.h2.value.Value
            astore 7 /* values */
        start local 7 // org.h2.value.Value[] values
       168: .line 732
            iconst_0
            istore 8 /* i */
        start local 8 // int i
       169: goto 172
       170: .line 733
      StackMap locals: int org.h2.value.Value[] int
      StackMap stack:
            aload 7 /* values */
            iload 8 /* i */
            aload 0 /* session */
            aload 5 /* list */
            iload 8 /* i */
            aaload
            iconst_0
            invokestatic org.h2.value.DataType.convertToValue:(Lorg/h2/engine/SessionInterface;Ljava/lang/Object;I)Lorg/h2/value/Value;
            aastore
       171: .line 732
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
       172: iload 8 /* i */
            iload 6 /* len */
            if_icmplt 170
        end local 8 // int i
       173: .line 735
            aload 7 /* values */
            invokestatic org.h2.value.ValueRow.get:([Lorg/h2/value/Value;)Lorg/h2/value/ValueRow;
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
       174: .line 736
            goto 203
        end local 7 // org.h2.value.Value[] values
        end local 6 // int len
        end local 5 // java.lang.Object[] list
        end local 4 // org.h2.value.Value v
       175: .line 739
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            checkcast java.sql.ResultSet
            astore 5 /* x */
        start local 5 // java.sql.ResultSet x
       176: .line 740
            aload 5 /* x */
            ifnonnull 179
       177: .line 741
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
       178: areturn
       179: .line 743
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.sql.ResultSet
      StackMap stack:
            aload 0 /* session */
            aload 5 /* x */
            ldc 2147483647
            invokestatic org.h2.value.ValueResultSet.get:(Lorg/h2/engine/SessionInterface;Ljava/sql/ResultSet;I)Lorg/h2/value/ValueResultSet;
       180: areturn
        end local 5 // java.sql.ResultSet x
       181: .line 746
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            astore 5 /* x */
        start local 5 // java.lang.Object x
       182: .line 747
            aload 5 /* x */
            ifnonnull 185
       183: .line 748
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
       184: areturn
       185: .line 750
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.lang.Object
      StackMap stack:
            aload 5 /* x */
            invokestatic org.h2.value.ValueGeometry.getFromGeometry:(Ljava/lang/Object;)Lorg/h2/value/ValueGeometry;
       186: areturn
        end local 5 // java.lang.Object x
       187: .line 765
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            astore 5 /* x */
        start local 5 // java.lang.Object x
       188: .line 766
            aload 5 /* x */
            ifnonnull 191
       189: .line 767
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
       190: areturn
       191: .line 769
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int top java.lang.Object
      StackMap stack:
            aload 5 /* x */
            checkcast org.h2.api.Interval
            astore 6 /* interval */
        start local 6 // org.h2.api.Interval interval
       192: .line 770
            aload 6 /* interval */
            invokevirtual org.h2.api.Interval.getQualifier:()Lorg/h2/api/IntervalQualifier;
            aload 6 /* interval */
            invokevirtual org.h2.api.Interval.isNegative:()Z
       193: .line 771
            aload 6 /* interval */
            invokevirtual org.h2.api.Interval.getLeading:()J
            aload 6 /* interval */
            invokevirtual org.h2.api.Interval.getRemaining:()J
       194: .line 770
            invokestatic org.h2.value.ValueInterval.from:(Lorg/h2/api/IntervalQualifier;ZJJ)Lorg/h2/value/ValueInterval;
       195: areturn
        end local 6 // org.h2.api.Interval interval
        end local 5 // java.lang.Object x
       196: .line 774
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack:
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            ifnull 202
       197: .line 775
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            iload 3 /* type */
       198: .line 776
            aload 1 /* rs */
            iload 2 /* columnIndex */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
       199: .line 777
            aload 0 /* session */
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
       200: .line 775
            invokeinterface org.h2.api.CustomDataTypesHandler.getValue:(ILjava/lang/Object;Lorg/h2/store/DataHandler;)Lorg/h2/value/Value;
       201: areturn
       202: .line 779
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "type="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        start local 4 // org.h2.value.Value v
       203: .line 781
      StackMap locals: org.h2.value.Value
      StackMap stack:
            aload 4 /* v */
       204: areturn
        end local 4 // org.h2.value.Value v
       205: .line 782
      StackMap locals: org.h2.engine.SessionInterface java.sql.ResultSet int int
      StackMap stack: java.sql.SQLException
            astore 4 /* e */
        start local 4 // java.sql.SQLException e
       206: .line 783
            aload 4 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 4 // java.sql.SQLException e
        end local 3 // int type
        end local 2 // int columnIndex
        end local 1 // java.sql.ResultSet rs
        end local 0 // org.h2.engine.SessionInterface session
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  207     0      session  Lorg/h2/engine/SessionInterface;
            0  207     1           rs  Ljava/sql/ResultSet;
            0  207     2  columnIndex  I
            0  207     3         type  I
            6    7     4            v  Lorg/h2/value/Value;
            9   10     4            v  Lorg/h2/value/Value;
           11   12     4            v  Lorg/h2/value/Value;
           15   16     4            v  Lorg/h2/value/Value;
           18   19     4            v  Lorg/h2/value/Value;
           20   21     4            v  Lorg/h2/value/Value;
           25   26     4            v  Lorg/h2/value/Value;
           30   31     4            v  Lorg/h2/value/Value;
           35   36     4            v  Lorg/h2/value/Value;
           40   41     4            v  Lorg/h2/value/Value;
           45   46     4            v  Lorg/h2/value/Value;
           49   50     4            v  Lorg/h2/value/Value;
           53   54     4            v  Lorg/h2/value/Value;
           56   57     4            v  Lorg/h2/value/Value;
           61   62     4            v  Lorg/h2/value/Value;
           66   67     4            v  Lorg/h2/value/Value;
           71   72     4            v  Lorg/h2/value/Value;
           76   77     4            v  Lorg/h2/value/Value;
           81   82     4            v  Lorg/h2/value/Value;
           86   87     4            v  Lorg/h2/value/Value;
           91   92     4            v  Lorg/h2/value/Value;
           96   97     4            v  Lorg/h2/value/Value;
          101  102     4            v  Lorg/h2/value/Value;
          107  108     4            v  Lorg/h2/value/Value;
          111  112     4            v  Lorg/h2/value/Value;
          115  118     4            v  Lorg/h2/value/Value;
          127  129     4            v  Lorg/h2/value/Value;
          134  135     4            v  Lorg/h2/value/Value;
          139  140     4            v  Lorg/h2/value/Value;
          156  157     4            v  Lorg/h2/value/Value;
          161  162     4            v  Lorg/h2/value/Value;
          174  175     4            v  Lorg/h2/value/Value;
          203  205     4            v  Lorg/h2/value/Value;
            4   12     5            o  Ljava/lang/Object;
           13   21     5            o  Ljava/lang/Object;
           22   26     5        value  Z
           27   31     5        value  B
           32   36     5        value  Ljava/sql/Date;
           37   41     5        value  Ljava/sql/Time;
           42   46     5        value  Ljava/sql/Timestamp;
           47   57     5          obj  Ljava/lang/Object;
           55   56     6        value  Lorg/h2/api/TimestampWithTimeZone;
           58   62     5        value  Ljava/math/BigDecimal;
           63   67     5        value  D
           68   72     5        value  F
           73   77     5        value  I
           78   82     5        value  J
           83   87     5        value  S
           88   92     5            s  Ljava/lang/String;
           93   97     5            s  Ljava/lang/String;
           98  102     5            s  Ljava/lang/String;
          104  107     5            s  Ljava/lang/String;
          109  115     5           in  Ljava/io/Reader;
          120  123     5         buff  [B
          124  129     5           in  Ljava/io/InputStream;
          131  134     5         buff  [B
          136  139     5            o  Ljava/lang/Object;
          141  157     5        array  Ljava/sql/Array;
          145  157     6         list  [Ljava/lang/Object;
          149  157     7          len  I
          150  157     8       values  [Lorg/h2/value/Value;
          151  155     9            i  I
          158  162     5        value  I
          163  175     5         list  [Ljava/lang/Object;
          167  175     6          len  I
          168  175     7       values  [Lorg/h2/value/Value;
          169  173     8            i  I
          176  181     5            x  Ljava/sql/ResultSet;
          182  187     5            x  Ljava/lang/Object;
          188  196     5            x  Ljava/lang/Object;
          192  196     6     interval  Lorg/h2/api/Interval;
          206  207     4            e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0     2     205  Class java.sql.SQLException
           3   122     205  Class java.sql.SQLException
         123   143     205  Class java.sql.SQLException
         144   147     205  Class java.sql.SQLException
         148   165     205  Class java.sql.SQLException
         166   178     205  Class java.sql.SQLException
         179   180     205  Class java.sql.SQLException
         181   184     205  Class java.sql.SQLException
         185   186     205  Class java.sql.SQLException
         187   190     205  Class java.sql.SQLException
         191   195     205  Class java.sql.SQLException
         196   201     205  Class java.sql.SQLException
         202   204     205  Class java.sql.SQLException
    MethodParameters:
             Name  Flags
      session      
      rs           
      columnIndex  
      type         

  public static java.lang.String getTypeClassName(int, boolean);
    descriptor: (IZ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int type
        start local 1 // boolean forResultSet
         0: .line 795
            iload 0 /* type */
            tableswitch { // -1 - 38
                   -1: 25
                    0: 23
                    1: 1
                    2: 2
                    3: 5
                    4: 8
                    5: 9
                    6: 10
                    7: 21
                    8: 22
                    9: 11
                   10: 12
                   11: 13
                   12: 17
                   13: 18
                   14: 18
                   15: 19
                   16: 20
                   17: 26
                   18: 27
                   19: 24
                   20: 17
                   21: 18
                   22: 28
                   23: 32
                   24: 14
                   25: 18
                   26: 31
                   27: 31
                   28: 31
                   29: 31
                   30: 31
                   31: 31
                   32: 31
                   33: 31
                   34: 31
                   35: 31
                   36: 31
                   37: 31
                   38: 31
              default: 32
          }
         1: .line 798
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Boolean;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
         2: .line 800
      StackMap locals:
      StackMap stack:
            iload 1 /* forResultSet */
            ifeq 4
            getstatic org.h2.engine.SysProperties.OLD_RESULT_SET_GET_OBJECT:Z
            ifne 4
         3: .line 802
            ldc Ljava/lang/Integer;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
         4: .line 805
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Byte;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
         5: .line 807
      StackMap locals:
      StackMap stack:
            iload 1 /* forResultSet */
            ifeq 7
            getstatic org.h2.engine.SysProperties.OLD_RESULT_SET_GET_OBJECT:Z
            ifne 7
         6: .line 809
            ldc Ljava/lang/Integer;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
         7: .line 812
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Short;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
         8: .line 815
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Integer;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
         9: .line 818
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Long;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        10: .line 821
      StackMap locals:
      StackMap stack:
            ldc Ljava/math/BigDecimal;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        11: .line 824
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Time;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        12: .line 827
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Date;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        13: .line 830
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Timestamp;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        14: .line 832
      StackMap locals:
      StackMap stack:
            getstatic org.h2.engine.SysProperties.RETURN_OFFSET_DATE_TIME:Z
            ifeq 16
            invokestatic org.h2.util.LocalDateTimeUtils.isJava8DateApiPresent:()Z
            ifeq 16
        15: .line 834
            getstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        16: .line 837
      StackMap locals:
      StackMap stack:
            ldc Lorg/h2/api/TimestampWithTimeZone;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        17: .line 841
      StackMap locals:
      StackMap stack:
            ldc [B
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        18: .line 847
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/String;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        19: .line 850
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Blob;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        20: .line 853
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Clob;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        21: .line 856
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Double;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        22: .line 859
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Float;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        23: .line 861
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        24: .line 864
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Object;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        25: .line 867
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Object;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        26: .line 869
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Array;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        27: .line 871
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/ResultSet;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        28: .line 873
      StackMap locals:
      StackMap stack:
            getstatic org.h2.value.DataType.GEOMETRY_CLASS:Ljava/lang/Class;
            ifnull 29
            ldc "org.locationtech.jts.geom.Geometry"
            goto 30
      StackMap locals:
      StackMap stack:
        29: ldc Ljava/lang/String;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        30: areturn
        31: .line 888
      StackMap locals:
      StackMap stack:
            ldc Lorg/h2/api/Interval;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        32: .line 890
      StackMap locals:
      StackMap stack:
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            ifnull 34
        33: .line 891
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            iload 0 /* type */
            invokeinterface org.h2.api.CustomDataTypesHandler.getDataTypeClassName:(I)Ljava/lang/String;
            areturn
        34: .line 893
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "type="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // boolean forResultSet
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   35     0          type  I
            0   35     1  forResultSet  Z
    MethodParameters:
              Name  Flags
      type          
      forResultSet  

  public static org.h2.value.DataType getDataType(int);
    descriptor: (I)Lorg/h2/value/DataType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int type
         0: .line 904
            iload 0 /* type */
            iconst_m1
            if_icmpne 2
         1: .line 905
            ldc 50004
            ldc "?"
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         2: .line 907
      StackMap locals:
      StackMap stack:
            iload 0 /* type */
            iflt 6
            iload 0 /* type */
            bipush 40
            if_icmpge 6
         3: .line 908
            getstatic org.h2.value.DataType.TYPES_BY_VALUE_TYPE:[Lorg/h2/value/DataType;
            iload 0 /* type */
            aaload
            astore 1 /* dt */
        start local 1 // org.h2.value.DataType dt
         4: .line 909
            aload 1 /* dt */
            ifnull 6
         5: .line 910
            aload 1 /* dt */
            areturn
        end local 1 // org.h2.value.DataType dt
         6: .line 913
      StackMap locals:
      StackMap stack:
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            ifnull 10
         7: .line 914
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            iload 0 /* type */
            invokeinterface org.h2.api.CustomDataTypesHandler.getDataTypeById:(I)Lorg/h2/value/DataType;
            astore 1 /* dt */
        start local 1 // org.h2.value.DataType dt
         8: .line 915
            aload 1 /* dt */
            ifnull 10
         9: .line 916
            aload 1 /* dt */
            areturn
        end local 1 // org.h2.value.DataType dt
        10: .line 919
      StackMap locals:
      StackMap stack:
            getstatic org.h2.value.DataType.TYPES_BY_VALUE_TYPE:[Lorg/h2/value/DataType;
            iconst_0
            aaload
            areturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  type  I
            4    6     1    dt  Lorg/h2/value/DataType;
            8   10     1    dt  Lorg/h2/value/DataType;
    MethodParameters:
      Name  Flags
      type  

  public static int convertTypeToSQLType(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int type
         0: .line 929
            iload 0 /* type */
            invokestatic org.h2.value.DataType.getDataType:(I)Lorg/h2/value/DataType;
            getfield org.h2.value.DataType.sqlType:I
            ireturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  type  I
    MethodParameters:
      Name  Flags
      type  

  public static int convertSQLTypeToValueType(int, java.lang.String);
    descriptor: (ILjava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int sqlType
        start local 1 // java.lang.String sqlTypeName
         0: .line 941
            iload 0 /* sqlType */
            lookupswitch { // 3
                   -2: 1
                 1111: 3
                 2000: 3
              default: 5
          }
         1: .line 943
      StackMap locals:
      StackMap stack:
            aload 1 /* sqlTypeName */
            ldc "UUID"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 5
         2: .line 944
            bipush 20
            ireturn
         3: .line 949
      StackMap locals:
      StackMap stack:
            aload 1 /* sqlTypeName */
            ldc "geometry"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 950
            bipush 22
            ireturn
         5: .line 953
      StackMap locals:
      StackMap stack:
            iload 0 /* sqlType */
            invokestatic org.h2.value.DataType.convertSQLTypeToValueType:(I)I
            ireturn
        end local 1 // java.lang.String sqlTypeName
        end local 0 // int sqlType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0      sqlType  I
            0    6     1  sqlTypeName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      sqlType      
      sqlTypeName  

  public static int getValueTypeFromResultSet(java.sql.ResultSetMetaData, int);
    descriptor: (Ljava/sql/ResultSetMetaData;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.sql.ResultSetMetaData meta
        start local 1 // int columnIndex
         0: .line 967
            aload 0 /* meta */
            iload 1 /* columnIndex */
            invokeinterface java.sql.ResultSetMetaData.getColumnType:(I)I
         1: .line 968
            aload 0 /* meta */
            iload 1 /* columnIndex */
            invokeinterface java.sql.ResultSetMetaData.getColumnTypeName:(I)Ljava/lang/String;
         2: .line 966
            invokestatic org.h2.value.DataType.convertSQLTypeToValueType:(ILjava/lang/String;)I
            ireturn
        end local 1 // int columnIndex
        end local 0 // java.sql.ResultSetMetaData meta
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         meta  Ljava/sql/ResultSetMetaData;
            0    3     1  columnIndex  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
             Name  Flags
      meta         
      columnIndex  

  public static int convertSQLTypeToValueType(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int sqlType
         0: .line 978
            iload 0 /* sqlType */
            lookupswitch { // 32
                  -16: 2
                  -15: 1
                  -10: 21
                   -9: 2
                   -7: 4
                   -6: 7
                   -5: 8
                   -4: 11
                   -3: 11
                   -2: 11
                   -1: 2
                    0: 19
                    1: 1
                    2: 3
                    3: 3
                    4: 5
                    5: 6
                    6: 10
                    7: 9
                    8: 10
                   12: 2
                   16: 4
                   91: 13
                   92: 14
                   93: 15
                 1111: 12
                 2000: 12
                 2003: 20
                 2004: 17
                 2005: 18
                 2011: 18
                 2014: 16
              default: 22
          }
         1: .line 981
      StackMap locals:
      StackMap stack:
            bipush 21
            ireturn
         2: .line 986
      StackMap locals:
      StackMap stack:
            bipush 13
            ireturn
         3: .line 989
      StackMap locals:
      StackMap stack:
            bipush 6
            ireturn
         4: .line 992
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 994
      StackMap locals:
      StackMap stack:
            iconst_4
            ireturn
         6: .line 996
      StackMap locals:
      StackMap stack:
            iconst_3
            ireturn
         7: .line 998
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
         8: .line 1000
      StackMap locals:
      StackMap stack:
            iconst_5
            ireturn
         9: .line 1002
      StackMap locals:
      StackMap stack:
            bipush 8
            ireturn
        10: .line 1005
      StackMap locals:
      StackMap stack:
            bipush 7
            ireturn
        11: .line 1009
      StackMap locals:
      StackMap stack:
            bipush 12
            ireturn
        12: .line 1012
      StackMap locals:
      StackMap stack:
            bipush 19
            ireturn
        13: .line 1014
      StackMap locals:
      StackMap stack:
            bipush 10
            ireturn
        14: .line 1016
      StackMap locals:
      StackMap stack:
            bipush 9
            ireturn
        15: .line 1018
      StackMap locals:
      StackMap stack:
            bipush 11
            ireturn
        16: .line 1020
      StackMap locals:
      StackMap stack:
            bipush 24
            ireturn
        17: .line 1022
      StackMap locals:
      StackMap stack:
            bipush 15
            ireturn
        18: .line 1025
      StackMap locals:
      StackMap stack:
            bipush 16
            ireturn
        19: .line 1027
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        20: .line 1029
      StackMap locals:
      StackMap stack:
            bipush 17
            ireturn
        21: .line 1031
      StackMap locals:
      StackMap stack:
            bipush 18
            ireturn
        22: .line 1034
      StackMap locals:
      StackMap stack:
            ldc 50004
            iload 0 /* sqlType */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
        23: .line 1033
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 0 // int sqlType
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0  sqlType  I
    MethodParameters:
         Name  Flags
      sqlType  

  public static int getTypeFromClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class x
         0: .line 1046
            aload 0 /* x */
            ifnull 1
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            aload 0 /* x */
            if_acmpne 2
         1: .line 1047
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 1049
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 4
         3: .line 1050
            aload 0 /* x */
            invokestatic org.h2.util.Utils.getNonPrimitiveClass:(Ljava/lang/Class;)Ljava/lang/Class;
            astore 0 /* x */
         4: .line 1052
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/String;
            aload 0 /* x */
            if_acmpne 6
         5: .line 1053
            bipush 13
            ireturn
         6: .line 1054
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Integer;
            aload 0 /* x */
            if_acmpne 8
         7: .line 1055
            iconst_4
            ireturn
         8: .line 1056
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Long;
            aload 0 /* x */
            if_acmpne 10
         9: .line 1057
            iconst_5
            ireturn
        10: .line 1058
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Boolean;
            aload 0 /* x */
            if_acmpne 12
        11: .line 1059
            iconst_1
            ireturn
        12: .line 1060
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Double;
            aload 0 /* x */
            if_acmpne 14
        13: .line 1061
            bipush 7
            ireturn
        14: .line 1062
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Byte;
            aload 0 /* x */
            if_acmpne 16
        15: .line 1063
            iconst_2
            ireturn
        16: .line 1064
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Short;
            aload 0 /* x */
            if_acmpne 18
        17: .line 1065
            iconst_3
            ireturn
        18: .line 1066
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Character;
            aload 0 /* x */
            if_acmpne 21
        19: .line 1068
            sipush 22018
            ldc "char (not supported)"
        20: .line 1067
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        21: .line 1069
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Float;
            aload 0 /* x */
            if_acmpne 23
        22: .line 1070
            bipush 8
            ireturn
        23: .line 1071
      StackMap locals:
      StackMap stack:
            ldc [B
            aload 0 /* x */
            if_acmpne 25
        24: .line 1072
            bipush 12
            ireturn
        25: .line 1073
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/UUID;
            aload 0 /* x */
            if_acmpne 27
        26: .line 1074
            bipush 20
            ireturn
        27: .line 1075
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Void;
            aload 0 /* x */
            if_acmpne 29
        28: .line 1076
            iconst_0
            ireturn
        29: .line 1077
      StackMap locals:
      StackMap stack:
            ldc Ljava/math/BigDecimal;
            aload 0 /* x */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 31
        30: .line 1078
            bipush 6
            ireturn
        31: .line 1079
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/ResultSet;
            aload 0 /* x */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 33
        32: .line 1080
            bipush 18
            ireturn
        33: .line 1081
      StackMap locals:
      StackMap stack:
            ldc Lorg/h2/value/ValueLobDb;
            aload 0 /* x */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 35
        34: .line 1082
            bipush 15
            ireturn
        35: .line 1086
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Date;
            aload 0 /* x */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 37
        36: .line 1087
            bipush 10
            ireturn
        37: .line 1088
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Time;
            aload 0 /* x */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 39
        38: .line 1089
            bipush 9
            ireturn
        39: .line 1090
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Timestamp;
            aload 0 /* x */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 41
        40: .line 1091
            bipush 11
            ireturn
        41: .line 1092
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/Date;
            aload 0 /* x */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 43
        42: .line 1093
            bipush 11
            ireturn
        43: .line 1094
      StackMap locals:
      StackMap stack:
            ldc Ljava/io/Reader;
            aload 0 /* x */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 45
        44: .line 1095
            bipush 16
            ireturn
        45: .line 1096
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Clob;
            aload 0 /* x */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 47
        46: .line 1097
            bipush 16
            ireturn
        47: .line 1098
      StackMap locals:
      StackMap stack:
            ldc Ljava/io/InputStream;
            aload 0 /* x */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 49
        48: .line 1099
            bipush 15
            ireturn
        49: .line 1100
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/Blob;
            aload 0 /* x */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 51
        50: .line 1101
            bipush 15
            ireturn
        51: .line 1102
      StackMap locals:
      StackMap stack:
            ldc [Ljava/lang/Object;
            aload 0 /* x */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 53
        52: .line 1104
            bipush 17
            ireturn
        53: .line 1105
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            invokestatic org.h2.value.DataType.isGeometryClass:(Ljava/lang/Class;)Z
            ifeq 55
        54: .line 1106
            bipush 22
            ireturn
        55: .line 1107
      StackMap locals:
      StackMap stack:
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE:Ljava/lang/Class;
            aload 0 /* x */
            if_acmpne 57
        56: .line 1108
            bipush 10
            ireturn
        57: .line 1109
      StackMap locals:
      StackMap stack:
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_TIME:Ljava/lang/Class;
            aload 0 /* x */
            if_acmpne 59
        58: .line 1110
            bipush 9
            ireturn
        59: .line 1111
      StackMap locals:
      StackMap stack:
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME:Ljava/lang/Class;
            aload 0 /* x */
            if_acmpne 61
        60: .line 1112
            bipush 11
            ireturn
        61: .line 1113
      StackMap locals:
      StackMap stack:
            getstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME:Ljava/lang/Class;
            aload 0 /* x */
            if_acmpeq 62
            getstatic org.h2.util.LocalDateTimeUtils.INSTANT:Ljava/lang/Class;
            aload 0 /* x */
            if_acmpne 63
        62: .line 1114
      StackMap locals:
      StackMap stack:
            bipush 24
            ireturn
        63: .line 1116
      StackMap locals:
      StackMap stack:
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            ifnull 65
        64: .line 1117
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            aload 0 /* x */
            invokeinterface org.h2.api.CustomDataTypesHandler.getTypeIdFromClass:(Ljava/lang/Class;)I
            ireturn
        65: .line 1119
      StackMap locals:
      StackMap stack:
            bipush 19
            ireturn
        end local 0 // java.lang.Class x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   66     0     x  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)I
    MethodParameters:
      Name  Flags
      x     

  public static org.h2.value.Value convertToValue(org.h2.engine.SessionInterface, java.lang.Object, int);
    descriptor: (Lorg/h2/engine/SessionInterface;Ljava/lang/Object;I)Lorg/h2/value/Value;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.h2.engine.SessionInterface session
        start local 1 // java.lang.Object x
        start local 2 // int type
         0: .line 1133
            aload 0 /* session */
            aload 1 /* x */
            iload 2 /* type */
            invokestatic org.h2.value.DataType.convertToValue1:(Lorg/h2/engine/SessionInterface;Ljava/lang/Object;I)Lorg/h2/value/Value;
            astore 3 /* v */
        start local 3 // org.h2.value.Value v
         1: .line 1134
            aload 0 /* session */
            ifnull 3
         2: .line 1135
            aload 0 /* session */
            aload 3 /* v */
            invokeinterface org.h2.engine.SessionInterface.addTemporaryLob:(Lorg/h2/value/Value;)V
         3: .line 1137
      StackMap locals: org.h2.value.Value
      StackMap stack:
            aload 3 /* v */
            areturn
        end local 3 // org.h2.value.Value v
        end local 2 // int type
        end local 1 // java.lang.Object x
        end local 0 // org.h2.engine.SessionInterface session
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  session  Lorg/h2/engine/SessionInterface;
            0    4     1        x  Ljava/lang/Object;
            0    4     2     type  I
            1    4     3        v  Lorg/h2/value/Value;
    MethodParameters:
         Name  Flags
      session  
      x        
      type     

  private static org.h2.value.Value convertToValue1(org.h2.engine.SessionInterface, java.lang.Object, int);
    descriptor: (Lorg/h2/engine/SessionInterface;Ljava/lang/Object;I)Lorg/h2/value/Value;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.h2.engine.SessionInterface session
        start local 1 // java.lang.Object x
        start local 2 // int type
         0: .line 1142
            aload 1 /* x */
            ifnonnull 2
         1: .line 1143
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            areturn
         2: .line 1145
      StackMap locals:
      StackMap stack:
            iload 2 /* type */
            bipush 19
            if_icmpne 4
         3: .line 1146
            aload 1 /* x */
            aconst_null
            aload 0 /* session */
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokestatic org.h2.value.ValueJavaObject.getNoCopy:(Ljava/lang/Object;[BLorg/h2/store/DataHandler;)Lorg/h2/value/ValueJavaObject;
            areturn
         4: .line 1148
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.lang.String
            ifeq 6
         5: .line 1149
            aload 1 /* x */
            checkcast java.lang.String
            invokestatic org.h2.value.ValueString.get:(Ljava/lang/String;)Lorg/h2/value/Value;
            areturn
         6: .line 1150
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof org.h2.value.Value
            ifeq 8
         7: .line 1151
            aload 1 /* x */
            checkcast org.h2.value.Value
            areturn
         8: .line 1152
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.lang.Long
            ifeq 10
         9: .line 1153
            aload 1 /* x */
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            invokestatic org.h2.value.ValueLong.get:(J)Lorg/h2/value/ValueLong;
            areturn
        10: .line 1154
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.lang.Integer
            ifeq 12
        11: .line 1155
            aload 1 /* x */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic org.h2.value.ValueInt.get:(I)Lorg/h2/value/ValueInt;
            areturn
        12: .line 1156
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.math.BigInteger
            ifeq 14
        13: .line 1157
            new java.math.BigDecimal
            dup
            aload 1 /* x */
            checkcast java.math.BigInteger
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;)V
            invokestatic org.h2.value.ValueDecimal.get:(Ljava/math/BigDecimal;)Lorg/h2/value/ValueDecimal;
            areturn
        14: .line 1158
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.math.BigDecimal
            ifeq 16
        15: .line 1159
            aload 1 /* x */
            checkcast java.math.BigDecimal
            invokestatic org.h2.value.ValueDecimal.get:(Ljava/math/BigDecimal;)Lorg/h2/value/ValueDecimal;
            areturn
        16: .line 1160
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.lang.Boolean
            ifeq 18
        17: .line 1161
            aload 1 /* x */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokestatic org.h2.value.ValueBoolean.get:(Z)Lorg/h2/value/ValueBoolean;
            areturn
        18: .line 1162
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.lang.Byte
            ifeq 20
        19: .line 1163
            aload 1 /* x */
            checkcast java.lang.Byte
            invokevirtual java.lang.Byte.byteValue:()B
            invokestatic org.h2.value.ValueByte.get:(B)Lorg/h2/value/ValueByte;
            areturn
        20: .line 1164
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.lang.Short
            ifeq 22
        21: .line 1165
            aload 1 /* x */
            checkcast java.lang.Short
            invokevirtual java.lang.Short.shortValue:()S
            invokestatic org.h2.value.ValueShort.get:(S)Lorg/h2/value/ValueShort;
            areturn
        22: .line 1166
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.lang.Float
            ifeq 24
        23: .line 1167
            aload 1 /* x */
            checkcast java.lang.Float
            invokevirtual java.lang.Float.floatValue:()F
            invokestatic org.h2.value.ValueFloat.get:(F)Lorg/h2/value/ValueFloat;
            areturn
        24: .line 1168
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.lang.Double
            ifeq 26
        25: .line 1169
            aload 1 /* x */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokestatic org.h2.value.ValueDouble.get:(D)Lorg/h2/value/ValueDouble;
            areturn
        26: .line 1170
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof byte[]
            ifeq 28
        27: .line 1171
            aload 1 /* x */
            checkcast byte[]
            invokestatic org.h2.value.ValueBytes.get:([B)Lorg/h2/value/ValueBytes;
            areturn
        28: .line 1172
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.sql.Date
            ifeq 30
        29: .line 1173
            aload 1 /* x */
            checkcast java.sql.Date
            invokestatic org.h2.value.ValueDate.get:(Ljava/sql/Date;)Lorg/h2/value/ValueDate;
            areturn
        30: .line 1174
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.sql.Time
            ifeq 32
        31: .line 1175
            aload 1 /* x */
            checkcast java.sql.Time
            invokestatic org.h2.value.ValueTime.get:(Ljava/sql/Time;)Lorg/h2/value/ValueTime;
            areturn
        32: .line 1176
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.sql.Timestamp
            ifeq 34
        33: .line 1177
            aload 1 /* x */
            checkcast java.sql.Timestamp
            invokestatic org.h2.value.ValueTimestamp.get:(Ljava/sql/Timestamp;)Lorg/h2/value/ValueTimestamp;
            areturn
        34: .line 1178
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.util.Date
            ifeq 36
        35: .line 1179
            aload 1 /* x */
            checkcast java.util.Date
            invokevirtual java.util.Date.getTime:()J
            invokestatic org.h2.value.ValueTimestamp.fromMillis:(J)Lorg/h2/value/ValueTimestamp;
            areturn
        36: .line 1180
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.io.Reader
            ifeq 41
        37: .line 1181
            new java.io.BufferedReader
            dup
            aload 1 /* x */
            checkcast java.io.Reader
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 3 /* r */
        start local 3 // java.io.Reader r
        38: .line 1182
            aload 0 /* session */
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokeinterface org.h2.store.DataHandler.getLobStorage:()Lorg/h2/store/LobStorageInterface;
        39: .line 1183
            aload 3 /* r */
            ldc -1
            invokeinterface org.h2.store.LobStorageInterface.createClob:(Ljava/io/Reader;J)Lorg/h2/value/Value;
        40: .line 1182
            areturn
        end local 3 // java.io.Reader r
        41: .line 1184
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.sql.Clob
            ifeq 49
        42: .line 1186
            aload 1 /* x */
            checkcast java.sql.Clob
            astore 3 /* clob */
        start local 3 // java.sql.Clob clob
        43: .line 1187
            new java.io.BufferedReader
            dup
            aload 3 /* clob */
            invokeinterface java.sql.Clob.getCharacterStream:()Ljava/io/Reader;
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 4 /* r */
        start local 4 // java.io.Reader r
        44: .line 1188
            aload 0 /* session */
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokeinterface org.h2.store.DataHandler.getLobStorage:()Lorg/h2/store/LobStorageInterface;
        45: .line 1189
            aload 4 /* r */
            aload 3 /* clob */
            invokeinterface java.sql.Clob.length:()J
            invokeinterface org.h2.store.LobStorageInterface.createClob:(Ljava/io/Reader;J)Lorg/h2/value/Value;
        46: .line 1188
            areturn
        end local 4 // java.io.Reader r
        end local 3 // java.sql.Clob clob
        47: .line 1190
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 3 /* e */
        start local 3 // java.sql.SQLException e
        48: .line 1191
            aload 3 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 3 // java.sql.SQLException e
        49: .line 1193
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.io.InputStream
            ifeq 53
        50: .line 1194
            aload 0 /* session */
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokeinterface org.h2.store.DataHandler.getLobStorage:()Lorg/h2/store/LobStorageInterface;
        51: .line 1195
            aload 1 /* x */
            checkcast java.io.InputStream
            ldc -1
            invokeinterface org.h2.store.LobStorageInterface.createBlob:(Ljava/io/InputStream;J)Lorg/h2/value/Value;
        52: .line 1194
            areturn
        53: .line 1196
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.sql.Blob
            ifeq 60
        54: .line 1198
            aload 1 /* x */
            checkcast java.sql.Blob
            astore 3 /* blob */
        start local 3 // java.sql.Blob blob
        55: .line 1199
            aload 0 /* session */
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokeinterface org.h2.store.DataHandler.getLobStorage:()Lorg/h2/store/LobStorageInterface;
        56: .line 1200
            aload 3 /* blob */
            invokeinterface java.sql.Blob.getBinaryStream:()Ljava/io/InputStream;
            aload 3 /* blob */
            invokeinterface java.sql.Blob.length:()J
            invokeinterface org.h2.store.LobStorageInterface.createBlob:(Ljava/io/InputStream;J)Lorg/h2/value/Value;
        57: .line 1199
            areturn
        end local 3 // java.sql.Blob blob
        58: .line 1201
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 3 /* e */
        start local 3 // java.sql.SQLException e
        59: .line 1202
            aload 3 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 3 // java.sql.SQLException e
        60: .line 1204
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.sql.SQLXML
            ifeq 68
        61: .line 1206
            aload 1 /* x */
            checkcast java.sql.SQLXML
            astore 3 /* clob */
        start local 3 // java.sql.SQLXML clob
        62: .line 1207
            new java.io.BufferedReader
            dup
            aload 3 /* clob */
            invokeinterface java.sql.SQLXML.getCharacterStream:()Ljava/io/Reader;
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 4 /* r */
        start local 4 // java.io.Reader r
        63: .line 1208
            aload 0 /* session */
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokeinterface org.h2.store.DataHandler.getLobStorage:()Lorg/h2/store/LobStorageInterface;
        64: .line 1209
            aload 4 /* r */
            ldc -1
            invokeinterface org.h2.store.LobStorageInterface.createClob:(Ljava/io/Reader;J)Lorg/h2/value/Value;
        65: .line 1208
            areturn
        end local 4 // java.io.Reader r
        end local 3 // java.sql.SQLXML clob
        66: .line 1210
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 3 /* e */
        start local 3 // java.sql.SQLException e
        67: .line 1211
            aload 3 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 3 // java.sql.SQLException e
        68: .line 1213
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.sql.Array
            ifeq 74
        69: .line 1214
            aload 1 /* x */
            checkcast java.sql.Array
            astore 3 /* array */
        start local 3 // java.sql.Array array
        70: .line 1216
            aload 0 /* session */
            aload 3 /* array */
            invokeinterface java.sql.Array.getArray:()Ljava/lang/Object;
            bipush 17
            invokestatic org.h2.value.DataType.convertToValue:(Lorg/h2/engine/SessionInterface;Ljava/lang/Object;I)Lorg/h2/value/Value;
        71: areturn
        72: .line 1217
      StackMap locals: org.h2.engine.SessionInterface java.lang.Object int java.sql.Array
      StackMap stack: java.sql.SQLException
            astore 4 /* e */
        start local 4 // java.sql.SQLException e
        73: .line 1218
            aload 4 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 4 // java.sql.SQLException e
        end local 3 // java.sql.Array array
        74: .line 1220
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.sql.ResultSet
            ifeq 76
        75: .line 1221
            aload 0 /* session */
            aload 1 /* x */
            checkcast java.sql.ResultSet
            ldc 2147483647
            invokestatic org.h2.value.ValueResultSet.get:(Lorg/h2/engine/SessionInterface;Ljava/sql/ResultSet;I)Lorg/h2/value/ValueResultSet;
            areturn
        76: .line 1222
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof java.util.UUID
            ifeq 78
        77: .line 1223
            aload 1 /* x */
            checkcast java.util.UUID
            invokestatic org.h2.value.ValueUuid.get:(Ljava/util/UUID;)Lorg/h2/value/ValueUuid;
            areturn
        78: .line 1225
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 3 /* clazz */
        start local 3 // java.lang.Class clazz
        79: .line 1226
            aload 1 /* x */
            instanceof java.lang.Object[]
            ifeq 89
        80: .line 1229
            aload 1 /* x */
            checkcast java.lang.Object[]
            astore 4 /* o */
        start local 4 // java.lang.Object[] o
        81: .line 1230
            aload 4 /* o */
            arraylength
            istore 5 /* len */
        start local 5 // int len
        82: .line 1231
            iload 5 /* len */
            anewarray org.h2.value.Value
            astore 6 /* v */
        start local 6 // org.h2.value.Value[] v
        83: .line 1232
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        84: goto 87
        85: .line 1233
      StackMap locals: org.h2.engine.SessionInterface java.lang.Object int java.lang.Class java.lang.Object[] int org.h2.value.Value[] int
      StackMap stack:
            aload 6 /* v */
            iload 7 /* i */
            aload 0 /* session */
            aload 4 /* o */
            iload 7 /* i */
            aaload
            iload 2 /* type */
            invokestatic org.h2.value.DataType.convertToValue:(Lorg/h2/engine/SessionInterface;Ljava/lang/Object;I)Lorg/h2/value/Value;
            aastore
        86: .line 1232
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        87: iload 7 /* i */
            iload 5 /* len */
            if_icmplt 85
        end local 7 // int i
        88: .line 1235
            aload 3 /* clazz */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            aload 6 /* v */
            invokestatic org.h2.value.ValueArray.get:(Ljava/lang/Class;[Lorg/h2/value/Value;)Lorg/h2/value/ValueArray;
            areturn
        end local 6 // org.h2.value.Value[] v
        end local 5 // int len
        end local 4 // java.lang.Object[] o
        89: .line 1236
      StackMap locals: org.h2.engine.SessionInterface java.lang.Object int java.lang.Class
      StackMap stack:
            aload 1 /* x */
            instanceof java.lang.Character
            ifeq 91
        90: .line 1237
            aload 1 /* x */
            checkcast java.lang.Character
            invokevirtual java.lang.Character.toString:()Ljava/lang/String;
            invokestatic org.h2.value.ValueStringFixed.get:(Ljava/lang/String;)Lorg/h2/value/ValueStringFixed;
            areturn
        91: .line 1238
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            invokestatic org.h2.value.DataType.isGeometry:(Ljava/lang/Object;)Z
            ifeq 93
        92: .line 1239
            aload 1 /* x */
            invokestatic org.h2.value.ValueGeometry.getFromGeometry:(Ljava/lang/Object;)Lorg/h2/value/ValueGeometry;
            areturn
        93: .line 1240
      StackMap locals:
      StackMap stack:
            aload 3 /* clazz */
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE:Ljava/lang/Class;
            if_acmpne 95
        94: .line 1241
            aload 1 /* x */
            invokestatic org.h2.util.LocalDateTimeUtils.localDateToDateValue:(Ljava/lang/Object;)Lorg/h2/value/Value;
            areturn
        95: .line 1242
      StackMap locals:
      StackMap stack:
            aload 3 /* clazz */
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_TIME:Ljava/lang/Class;
            if_acmpne 97
        96: .line 1243
            aload 1 /* x */
            invokestatic org.h2.util.LocalDateTimeUtils.localTimeToTimeValue:(Ljava/lang/Object;)Lorg/h2/value/Value;
            areturn
        97: .line 1244
      StackMap locals:
      StackMap stack:
            aload 3 /* clazz */
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME:Ljava/lang/Class;
            if_acmpne 99
        98: .line 1245
            aload 1 /* x */
            invokestatic org.h2.util.LocalDateTimeUtils.localDateTimeToValue:(Ljava/lang/Object;)Lorg/h2/value/Value;
            areturn
        99: .line 1246
      StackMap locals:
      StackMap stack:
            aload 3 /* clazz */
            getstatic org.h2.util.LocalDateTimeUtils.INSTANT:Ljava/lang/Class;
            if_acmpne 101
       100: .line 1247
            aload 1 /* x */
            invokestatic org.h2.util.LocalDateTimeUtils.instantToValue:(Ljava/lang/Object;)Lorg/h2/value/Value;
            areturn
       101: .line 1248
      StackMap locals:
      StackMap stack:
            aload 3 /* clazz */
            getstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME:Ljava/lang/Class;
            if_acmpne 103
       102: .line 1249
            aload 1 /* x */
            invokestatic org.h2.util.LocalDateTimeUtils.offsetDateTimeToValue:(Ljava/lang/Object;)Lorg/h2/value/ValueTimestampTimeZone;
            areturn
       103: .line 1250
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof org.h2.api.TimestampWithTimeZone
            ifeq 105
       104: .line 1251
            aload 1 /* x */
            checkcast org.h2.api.TimestampWithTimeZone
            invokestatic org.h2.value.ValueTimestampTimeZone.get:(Lorg/h2/api/TimestampWithTimeZone;)Lorg/h2/value/ValueTimestampTimeZone;
            areturn
       105: .line 1252
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            instanceof org.h2.api.Interval
            ifeq 108
       106: .line 1253
            aload 1 /* x */
            checkcast org.h2.api.Interval
            astore 4 /* i */
        start local 4 // org.h2.api.Interval i
       107: .line 1254
            aload 4 /* i */
            invokevirtual org.h2.api.Interval.getQualifier:()Lorg/h2/api/IntervalQualifier;
            aload 4 /* i */
            invokevirtual org.h2.api.Interval.isNegative:()Z
            aload 4 /* i */
            invokevirtual org.h2.api.Interval.getLeading:()J
            aload 4 /* i */
            invokevirtual org.h2.api.Interval.getRemaining:()J
            invokestatic org.h2.value.ValueInterval.from:(Lorg/h2/api/IntervalQualifier;ZJJ)Lorg/h2/value/ValueInterval;
            areturn
        end local 4 // org.h2.api.Interval i
       108: .line 1255
      StackMap locals:
      StackMap stack:
            aload 3 /* clazz */
            getstatic org.h2.util.LocalDateTimeUtils.PERIOD:Ljava/lang/Class;
            if_acmpne 110
       109: .line 1256
            aload 1 /* x */
            invokestatic org.h2.util.LocalDateTimeUtils.periodToValue:(Ljava/lang/Object;)Lorg/h2/value/ValueInterval;
            areturn
       110: .line 1257
      StackMap locals:
      StackMap stack:
            aload 3 /* clazz */
            getstatic org.h2.util.LocalDateTimeUtils.DURATION:Ljava/lang/Class;
            if_acmpne 112
       111: .line 1258
            aload 1 /* x */
            invokestatic org.h2.util.LocalDateTimeUtils.durationToValue:(Ljava/lang/Object;)Lorg/h2/value/ValueInterval;
            areturn
       112: .line 1260
      StackMap locals:
      StackMap stack:
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            ifnull 116
       113: .line 1261
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            iload 2 /* type */
            aload 1 /* x */
       114: .line 1262
            aload 0 /* session */
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
       115: .line 1261
            invokeinterface org.h2.api.CustomDataTypesHandler.getValue:(ILjava/lang/Object;Lorg/h2/store/DataHandler;)Lorg/h2/value/Value;
            areturn
       116: .line 1264
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            aconst_null
            aload 0 /* session */
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
            invokestatic org.h2.value.ValueJavaObject.getNoCopy:(Ljava/lang/Object;[BLorg/h2/store/DataHandler;)Lorg/h2/value/ValueJavaObject;
            areturn
        end local 3 // java.lang.Class clazz
        end local 2 // int type
        end local 1 // java.lang.Object x
        end local 0 // org.h2.engine.SessionInterface session
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0  117     0  session  Lorg/h2/engine/SessionInterface;
            0  117     1        x  Ljava/lang/Object;
            0  117     2     type  I
           38   41     3        r  Ljava/io/Reader;
           43   47     3     clob  Ljava/sql/Clob;
           44   47     4        r  Ljava/io/Reader;
           48   49     3        e  Ljava/sql/SQLException;
           55   58     3     blob  Ljava/sql/Blob;
           59   60     3        e  Ljava/sql/SQLException;
           62   66     3     clob  Ljava/sql/SQLXML;
           63   66     4        r  Ljava/io/Reader;
           67   68     3        e  Ljava/sql/SQLException;
           70   74     3    array  Ljava/sql/Array;
           73   74     4        e  Ljava/sql/SQLException;
           79  117     3    clazz  Ljava/lang/Class<*>;
           81   89     4        o  [Ljava/lang/Object;
           82   89     5      len  I
           83   89     6        v  [Lorg/h2/value/Value;
           84   88     7        i  I
          107  108     4        i  Lorg/h2/api/Interval;
      Exception table:
        from    to  target  type
          42    46      47  Class java.sql.SQLException
          54    57      58  Class java.sql.SQLException
          61    65      66  Class java.sql.SQLException
          70    71      72  Class java.sql.SQLException
    MethodParameters:
         Name  Flags
      session  
      x        
      type     

  public static boolean isGeometryClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class x
         0: .line 1276
            aload 0 /* x */
            ifnull 1
            getstatic org.h2.value.DataType.GEOMETRY_CLASS:Ljava/lang/Class;
            ifnonnull 2
         1: .line 1277
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 1279
      StackMap locals:
      StackMap stack:
            getstatic org.h2.value.DataType.GEOMETRY_CLASS:Ljava/lang/Class;
            aload 0 /* x */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ireturn
        end local 0 // java.lang.Class x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     x  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      x     

  public static boolean isGeometry(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object x
         0: .line 1289
            aload 0 /* x */
            ifnonnull 2
         1: .line 1290
            iconst_0
            ireturn
         2: .line 1292
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.h2.value.DataType.isGeometryClass:(Ljava/lang/Class;)Z
            ireturn
        end local 0 // java.lang.Object x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     x  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      x     

  public static org.h2.value.DataType getTypeByName(java.lang.String, org.h2.engine.Mode);
    descriptor: (Ljava/lang/String;Lorg/h2/engine/Mode;)Lorg/h2/value/DataType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String s
        start local 1 // org.h2.engine.Mode mode
         0: .line 1303
            aload 1 /* mode */
            getfield org.h2.engine.Mode.typeByNameMap:Ljava/util/HashMap;
            aload 0 /* s */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.value.DataType
            astore 2 /* result */
        start local 2 // org.h2.value.DataType result
         1: .line 1304
            aload 2 /* result */
            ifnonnull 5
         2: .line 1305
            getstatic org.h2.value.DataType.TYPES_BY_NAME:Ljava/util/HashMap;
            aload 0 /* s */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.value.DataType
            astore 2 /* result */
         3: .line 1306
            aload 2 /* result */
            ifnonnull 5
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            ifnull 5
         4: .line 1307
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            aload 0 /* s */
            invokeinterface org.h2.api.CustomDataTypesHandler.getDataTypeByName:(Ljava/lang/String;)Lorg/h2/value/DataType;
            astore 2 /* result */
         5: .line 1310
      StackMap locals: org.h2.value.DataType
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.h2.value.DataType result
        end local 1 // org.h2.engine.Mode mode
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0       s  Ljava/lang/String;
            0    6     1    mode  Lorg/h2/engine/Mode;
            1    6     2  result  Lorg/h2/value/DataType;
    MethodParameters:
      Name  Flags
      s     
      mode  

  public static boolean isDateTimeType(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int type
         0: .line 1321
            iload 0 /* type */
            lookupswitch { // 4
                    9: 1
                   10: 1
                   11: 1
                   24: 1
              default: 2
          }
         1: .line 1326
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 1328
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  type  I
    MethodParameters:
      Name  Flags
      type  

  public static boolean isIntervalType(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int type
         0: .line 1339
            iload 0 /* type */
            bipush 26
            if_icmplt 1
            iload 0 /* type */
            bipush 38
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  type  I
    MethodParameters:
      Name  Flags
      type  

  public static boolean isYearMonthIntervalType(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int type
         0: .line 1349
            iload 0 /* type */
            bipush 26
            if_icmpeq 1
            iload 0 /* type */
            bipush 27
            if_icmpeq 1
            iload 0 /* type */
            bipush 32
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  type  I
    MethodParameters:
      Name  Flags
      type  

  public static boolean isLargeObject(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int type
         0: .line 1359
            iload 0 /* type */
            bipush 15
            if_icmpeq 1
            iload 0 /* type */
            bipush 16
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  type  I
    MethodParameters:
      Name  Flags
      type  

  public static boolean isNumericType(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int type
         0: .line 1369
            iload 0 /* type */
            iconst_2
            if_icmplt 1
            iload 0 /* type */
            bipush 8
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  type  I
    MethodParameters:
      Name  Flags
      type  

  public static boolean isStringType(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int type
         0: .line 1379
            iload 0 /* type */
            bipush 13
            if_icmpeq 1
            iload 0 /* type */
            bipush 21
            if_icmpeq 1
            iload 0 /* type */
            bipush 14
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  type  I
    MethodParameters:
      Name  Flags
      type  

  public static boolean isExtInfoType(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int type
         0: .line 1389
            iload 0 /* type */
            bipush 22
            if_icmpeq 1
            iload 0 /* type */
            bipush 25
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  type  I
    MethodParameters:
      Name  Flags
      type  

  public static boolean hasTotalOrdering(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int type
         0: .line 1399
            iload 0 /* type */
            tableswitch { // 1 - 38
                    1: 1
                    2: 1
                    3: 1
                    4: 1
                    5: 1
                    6: 2
                    7: 1
                    8: 1
                    9: 1
                   10: 1
                   11: 1
                   12: 1
                   13: 2
                   14: 2
                   15: 2
                   16: 2
                   17: 2
                   18: 2
                   19: 1
                   20: 1
                   21: 2
                   22: 1
                   23: 2
                   24: 2
                   25: 1
                   26: 1
                   27: 1
                   28: 1
                   29: 1
                   30: 1
                   31: 1
                   32: 1
                   33: 1
                   34: 1
                   35: 1
                   36: 1
                   37: 1
                   38: 1
              default: 2
          }
         1: .line 1431
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 1433
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  type  I
    MethodParameters:
      Name  Flags
      type  

  public static boolean supportsAdd(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int type
         0: .line 1444
            iload 0 /* type */
            tableswitch { // -1 - 38
                   -1: 2
                    0: 2
                    1: 2
                    2: 1
                    3: 1
                    4: 1
                    5: 1
                    6: 1
                    7: 1
                    8: 1
                    9: 2
                   10: 2
                   11: 2
                   12: 2
                   13: 2
                   14: 2
                   15: 2
                   16: 2
                   17: 2
                   18: 2
                   19: 2
                   20: 2
                   21: 2
                   22: 2
                   23: 3
                   24: 2
                   25: 3
                   26: 1
                   27: 1
                   28: 1
                   29: 1
                   30: 1
                   31: 1
                   32: 1
                   33: 1
                   34: 1
                   35: 1
                   36: 1
                   37: 1
                   38: 1
              default: 3
          }
         1: .line 1465
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 1484
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 1486
      StackMap locals:
      StackMap stack:
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            ifnull 5
         4: .line 1487
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            iload 0 /* type */
            invokeinterface org.h2.api.CustomDataTypesHandler.supportsAdd:(I)Z
            ireturn
         5: .line 1489
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  type  I
    MethodParameters:
      Name  Flags
      type  

  public static int getAddProofType(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int type
         0: .line 1501
            iload 0 /* type */
            tableswitch { // -1 - 38
                   -1: 6
                    0: 6
                    1: 6
                    2: 1
                    3: 5
                    4: 3
                    5: 4
                    6: 6
                    7: 6
                    8: 2
                    9: 6
                   10: 6
                   11: 6
                   12: 6
                   13: 6
                   14: 6
                   15: 6
                   16: 6
                   17: 6
                   18: 6
                   19: 6
                   20: 6
                   21: 6
                   22: 6
                   23: 7
                   24: 6
                   25: 7
                   26: 6
                   27: 6
                   28: 6
                   29: 6
                   30: 6
                   31: 6
                   32: 6
                   33: 6
                   34: 6
                   35: 6
                   36: 6
                   37: 6
                   38: 6
              default: 7
          }
         1: .line 1503
      StackMap locals:
      StackMap stack:
            iconst_5
            ireturn
         2: .line 1505
      StackMap locals:
      StackMap stack:
            bipush 7
            ireturn
         3: .line 1507
      StackMap locals:
      StackMap stack:
            iconst_5
            ireturn
         4: .line 1509
      StackMap locals:
      StackMap stack:
            bipush 6
            ireturn
         5: .line 1511
      StackMap locals:
      StackMap stack:
            iconst_5
            ireturn
         6: .line 1545
      StackMap locals:
      StackMap stack:
            iload 0 /* type */
            ireturn
         7: .line 1547
      StackMap locals:
      StackMap stack:
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            ifnull 9
         8: .line 1548
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            iload 0 /* type */
            invokeinterface org.h2.api.CustomDataTypesHandler.getAddProofType:(I)I
            ireturn
         9: .line 1550
      StackMap locals:
      StackMap stack:
            iload 0 /* type */
            ireturn
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  type  I
    MethodParameters:
      Name  Flags
      type  

  public static  getDefaultForPrimitiveType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 1562
            aload 0 /* clazz */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 2
         1: .line 1563
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            areturn
         2: .line 1564
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 4
         3: .line 1565
            iconst_0
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            areturn
         4: .line 1566
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 6
         5: .line 1567
            iconst_0
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            areturn
         6: .line 1568
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 8
         7: .line 1569
            iconst_0
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            areturn
         8: .line 1570
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 10
         9: .line 1571
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        10: .line 1572
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 12
        11: .line 1573
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        12: .line 1574
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 14
        13: .line 1575
            fconst_0
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
            areturn
        14: .line 1576
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 16
        15: .line 1577
            dconst_0
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        16: .line 1580
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "primitive="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* clazz */
            invokevirtual java.lang.Class.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 1579
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      clazz  

  public static  convertTo(org.h2.jdbc.JdbcConnection, org.h2.value.Value, java.lang.Class<?>);
    descriptor: (Lorg/h2/jdbc/JdbcConnection;Lorg/h2/value/Value;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.h2.jdbc.JdbcConnection conn
        start local 1 // org.h2.value.Value v
        start local 2 // java.lang.Class paramClass
         0: .line 1593
            aload 2 /* paramClass */
            ldc Ljava/sql/Blob;
            if_acmpne 2
         1: .line 1594
            new org.h2.jdbc.JdbcBlob
            dup
            aload 0 /* conn */
            aload 1 /* v */
            getstatic org.h2.jdbc.JdbcLob$State.WITH_VALUE:Lorg/h2/jdbc/JdbcLob$State;
            iconst_0
            invokespecial org.h2.jdbc.JdbcBlob.<init>:(Lorg/h2/jdbc/JdbcConnection;Lorg/h2/value/Value;Lorg/h2/jdbc/JdbcLob$State;I)V
            areturn
         2: .line 1595
      StackMap locals:
      StackMap stack:
            aload 2 /* paramClass */
            ldc Ljava/sql/Clob;
            if_acmpne 4
         3: .line 1596
            new org.h2.jdbc.JdbcClob
            dup
            aload 0 /* conn */
            aload 1 /* v */
            getstatic org.h2.jdbc.JdbcLob$State.WITH_VALUE:Lorg/h2/jdbc/JdbcLob$State;
            iconst_0
            invokespecial org.h2.jdbc.JdbcClob.<init>:(Lorg/h2/jdbc/JdbcConnection;Lorg/h2/value/Value;Lorg/h2/jdbc/JdbcLob$State;I)V
            areturn
         4: .line 1597
      StackMap locals:
      StackMap stack:
            aload 2 /* paramClass */
            ldc Ljava/sql/Array;
            if_acmpne 6
         5: .line 1598
            new org.h2.jdbc.JdbcArray
            dup
            aload 0 /* conn */
            aload 1 /* v */
            iconst_0
            invokespecial org.h2.jdbc.JdbcArray.<init>:(Lorg/h2/jdbc/JdbcConnection;Lorg/h2/value/Value;I)V
            areturn
         6: .line 1600
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getValueType:()I
            tableswitch { // -1 - 24
                   -1: 15
                    0: 15
                    1: 15
                    2: 15
                    3: 15
                    4: 15
                    5: 15
                    6: 15
                    7: 15
                    8: 15
                    9: 15
                   10: 15
                   11: 15
                   12: 15
                   13: 15
                   14: 15
                   15: 15
                   16: 15
                   17: 15
                   18: 15
                   19: 7
                   20: 15
                   21: 15
                   22: 15
                   23: 16
                   24: 15
              default: 16
          }
         7: .line 1602
      StackMap locals:
      StackMap stack:
            getstatic org.h2.engine.SysProperties.serializeJavaObject:Z
            ifeq 11
            aload 1 /* v */
            invokevirtual org.h2.value.Value.getBytes:()[B
         8: .line 1603
            aload 0 /* conn */
            invokevirtual org.h2.jdbc.JdbcConnection.getSession:()Lorg/h2/engine/SessionInterface;
            invokeinterface org.h2.engine.SessionInterface.getDataHandler:()Lorg/h2/store/DataHandler;
         9: .line 1602
            invokestatic org.h2.util.JdbcUtils.deserialize:([BLorg/h2/store/DataHandler;)Ljava/lang/Object;
        10: .line 1603
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 1 /* v */
            invokevirtual org.h2.value.Value.getObject:()Ljava/lang/Object;
        12: .line 1602
      StackMap locals:
      StackMap stack: java.lang.Object
            astore 3 /* o */
        start local 3 // java.lang.Object o
        13: .line 1604
            aload 2 /* paramClass */
            aload 3 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 18
        14: .line 1605
            aload 3 /* o */
            areturn
        end local 3 // java.lang.Object o
        15: .line 1633
      StackMap locals:
      StackMap stack:
            goto 18
        16: .line 1635
      StackMap locals:
      StackMap stack:
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            ifnull 18
        17: .line 1636
            getstatic org.h2.util.JdbcUtils.customDataTypesHandler:Lorg/h2/api/CustomDataTypesHandler;
            aload 1 /* v */
            aload 2 /* paramClass */
            invokeinterface org.h2.api.CustomDataTypesHandler.getObject:(Lorg/h2/value/Value;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        18: .line 1639
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "converting to class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* paramClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 2 // java.lang.Class paramClass
        end local 1 // org.h2.value.Value v
        end local 0 // org.h2.jdbc.JdbcConnection conn
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        conn  Lorg/h2/jdbc/JdbcConnection;
            0   19     1           v  Lorg/h2/value/Value;
            0   19     2  paramClass  Ljava/lang/Class<*>;
           13   15     3           o  Ljava/lang/Object;
    Signature: (Lorg/h2/jdbc/JdbcConnection;Lorg/h2/value/Value;Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      conn        
      v           
      paramClass  
}
SourceFile: "DataType.java"
InnerClasses:
  public final State = org.h2.jdbc.JdbcLob$State of org.h2.jdbc.JdbcLob