public final class io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper
  super_class: java.lang.Object
{
  private static final io.vertx.core.impl.logging.Logger log;
    descriptor: Lio/vertx/core/impl/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.vertx.core.json.JsonArray EMPTY;
    descriptor: Lio/vertx/core/json/JsonArray;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern DATETIME;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern DATE;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern TIME;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.regex.Pattern UUID;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 58
            ldc Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
            invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
            putstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.log:Lio/vertx/core/impl/logging/Logger;
         1: .line 60
            new io.vertx.core.json.JsonArray
            dup
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            invokespecial io.vertx.core.json.JsonArray.<init>:(Ljava/util/List;)V
            putstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.EMPTY:Lio/vertx/core/json/JsonArray;
         2: .line 62
            ldc "^\\d{4}-(?:0[0-9]|1[0-2])-[0-9]{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{3,9})?Z$"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.DATETIME:Ljava/util/regex/Pattern;
         3: .line 63
            ldc "^\\d{4}-(?:0[0-9]|1[0-2])-[0-9]{2}$"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.DATE:Ljava/util/regex/Pattern;
         4: .line 64
            ldc "^\\d{2}:\\d{2}:\\d{2}$"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.TIME:Ljava/util/regex/Pattern;
         5: .line 65
            ldc "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.UUID:Ljava/util/regex/Pattern;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper this
         0: .line 73
            aload 0 /* this */
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            invokespecial io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.<init>:(Lio/vertx/core/json/JsonObject;)V
         1: .line 74
            return
        end local 0 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;

  public void <init>(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper this
        start local 1 // io.vertx.core.json.JsonObject config
         0: .line 76
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 77
            aload 0 /* this */
            aload 1 /* config */
            ldc "castUUID"
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual io.vertx.core.json.JsonObject.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castUUID:Z
         2: .line 78
            aload 0 /* this */
            aload 1 /* config */
            ldc "castDate"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual io.vertx.core.json.JsonObject.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castDate:Z
         3: .line 79
            aload 0 /* this */
            aload 1 /* config */
            ldc "castTime"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual io.vertx.core.json.JsonObject.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castTime:Z
         4: .line 80
            aload 0 /* this */
            aload 1 /* config */
            ldc "castDatetime"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual io.vertx.core.json.JsonObject.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castDatetime:Z
         5: .line 81
            return
        end local 1 // io.vertx.core.json.JsonObject config
        end local 0 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
            0    6     1  config  Lio/vertx/core/json/JsonObject;
    MethodParameters:
        Name  Flags
      config  

  public void fillStatement(java.sql.PreparedStatement, io.vertx.core.json.JsonArray);
    descriptor: (Ljava/sql/PreparedStatement;Lio/vertx/core/json/JsonArray;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper this
        start local 1 // java.sql.PreparedStatement statement
        start local 2 // io.vertx.core.json.JsonArray in
         0: .line 84
            aload 2 /* in */
            ifnonnull 2
         1: .line 85
            getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.EMPTY:Lio/vertx/core/json/JsonArray;
            astore 2 /* in */
         2: .line 88
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 13
         4: .line 89
      StackMap locals: int
      StackMap stack:
            aload 2 /* in */
            iload 3 /* i */
            invokevirtual io.vertx.core.json.JsonArray.getValue:(I)Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         5: .line 91
            aload 4 /* value */
            ifnull 11
         6: .line 92
            aload 4 /* value */
            instanceof java.lang.String
            ifeq 9
         7: .line 93
            aload 1 /* statement */
            iload 3 /* i */
            iconst_1
            iadd
            aload 0 /* this */
            aload 4 /* value */
            checkcast java.lang.String
            invokevirtual io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.optimisticCast:(Ljava/lang/String;)Ljava/lang/Object;
            invokeinterface java.sql.PreparedStatement.setObject:(ILjava/lang/Object;)V
         8: .line 94
            goto 12
         9: .line 95
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* statement */
            iload 3 /* i */
            iconst_1
            iadd
            aload 4 /* value */
            invokeinterface java.sql.PreparedStatement.setObject:(ILjava/lang/Object;)V
        10: .line 97
            goto 12
        11: .line 98
      StackMap locals:
      StackMap stack:
            aload 1 /* statement */
            iload 3 /* i */
            iconst_1
            iadd
            aconst_null
            invokeinterface java.sql.PreparedStatement.setObject:(ILjava/lang/Object;)V
        end local 4 // java.lang.Object value
        12: .line 88
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            aload 2 /* in */
            invokevirtual io.vertx.core.json.JsonArray.size:()I
            if_icmplt 4
        end local 3 // int i
        14: .line 101
            return
        end local 2 // io.vertx.core.json.JsonArray in
        end local 1 // java.sql.PreparedStatement statement
        end local 0 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
            0   15     1  statement  Ljava/sql/PreparedStatement;
            0   15     2         in  Lio/vertx/core/json/JsonArray;
            3   14     3          i  I
            5   12     4      value  Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
           Name  Flags
      statement  
      in         

  public void fillStatement(java.sql.CallableStatement, io.vertx.core.json.JsonArray, io.vertx.core.json.JsonArray);
    descriptor: (Ljava/sql/CallableStatement;Lio/vertx/core/json/JsonArray;Lio/vertx/core/json/JsonArray;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper this
        start local 1 // java.sql.CallableStatement statement
        start local 2 // io.vertx.core.json.JsonArray in
        start local 3 // io.vertx.core.json.JsonArray out
         0: .line 104
            aload 2 /* in */
            ifnonnull 2
         1: .line 105
            getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.EMPTY:Lio/vertx/core/json/JsonArray;
            astore 2 /* in */
         2: .line 108
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            ifnonnull 4
         3: .line 109
            getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.EMPTY:Lio/vertx/core/json/JsonArray;
            astore 3 /* out */
         4: .line 112
      StackMap locals:
      StackMap stack:
            aload 2 /* in */
            invokevirtual io.vertx.core.json.JsonArray.size:()I
            aload 3 /* out */
            invokevirtual io.vertx.core.json.JsonArray.size:()I
            invokestatic java.lang.Math.max:(II)I
            istore 4 /* max */
        start local 4 // int max
         5: .line 114
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 30
         7: .line 115
      StackMap locals: int int
      StackMap stack:
            aconst_null
            astore 6 /* value */
        start local 6 // java.lang.Object value
         8: .line 116
            iconst_0
            istore 7 /* set */
        start local 7 // boolean set
         9: .line 118
            iload 5 /* i */
            aload 2 /* in */
            invokevirtual io.vertx.core.json.JsonArray.size:()I
            if_icmpge 11
        10: .line 119
            aload 2 /* in */
            iload 5 /* i */
            invokevirtual io.vertx.core.json.JsonArray.getValue:(I)Ljava/lang/Object;
            astore 6 /* value */
        11: .line 123
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 6 /* value */
            ifnull 17
        12: .line 124
            aload 6 /* value */
            instanceof java.lang.String
            ifeq 15
        13: .line 125
            aload 1 /* statement */
            iload 5 /* i */
            iconst_1
            iadd
            aload 0 /* this */
            aload 6 /* value */
            checkcast java.lang.String
            invokevirtual io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.optimisticCast:(Ljava/lang/String;)Ljava/lang/Object;
            invokeinterface java.sql.CallableStatement.setObject:(ILjava/lang/Object;)V
        14: .line 126
            goto 16
        15: .line 127
      StackMap locals:
      StackMap stack:
            aload 1 /* statement */
            iload 5 /* i */
            iconst_1
            iadd
            aload 6 /* value */
            invokeinterface java.sql.CallableStatement.setObject:(ILjava/lang/Object;)V
        16: .line 129
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* set */
        17: .line 133
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* value */
        18: .line 135
            iload 5 /* i */
            aload 3 /* out */
            invokevirtual io.vertx.core.json.JsonArray.size:()I
            if_icmpge 20
        19: .line 136
            aload 3 /* out */
            iload 5 /* i */
            invokevirtual io.vertx.core.json.JsonArray.getValue:(I)Ljava/lang/Object;
            astore 6 /* value */
        20: .line 140
      StackMap locals:
      StackMap stack:
            aload 6 /* value */
            ifnull 27
        21: .line 143
            aload 6 /* value */
            instanceof java.lang.String
            ifeq 24
        22: .line 144
            aload 1 /* statement */
            iload 5 /* i */
            iconst_1
            iadd
            aload 6 /* value */
            checkcast java.lang.String
            invokestatic java.sql.JDBCType.valueOf:(Ljava/lang/String;)Ljava/sql/JDBCType;
            invokevirtual java.sql.JDBCType.getVendorTypeNumber:()Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface java.sql.CallableStatement.registerOutParameter:(II)V
        23: .line 145
            goto 26
      StackMap locals:
      StackMap stack:
        24: aload 6 /* value */
            instanceof java.lang.Number
            ifeq 26
        25: .line 147
            aload 1 /* statement */
            iload 5 /* i */
            iconst_1
            iadd
            aload 6 /* value */
            checkcast java.lang.Number
            invokevirtual java.lang.Number.intValue:()I
            invokeinterface java.sql.CallableStatement.registerOutParameter:(II)V
        26: .line 149
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* set */
        27: .line 152
      StackMap locals:
      StackMap stack:
            iload 7 /* set */
            ifne 29
        28: .line 154
            aload 1 /* statement */
            iload 5 /* i */
            iconst_1
            iadd
            iconst_0
            invokeinterface java.sql.CallableStatement.setNull:(II)V
        end local 7 // boolean set
        end local 6 // java.lang.Object value
        29: .line 114
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 5 /* i */
            iload 4 /* max */
            if_icmplt 7
        end local 5 // int i
        31: .line 157
            return
        end local 4 // int max
        end local 3 // io.vertx.core.json.JsonArray out
        end local 2 // io.vertx.core.json.JsonArray in
        end local 1 // java.sql.CallableStatement statement
        end local 0 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   32     0       this  Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
            0   32     1  statement  Ljava/sql/CallableStatement;
            0   32     2         in  Lio/vertx/core/json/JsonArray;
            0   32     3        out  Lio/vertx/core/json/JsonArray;
            5   32     4        max  I
            6   31     5          i  I
            8   29     6      value  Ljava/lang/Object;
            9   29     7        set  Z
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
           Name  Flags
      statement  
      in         
      out        

  public io.vertx.ext.sql.ResultSet asList(java.sql.ResultSet);
    descriptor: (Ljava/sql/ResultSet;)Lio/vertx/ext/sql/ResultSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper this
        start local 1 // java.sql.ResultSet rs
         0: .line 161
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* columnNames */
        start local 2 // java.util.List columnNames
         1: .line 162
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
            astore 3 /* metaData */
        start local 3 // java.sql.ResultSetMetaData metaData
         2: .line 163
            aload 3 /* metaData */
            invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
            istore 4 /* cols */
        start local 4 // int cols
         3: .line 164
            iconst_1
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 165
      StackMap locals: io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper java.sql.ResultSet java.util.List java.sql.ResultSetMetaData int int
      StackMap stack:
            aload 2 /* columnNames */
            aload 3 /* metaData */
            iload 5 /* i */
            invokeinterface java.sql.ResultSetMetaData.getColumnLabel:(I)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 164
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            iload 4 /* cols */
            if_icmple 5
        end local 5 // int i
         8: .line 168
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* results */
        start local 5 // java.util.List results
         9: .line 170
            goto 21
        10: .line 171
      StackMap locals: io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper java.sql.ResultSet java.util.List java.sql.ResultSetMetaData int java.util.List
      StackMap stack:
            new io.vertx.core.json.JsonArray
            dup
            invokespecial io.vertx.core.json.JsonArray.<init>:()V
            astore 6 /* result */
        start local 6 // io.vertx.core.json.JsonArray result
        11: .line 172
            iconst_1
            istore 7 /* i */
        start local 7 // int i
        12: goto 19
        13: .line 173
      StackMap locals: io.vertx.core.json.JsonArray int
      StackMap stack:
            aload 1 /* rs */
            iload 7 /* i */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            invokestatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.convertSqlValue:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* res */
        start local 8 // java.lang.Object res
        14: .line 174
            aload 8 /* res */
            ifnull 17
        15: .line 175
            aload 6 /* result */
            aload 8 /* res */
            invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
            pop
        16: .line 176
            goto 18
        17: .line 177
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 6 /* result */
            invokevirtual io.vertx.core.json.JsonArray.addNull:()Lio/vertx/core/json/JsonArray;
            pop
        end local 8 // java.lang.Object res
        18: .line 172
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 7 /* i */
            iload 4 /* cols */
            if_icmple 13
        end local 7 // int i
        20: .line 180
            aload 5 /* results */
            aload 6 /* result */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // io.vertx.core.json.JsonArray result
        21: .line 170
      StackMap locals:
      StackMap stack:
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 10
        22: .line 183
            new io.vertx.ext.sql.ResultSet
            dup
            aload 2 /* columnNames */
            aload 5 /* results */
            aconst_null
            invokespecial io.vertx.ext.sql.ResultSet.<init>:(Ljava/util/List;Ljava/util/List;Lio/vertx/ext/sql/ResultSet;)V
            areturn
        end local 5 // java.util.List results
        end local 4 // int cols
        end local 3 // java.sql.ResultSetMetaData metaData
        end local 2 // java.util.List columnNames
        end local 1 // java.sql.ResultSet rs
        end local 0 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
            0   23     1           rs  Ljava/sql/ResultSet;
            1   23     2  columnNames  Ljava/util/List<Ljava/lang/String;>;
            2   23     3     metaData  Ljava/sql/ResultSetMetaData;
            3   23     4         cols  I
            4    8     5            i  I
            9   23     5      results  Ljava/util/List<Lio/vertx/core/json/JsonArray;>;
           11   21     6       result  Lio/vertx/core/json/JsonArray;
           12   20     7            i  I
           14   18     8          res  Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      rs    

  public static java.lang.Object convertSqlValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // java.lang.Object value
         0: .line 187
            aload 0 /* value */
            ifnonnull 2
         1: .line 188
            aconst_null
            areturn
         2: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Boolean
            ifne 3
            aload 0 /* value */
            instanceof java.lang.String
            ifne 3
            aload 0 /* value */
            instanceof byte[]
            ifeq 4
         3: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            areturn
         4: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Number
            ifeq 11
         5: .line 198
            aload 0 /* value */
            instanceof java.math.BigDecimal
            ifeq 10
         6: .line 199
            aload 0 /* value */
            checkcast java.math.BigDecimal
            astore 1 /* d */
        start local 1 // java.math.BigDecimal d
         7: .line 200
            aload 1 /* d */
            invokevirtual java.math.BigDecimal.scale:()I
            ifne 9
         8: .line 201
            aload 0 /* value */
            checkcast java.math.BigDecimal
            invokevirtual java.math.BigDecimal.toBigInteger:()Ljava/math/BigInteger;
            areturn
         9: .line 204
      StackMap locals: java.math.BigDecimal
      StackMap stack:
            aload 0 /* value */
            checkcast java.math.BigDecimal
            invokevirtual java.math.BigDecimal.doubleValue:()D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            areturn
        end local 1 // java.math.BigDecimal d
        10: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            areturn
        11: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.Time
            ifeq 13
        12: .line 213
            aload 0 /* value */
            checkcast java.sql.Time
            invokevirtual java.sql.Time.toLocalTime:()Ljava/time/LocalTime;
            getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
            invokevirtual java.time.LocalTime.atOffset:(Ljava/time/ZoneOffset;)Ljava/time/OffsetTime;
            getstatic java.time.format.DateTimeFormatter.ISO_LOCAL_TIME:Ljava/time/format/DateTimeFormatter;
            invokevirtual java.time.OffsetTime.format:(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
            areturn
        13: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.Date
            ifeq 15
        14: .line 217
            aload 0 /* value */
            checkcast java.sql.Date
            invokevirtual java.sql.Date.toLocalDate:()Ljava/time/LocalDate;
            getstatic java.time.format.DateTimeFormatter.ISO_LOCAL_DATE:Ljava/time/format/DateTimeFormatter;
            invokevirtual java.time.LocalDate.format:(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
            areturn
        15: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.Timestamp
            ifeq 17
        16: .line 221
            aload 0 /* value */
            checkcast java.sql.Timestamp
            invokevirtual java.sql.Timestamp.toInstant:()Ljava/time/Instant;
            getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
            invokestatic java.time.OffsetDateTime.ofInstant:(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/OffsetDateTime;
            getstatic java.time.format.DateTimeFormatter.ISO_OFFSET_DATE_TIME:Ljava/time/format/DateTimeFormatter;
            invokevirtual java.time.OffsetDateTime.format:(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
            areturn
        17: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.Clob
            ifeq 29
        18: .line 226
            aload 0 /* value */
            checkcast java.sql.Clob
            astore 1 /* c */
        start local 1 // java.sql.Clob c
        19: .line 229
            aload 1 /* c */
            lconst_1
            aload 1 /* c */
            invokeinterface java.sql.Clob.length:()J
            l2i
            invokeinterface java.sql.Clob.getSubString:(JI)Ljava/lang/String;
            astore 3
        20: .line 232
            aload 1 /* c */
            invokeinterface java.sql.Clob.free:()V
        21: .line 233
            goto 23
      StackMap locals: java.lang.Object java.sql.Clob top java.lang.Object
      StackMap stack: java.lang.Throwable
        22: pop
        23: .line 229
      StackMap locals:
      StackMap stack:
            aload 3
            areturn
        24: .line 230
      StackMap locals: java.lang.Object java.sql.Clob
      StackMap stack: java.lang.Throwable
            astore 2
        25: .line 232
            aload 1 /* c */
            invokeinterface java.sql.Clob.free:()V
        26: .line 233
            goto 28
      StackMap locals: java.lang.Object java.sql.Clob java.lang.Throwable
      StackMap stack: java.lang.Throwable
        27: pop
        28: .line 236
      StackMap locals:
      StackMap stack:
            aload 2
            athrow
        end local 1 // java.sql.Clob c
        29: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.Blob
            ifeq 41
        30: .line 240
            aload 0 /* value */
            checkcast java.sql.Blob
            astore 1 /* b */
        start local 1 // java.sql.Blob b
        31: .line 243
            aload 1 /* b */
            lconst_1
            aload 1 /* b */
            invokeinterface java.sql.Blob.length:()J
            l2i
            invokeinterface java.sql.Blob.getBytes:(JI)[B
            astore 3
        32: .line 246
            aload 1 /* b */
            invokeinterface java.sql.Blob.free:()V
        33: .line 247
            goto 35
      StackMap locals: java.lang.Object java.sql.Blob top java.lang.Object
      StackMap stack: java.lang.Throwable
        34: pop
        35: .line 243
      StackMap locals:
      StackMap stack:
            aload 3
            areturn
        36: .line 244
      StackMap locals: java.lang.Object java.sql.Blob
      StackMap stack: java.lang.Throwable
            astore 2
        37: .line 246
            aload 1 /* b */
            invokeinterface java.sql.Blob.free:()V
        38: .line 247
            goto 40
      StackMap locals: java.lang.Object java.sql.Blob java.lang.Throwable
      StackMap stack: java.lang.Throwable
        39: pop
        40: .line 250
      StackMap locals:
      StackMap stack:
            aload 2
            athrow
        end local 1 // java.sql.Blob b
        41: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.Array
            ifeq 58
        42: .line 255
            aload 0 /* value */
            checkcast java.sql.Array
            astore 1 /* a */
        start local 1 // java.sql.Array a
        43: .line 257
            aload 1 /* a */
            invokeinterface java.sql.Array.getArray:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 2 /* arr */
        start local 2 // java.lang.Object[] arr
        44: .line 258
            aload 2 /* arr */
            ifnull 57
        45: .line 259
            new io.vertx.core.json.JsonArray
            dup
            invokespecial io.vertx.core.json.JsonArray.<init>:()V
            astore 3 /* jsonArray */
        start local 3 // io.vertx.core.json.JsonArray jsonArray
        46: .line 260
            aload 2 /* arr */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 50
      StackMap locals: java.lang.Object java.sql.Array java.lang.Object[] io.vertx.core.json.JsonArray top int int java.lang.Object[]
      StackMap stack:
        47: aload 7
            iload 5
            aaload
            astore 4 /* o */
        start local 4 // java.lang.Object o
        48: .line 261
            aload 3 /* jsonArray */
            aload 4 /* o */
            invokestatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.convertSqlValue:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
            pop
        end local 4 // java.lang.Object o
        49: .line 260
            iinc 5 1
      StackMap locals:
      StackMap stack:
        50: iload 5
            iload 6
            if_icmplt 47
        51: .line 263
            aload 3 /* jsonArray */
            astore 9
        52: .line 266
            aload 1 /* a */
            invokeinterface java.sql.Array.free:()V
        53: .line 263
            aload 9
            areturn
        end local 3 // io.vertx.core.json.JsonArray jsonArray
        end local 2 // java.lang.Object[] arr
        54: .line 265
      StackMap locals: java.lang.Object java.sql.Array
      StackMap stack: java.lang.Throwable
            astore 8
        55: .line 266
            aload 1 /* a */
            invokeinterface java.sql.Array.free:()V
        56: .line 267
            aload 8
            athrow
        57: .line 266
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            invokeinterface java.sql.Array.free:()V
        end local 1 // java.sql.Array a
        58: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   59     0      value  Ljava/lang/Object;
            7   10     1          d  Ljava/math/BigDecimal;
           19   29     1          c  Ljava/sql/Clob;
           31   41     1          b  Ljava/sql/Blob;
           43   58     1          a  Ljava/sql/Array;
           44   54     2        arr  [Ljava/lang/Object;
           46   54     3  jsonArray  Lio/vertx/core/json/JsonArray;
           48   49     4          o  Ljava/lang/Object;
      Exception table:
        from    to  target  type
          20    21      22  Class java.lang.AbstractMethodError
          20    21      22  Class java.sql.SQLFeatureNotSupportedException
          19    20      24  any
          25    26      27  Class java.lang.AbstractMethodError
          25    26      27  Class java.sql.SQLFeatureNotSupportedException
          32    33      34  Class java.lang.AbstractMethodError
          32    33      34  Class java.sql.SQLFeatureNotSupportedException
          31    32      36  any
          37    38      39  Class java.lang.AbstractMethodError
          37    38      39  Class java.sql.SQLFeatureNotSupportedException
          43    52      54  any
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
       Name  Flags
      value  

  public java.lang.Object optimisticCast(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper this
        start local 1 // java.lang.String value
         0: .line 275
            aload 1 /* value */
            ifnonnull 2
         1: .line 276
            aconst_null
            areturn
         2: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castTime:Z
            ifeq 7
            getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.TIME:Ljava/util/regex/Pattern;
            aload 1 /* value */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 7
         3: .line 283
            aload 1 /* value */
            invokestatic java.time.LocalTime.parse:(Ljava/lang/CharSequence;)Ljava/time/LocalTime;
            sipush 1970
            iconst_1
            iconst_1
            invokestatic java.time.LocalDate.of:(III)Ljava/time/LocalDate;
            invokevirtual java.time.LocalTime.atDate:(Ljava/time/LocalDate;)Ljava/time/LocalDateTime;
            getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
            invokevirtual java.time.LocalDateTime.toInstant:(Ljava/time/ZoneOffset;)Ljava/time/Instant;
            astore 2 /* instant */
        start local 2 // java.time.Instant instant
         4: .line 285
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            aload 2 /* instant */
            invokevirtual java.time.Instant.toEpochMilli:()J
            invokevirtual java.util.TimeZone.getOffset:(J)I
            istore 3 /* offset */
        start local 3 // int offset
         5: .line 287
            new java.sql.Time
            dup
            aload 2 /* instant */
            invokevirtual java.time.Instant.toEpochMilli:()J
            iload 3 /* offset */
            i2l
            lsub
            invokespecial java.sql.Time.<init>:(J)V
         6: areturn
        end local 3 // int offset
        end local 2 // java.time.Instant instant
         7: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castDate:Z
            ifeq 12
            getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.DATE:Ljava/util/regex/Pattern;
            aload 1 /* value */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 12
         8: .line 293
            aload 1 /* value */
            invokestatic java.time.LocalDate.parse:(Ljava/lang/CharSequence;)Ljava/time/LocalDate;
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokestatic java.time.LocalTime.of:(IIII)Ljava/time/LocalTime;
            invokevirtual java.time.LocalDate.atTime:(Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
            getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
            invokevirtual java.time.LocalDateTime.toInstant:(Ljava/time/ZoneOffset;)Ljava/time/Instant;
            astore 2 /* instant */
        start local 2 // java.time.Instant instant
         9: .line 295
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            aload 2 /* instant */
            invokevirtual java.time.Instant.toEpochMilli:()J
            invokevirtual java.util.TimeZone.getOffset:(J)I
            istore 3 /* offset */
        start local 3 // int offset
        10: .line 297
            new java.sql.Date
            dup
            aload 2 /* instant */
            invokevirtual java.time.Instant.toEpochMilli:()J
            iload 3 /* offset */
            i2l
            lsub
            invokespecial java.sql.Date.<init>:(J)V
        11: areturn
        end local 3 // int offset
        end local 2 // java.time.Instant instant
        12: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castDatetime:Z
            ifeq 16
            getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.DATETIME:Ljava/util/regex/Pattern;
            aload 1 /* value */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 16
        13: .line 302
            getstatic java.time.format.DateTimeFormatter.ISO_INSTANT:Ljava/time/format/DateTimeFormatter;
            aload 1 /* value */
            invokevirtual java.time.format.DateTimeFormatter.parse:(Ljava/lang/CharSequence;)Ljava/time/temporal/TemporalAccessor;
            invokestatic java.time.Instant.from:(Ljava/time/temporal/TemporalAccessor;)Ljava/time/Instant;
            astore 2 /* instant */
        start local 2 // java.time.Instant instant
        14: .line 303
            aload 2 /* instant */
            invokestatic java.sql.Timestamp.from:(Ljava/time/Instant;)Ljava/sql/Timestamp;
        15: areturn
        end local 2 // java.time.Instant instant
        16: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.castUUID:Z
            ifeq 21
            getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.UUID:Ljava/util/regex/Pattern;
            aload 1 /* value */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 21
        17: .line 308
            aload 1 /* value */
            invokestatic java.util.UUID.fromString:(Ljava/lang/String;)Ljava/util/UUID;
        18: areturn
        19: .line 311
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 2 /* e */
        start local 2 // java.lang.RuntimeException e
        20: .line 312
            getstatic io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper.log:Lio/vertx/core/impl/logging/Logger;
            aload 2 /* e */
            invokeinterface io.vertx.core.impl.logging.Logger.debug:(Ljava/lang/Object;)V
        end local 2 // java.lang.RuntimeException e
        21: .line 316
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 1 // java.lang.String value
        end local 0 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
            0   22     1    value  Ljava/lang/String;
            4    7     2  instant  Ljava/time/Instant;
            5    7     3   offset  I
            9   12     2  instant  Ljava/time/Instant;
           10   12     3   offset  I
           14   16     2  instant  Ljava/time/Instant;
           20   21     2        e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           2     6      19  Class java.lang.RuntimeException
           7    11      19  Class java.lang.RuntimeException
          12    15      19  Class java.lang.RuntimeException
          16    18      19  Class java.lang.RuntimeException
    MethodParameters:
       Name  Flags
      value  
}
SourceFile: "JDBCStatementHelper.java"