public abstract class io.vertx.jdbcclient.impl.actions.JDBCQueryAction<C, R> extends io.vertx.ext.jdbc.impl.actions.AbstractJDBCAction<io.vertx.jdbcclient.impl.actions.JDBCResponse<R>>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.vertx.jdbcclient.impl.actions.JDBCQueryAction
  super_class: io.vertx.ext.jdbc.impl.actions.AbstractJDBCAction
{
  private final java.util.stream.Collector<io.vertx.sqlclient.Row, C, R> collector;
    descriptor: Ljava/util/stream/Collector;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;TC;TR;>;

  public void <init>(io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper, io.vertx.ext.sql.SQLOptions, java.util.stream.Collector<io.vertx.sqlclient.Row, C, R>);
    descriptor: (Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;Lio/vertx/ext/sql/SQLOptions;Ljava/util/stream/Collector;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
        start local 1 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper helper
        start local 2 // io.vertx.ext.sql.SQLOptions options
        start local 3 // java.util.stream.Collector collector
         0: .line 44
            aload 0 /* this */
            aload 1 /* helper */
            aload 2 /* options */
            invokespecial io.vertx.ext.jdbc.impl.actions.AbstractJDBCAction.<init>:(Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;Lio/vertx/ext/sql/SQLOptions;)V
         1: .line 45
            aload 0 /* this */
            aload 3 /* collector */
            putfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
         2: .line 46
            return
        end local 3 // java.util.stream.Collector collector
        end local 2 // io.vertx.ext.sql.SQLOptions options
        end local 1 // io.vertx.ext.jdbc.impl.actions.JDBCStatementHelper helper
        end local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lio/vertx/jdbcclient/impl/actions/JDBCQueryAction<TC;TR;>;
            0    3     1     helper  Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;
            0    3     2    options  Lio/vertx/ext/sql/SQLOptions;
            0    3     3  collector  Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;TC;TR;>;
    Signature: (Lio/vertx/ext/jdbc/impl/actions/JDBCStatementHelper;Lio/vertx/ext/sql/SQLOptions;Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;TC;TR;>;)V
    MethodParameters:
           Name  Flags
      helper     
      options    
      collector  

  protected io.vertx.jdbcclient.impl.actions.JDBCResponse<R> decode(java.sql.Statement, boolean, boolean, java.util.List<java.lang.Integer>);
    descriptor: (Ljava/sql/Statement;ZZLjava/util/List;)Lio/vertx/jdbcclient/impl/actions/JDBCResponse;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
        start local 1 // java.sql.Statement statement
        start local 2 // boolean returnedResultSet
        start local 3 // boolean returnedKeys
        start local 4 // java.util.List out
         0: .line 50
            new io.vertx.jdbcclient.impl.actions.JDBCResponse
            dup
            aload 1 /* statement */
            invokeinterface java.sql.Statement.getUpdateCount:()I
            invokespecial io.vertx.jdbcclient.impl.actions.JDBCResponse.<init>:(I)V
            astore 5 /* response */
        start local 5 // io.vertx.jdbcclient.impl.actions.JDBCResponse response
         1: .line 52
            iload 2 /* returnedResultSet */
            ifeq 15
         2: .line 54
            goto 13
         3: .line 55
      StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCResponse
      StackMap stack:
            aconst_null
            astore 6
            aconst_null
            astore 7
         4: aload 1 /* statement */
            invokeinterface java.sql.Statement.getResultSet:()Ljava/sql/ResultSet;
            astore 8 /* rs */
        start local 8 // java.sql.ResultSet rs
         5: .line 56
            aload 0 /* this */
            aload 8 /* rs */
            aload 5 /* response */
            invokevirtual io.vertx.jdbcclient.impl.actions.JDBCQueryAction.decodeResultSet:(Ljava/sql/ResultSet;Lio/vertx/jdbcclient/impl/actions/JDBCResponse;)V
         6: .line 57
            aload 8 /* rs */
            ifnull 12
            aload 8 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
            goto 12
      StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCQueryAction java.sql.Statement int int java.util.List io.vertx.jdbcclient.impl.actions.JDBCResponse java.lang.Throwable java.lang.Throwable java.sql.ResultSet
      StackMap stack: java.lang.Throwable
         7: astore 6
            aload 8 /* rs */
            ifnull 8
            aload 8 /* rs */
            invokeinterface java.sql.ResultSet.close:()V
        end local 8 // java.sql.ResultSet rs
      StackMap locals:
      StackMap stack:
         8: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 7
            aload 6
            ifnonnull 10
            aload 7
            astore 6
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 6
            aload 7
            if_acmpeq 11
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 6
            athrow
        12: .line 58
      StackMap locals:
      StackMap stack:
            aload 1 /* statement */
            invokeinterface java.sql.Statement.getMoreResults:()Z
            istore 2 /* returnedResultSet */
        13: .line 54
      StackMap locals:
      StackMap stack:
            iload 2 /* returnedResultSet */
            ifne 3
        14: .line 60
            goto 18
        15: .line 61
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.accumulator:()Ljava/util/function/BiConsumer;
            pop
        16: .line 63
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.supplier:()Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            astore 6 /* container */
        start local 6 // java.lang.Object container
        17: .line 65
            aload 5 /* response */
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.finisher:()Ljava/util/function/Function;
            aload 6 /* container */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual io.vertx.jdbcclient.impl.actions.JDBCResponse.empty:(Ljava/lang/Object;)V
        end local 6 // java.lang.Object container
        18: .line 68
      StackMap locals:
      StackMap stack:
            iload 3 /* returnedKeys */
            ifeq 20
        19: .line 69
            aload 0 /* this */
            aload 1 /* statement */
            aload 5 /* response */
            invokevirtual io.vertx.jdbcclient.impl.actions.JDBCQueryAction.decodeReturnedKeys:(Ljava/sql/Statement;Lio/vertx/jdbcclient/impl/actions/JDBCResponse;)V
        20: .line 72
      StackMap locals:
      StackMap stack:
            aload 4 /* out */
            invokeinterface java.util.List.size:()I
            ifle 22
        21: .line 73
            aload 0 /* this */
            aload 1 /* statement */
            checkcast java.sql.CallableStatement
            aload 4 /* out */
            aload 5 /* response */
            invokevirtual io.vertx.jdbcclient.impl.actions.JDBCQueryAction.decodeOutput:(Ljava/sql/CallableStatement;Ljava/util/List;Lio/vertx/jdbcclient/impl/actions/JDBCResponse;)V
        22: .line 76
      StackMap locals:
      StackMap stack:
            aload 5 /* response */
            areturn
        end local 5 // io.vertx.jdbcclient.impl.actions.JDBCResponse response
        end local 4 // java.util.List out
        end local 3 // boolean returnedKeys
        end local 2 // boolean returnedResultSet
        end local 1 // java.sql.Statement statement
        end local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   23     0               this  Lio/vertx/jdbcclient/impl/actions/JDBCQueryAction<TC;TR;>;
            0   23     1          statement  Ljava/sql/Statement;
            0   23     2  returnedResultSet  Z
            0   23     3       returnedKeys  Z
            0   23     4                out  Ljava/util/List<Ljava/lang/Integer;>;
            1   23     5           response  Lio/vertx/jdbcclient/impl/actions/JDBCResponse<TR;>;
            5    8     8                 rs  Ljava/sql/ResultSet;
           17   18     6          container  TC;
      Exception table:
        from    to  target  type
           5     6       7  any
           4     9       9  any
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/sql/Statement;ZZLjava/util/List<Ljava/lang/Integer;>;)Lio/vertx/jdbcclient/impl/actions/JDBCResponse<TR;>;
    MethodParameters:
                   Name  Flags
      statement          
      returnedResultSet  
      returnedKeys       
      out                

  protected io.vertx.jdbcclient.impl.actions.JDBCResponse<R> decode(java.sql.Statement, int[], boolean);
    descriptor: (Ljava/sql/Statement;[IZ)Lio/vertx/jdbcclient/impl/actions/JDBCResponse;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=13, args_size=4
        start local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
        start local 1 // java.sql.Statement statement
        start local 2 // int[] returnedBatchResult
        start local 3 // boolean returnedKeys
         0: .line 80
            new io.vertx.jdbcclient.impl.actions.JDBCResponse
            dup
            aload 2 /* returnedBatchResult */
            arraylength
            invokespecial io.vertx.jdbcclient.impl.actions.JDBCResponse.<init>:(I)V
            astore 4 /* response */
        start local 4 // io.vertx.jdbcclient.impl.actions.JDBCResponse response
         1: .line 82
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.accumulator:()Ljava/util/function/BiConsumer;
            astore 5 /* accumulator */
        start local 5 // java.util.function.BiConsumer accumulator
         2: .line 84
            new io.vertx.sqlclient.impl.RowDesc
            dup
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokespecial io.vertx.sqlclient.impl.RowDesc.<init>:(Ljava/util/List;)V
            astore 6 /* desc */
        start local 6 // io.vertx.sqlclient.impl.RowDesc desc
         3: .line 85
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.supplier:()Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            astore 7 /* container */
        start local 7 // java.lang.Object container
         4: .line 86
            aload 2 /* returnedBatchResult */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 10
      StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCQueryAction java.sql.Statement int[] int io.vertx.jdbcclient.impl.actions.JDBCResponse java.util.function.BiConsumer io.vertx.sqlclient.impl.RowDesc java.lang.Object top int int int[]
      StackMap stack:
         5: aload 11
            iload 9
            iaload
            istore 8 /* result */
        start local 8 // int result
         6: .line 87
            new io.vertx.jdbcclient.impl.JDBCRow
            dup
            aload 6 /* desc */
            invokespecial io.vertx.jdbcclient.impl.JDBCRow.<init>:(Lio/vertx/sqlclient/impl/RowDesc;)V
            astore 12 /* row */
        start local 12 // io.vertx.sqlclient.Row row
         7: .line 88
            aload 12 /* row */
            iload 8 /* result */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface io.vertx.sqlclient.Row.addValue:(Ljava/lang/Object;)Lio/vertx/sqlclient/Tuple;
            pop
         8: .line 89
            aload 5 /* accumulator */
            aload 7 /* container */
            aload 12 /* row */
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 12 // io.vertx.sqlclient.Row row
        end local 8 // int result
         9: .line 86
            iinc 9 1
      StackMap locals:
      StackMap stack:
        10: iload 9
            iload 10
            if_icmplt 5
        11: .line 92
            aload 4 /* response */
        12: .line 93
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.finisher:()Ljava/util/function/Function;
            aload 7 /* container */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 6 /* desc */
            aload 2 /* returnedBatchResult */
            arraylength
            invokevirtual io.vertx.jdbcclient.impl.actions.JDBCResponse.push:(Ljava/lang/Object;Lio/vertx/sqlclient/impl/RowDesc;I)V
        13: .line 95
            iload 3 /* returnedKeys */
            ifeq 15
        14: .line 96
            aload 0 /* this */
            aload 1 /* statement */
            aload 4 /* response */
            invokevirtual io.vertx.jdbcclient.impl.actions.JDBCQueryAction.decodeReturnedKeys:(Ljava/sql/Statement;Lio/vertx/jdbcclient/impl/actions/JDBCResponse;)V
        15: .line 99
      StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCQueryAction java.sql.Statement int[] int io.vertx.jdbcclient.impl.actions.JDBCResponse java.util.function.BiConsumer io.vertx.sqlclient.impl.RowDesc java.lang.Object
      StackMap stack:
            aload 4 /* response */
            areturn
        end local 7 // java.lang.Object container
        end local 6 // io.vertx.sqlclient.impl.RowDesc desc
        end local 5 // java.util.function.BiConsumer accumulator
        end local 4 // io.vertx.jdbcclient.impl.actions.JDBCResponse response
        end local 3 // boolean returnedKeys
        end local 2 // int[] returnedBatchResult
        end local 1 // java.sql.Statement statement
        end local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   16     0                 this  Lio/vertx/jdbcclient/impl/actions/JDBCQueryAction<TC;TR;>;
            0   16     1            statement  Ljava/sql/Statement;
            0   16     2  returnedBatchResult  [I
            0   16     3         returnedKeys  Z
            1   16     4             response  Lio/vertx/jdbcclient/impl/actions/JDBCResponse<TR;>;
            2   16     5          accumulator  Ljava/util/function/BiConsumer<TC;Lio/vertx/sqlclient/Row;>;
            3   16     6                 desc  Lio/vertx/sqlclient/impl/RowDesc;
            4   16     7            container  TC;
            6    9     8               result  I
            7    9    12                  row  Lio/vertx/sqlclient/Row;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/sql/Statement;[IZ)Lio/vertx/jdbcclient/impl/actions/JDBCResponse<TR;>;
    MethodParameters:
                     Name  Flags
      statement            
      returnedBatchResult  
      returnedKeys         

  private void decodeResultSet(java.sql.ResultSet, io.vertx.jdbcclient.impl.actions.JDBCResponse<R>);
    descriptor: (Ljava/sql/ResultSet;Lio/vertx/jdbcclient/impl/actions/JDBCResponse;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=13, args_size=3
        start local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
        start local 1 // java.sql.ResultSet rs
        start local 2 // io.vertx.jdbcclient.impl.actions.JDBCResponse response
         0: .line 103
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.accumulator:()Ljava/util/function/BiConsumer;
            astore 3 /* accumulator */
        start local 3 // java.util.function.BiConsumer accumulator
         1: .line 105
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* columnNames */
        start local 4 // java.util.List columnNames
         2: .line 106
            new io.vertx.sqlclient.impl.RowDesc
            dup
            aload 4 /* columnNames */
            invokespecial io.vertx.sqlclient.impl.RowDesc.<init>:(Ljava/util/List;)V
            astore 5 /* desc */
        start local 5 // io.vertx.sqlclient.impl.RowDesc desc
         3: .line 107
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.supplier:()Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            astore 6 /* container */
        start local 6 // java.lang.Object container
         4: .line 108
            iconst_0
            istore 7 /* size */
        start local 7 // int size
         5: .line 109
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
            astore 8 /* metaData */
        start local 8 // java.sql.ResultSetMetaData metaData
         6: .line 110
            aload 8 /* metaData */
            invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
            istore 9 /* cols */
        start local 9 // int cols
         7: .line 111
            iconst_1
            istore 10 /* i */
        start local 10 // int i
         8: goto 11
         9: .line 112
      StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCQueryAction java.sql.ResultSet io.vertx.jdbcclient.impl.actions.JDBCResponse java.util.function.BiConsumer java.util.List io.vertx.sqlclient.impl.RowDesc java.lang.Object int java.sql.ResultSetMetaData int int
      StackMap stack:
            aload 4 /* columnNames */
            aload 8 /* metaData */
            iload 10 /* i */
            invokeinterface java.sql.ResultSetMetaData.getColumnLabel:(I)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 111
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 10 /* i */
            iload 9 /* cols */
            if_icmple 9
        end local 10 // int i
        12: .line 114
            goto 22
        13: .line 115
      StackMap locals:
      StackMap stack:
            iinc 7 /* size */ 1
        14: .line 116
            new io.vertx.jdbcclient.impl.JDBCRow
            dup
            aload 5 /* desc */
            invokespecial io.vertx.jdbcclient.impl.JDBCRow.<init>:(Lio/vertx/sqlclient/impl/RowDesc;)V
            astore 10 /* row */
        start local 10 // io.vertx.sqlclient.Row row
        15: .line 117
            iconst_1
            istore 11 /* i */
        start local 11 // int i
        16: goto 20
        17: .line 118
      StackMap locals: io.vertx.sqlclient.Row int
      StackMap stack:
            aload 1 /* rs */
            iload 11 /* i */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            invokestatic io.vertx.jdbcclient.impl.actions.JDBCQueryAction.convertSqlValue:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 12 /* res */
        start local 12 // java.lang.Object res
        18: .line 119
            aload 10 /* row */
            aload 12 /* res */
            invokeinterface io.vertx.sqlclient.Row.addValue:(Ljava/lang/Object;)Lio/vertx/sqlclient/Tuple;
            pop
        end local 12 // java.lang.Object res
        19: .line 117
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 11 /* i */
            iload 9 /* cols */
            if_icmple 17
        end local 11 // int i
        21: .line 121
            aload 3 /* accumulator */
            aload 6 /* container */
            aload 10 /* row */
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 10 // io.vertx.sqlclient.Row row
        22: .line 114
      StackMap locals:
      StackMap stack:
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 13
        23: .line 124
            aload 2 /* response */
        24: .line 125
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.finisher:()Ljava/util/function/Function;
            aload 6 /* container */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 5 /* desc */
            iload 7 /* size */
            invokevirtual io.vertx.jdbcclient.impl.actions.JDBCResponse.push:(Ljava/lang/Object;Lio/vertx/sqlclient/impl/RowDesc;I)V
        25: .line 126
            return
        end local 9 // int cols
        end local 8 // java.sql.ResultSetMetaData metaData
        end local 7 // int size
        end local 6 // java.lang.Object container
        end local 5 // io.vertx.sqlclient.impl.RowDesc desc
        end local 4 // java.util.List columnNames
        end local 3 // java.util.function.BiConsumer accumulator
        end local 2 // io.vertx.jdbcclient.impl.actions.JDBCResponse response
        end local 1 // java.sql.ResultSet rs
        end local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Lio/vertx/jdbcclient/impl/actions/JDBCQueryAction<TC;TR;>;
            0   26     1           rs  Ljava/sql/ResultSet;
            0   26     2     response  Lio/vertx/jdbcclient/impl/actions/JDBCResponse<TR;>;
            1   26     3  accumulator  Ljava/util/function/BiConsumer<TC;Lio/vertx/sqlclient/Row;>;
            2   26     4  columnNames  Ljava/util/List<Ljava/lang/String;>;
            3   26     5         desc  Lio/vertx/sqlclient/impl/RowDesc;
            4   26     6    container  TC;
            5   26     7         size  I
            6   26     8     metaData  Ljava/sql/ResultSetMetaData;
            7   26     9         cols  I
            8   12    10            i  I
           15   22    10          row  Lio/vertx/sqlclient/Row;
           16   21    11            i  I
           18   19    12          res  Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/sql/ResultSet;Lio/vertx/jdbcclient/impl/actions/JDBCResponse<TR;>;)V
    MethodParameters:
          Name  Flags
      rs        
      response  

  private R decodeRawResultSet(java.sql.ResultSet);
    descriptor: (Ljava/sql/ResultSet;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
        start local 1 // java.sql.ResultSet rs
         0: .line 129
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.accumulator:()Ljava/util/function/BiConsumer;
            astore 2 /* accumulator */
        start local 2 // java.util.function.BiConsumer accumulator
         1: .line 131
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* columnNames */
        start local 3 // java.util.List columnNames
         2: .line 132
            new io.vertx.sqlclient.impl.RowDesc
            dup
            aload 3 /* columnNames */
            invokespecial io.vertx.sqlclient.impl.RowDesc.<init>:(Ljava/util/List;)V
            astore 4 /* desc */
        start local 4 // io.vertx.sqlclient.impl.RowDesc desc
         3: .line 133
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.supplier:()Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            astore 5 /* container */
        start local 5 // java.lang.Object container
         4: .line 135
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
            astore 6 /* metaData */
        start local 6 // java.sql.ResultSetMetaData metaData
         5: .line 136
            aload 6 /* metaData */
            invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
            istore 7 /* cols */
        start local 7 // int cols
         6: .line 137
            iconst_1
            istore 8 /* i */
        start local 8 // int i
         7: goto 10
         8: .line 138
      StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCQueryAction java.sql.ResultSet java.util.function.BiConsumer java.util.List io.vertx.sqlclient.impl.RowDesc java.lang.Object java.sql.ResultSetMetaData int int
      StackMap stack:
            aload 3 /* columnNames */
            aload 6 /* metaData */
            iload 8 /* i */
            invokeinterface java.sql.ResultSetMetaData.getColumnLabel:(I)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 137
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 8 /* i */
            iload 7 /* cols */
            if_icmple 8
        end local 8 // int i
        11: .line 140
            goto 20
        12: .line 141
      StackMap locals:
      StackMap stack:
            new io.vertx.jdbcclient.impl.JDBCRow
            dup
            aload 4 /* desc */
            invokespecial io.vertx.jdbcclient.impl.JDBCRow.<init>:(Lio/vertx/sqlclient/impl/RowDesc;)V
            astore 8 /* row */
        start local 8 // io.vertx.sqlclient.Row row
        13: .line 142
            iconst_1
            istore 9 /* i */
        start local 9 // int i
        14: goto 18
        15: .line 143
      StackMap locals: io.vertx.sqlclient.Row int
      StackMap stack:
            aload 1 /* rs */
            iload 9 /* i */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            invokestatic io.vertx.jdbcclient.impl.actions.JDBCQueryAction.convertSqlValue:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* res */
        start local 10 // java.lang.Object res
        16: .line 144
            aload 8 /* row */
            aload 10 /* res */
            invokeinterface io.vertx.sqlclient.Row.addValue:(Ljava/lang/Object;)Lio/vertx/sqlclient/Tuple;
            pop
        end local 10 // java.lang.Object res
        17: .line 142
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 9 /* i */
            iload 7 /* cols */
            if_icmple 15
        end local 9 // int i
        19: .line 146
            aload 2 /* accumulator */
            aload 5 /* container */
            aload 8 /* row */
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 8 // io.vertx.sqlclient.Row row
        20: .line 140
      StackMap locals:
      StackMap stack:
            aload 1 /* rs */
            invokeinterface java.sql.ResultSet.next:()Z
            ifne 12
        21: .line 149
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.finisher:()Ljava/util/function/Function;
            aload 5 /* container */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 7 // int cols
        end local 6 // java.sql.ResultSetMetaData metaData
        end local 5 // java.lang.Object container
        end local 4 // io.vertx.sqlclient.impl.RowDesc desc
        end local 3 // java.util.List columnNames
        end local 2 // java.util.function.BiConsumer accumulator
        end local 1 // java.sql.ResultSet rs
        end local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Lio/vertx/jdbcclient/impl/actions/JDBCQueryAction<TC;TR;>;
            0   22     1           rs  Ljava/sql/ResultSet;
            1   22     2  accumulator  Ljava/util/function/BiConsumer<TC;Lio/vertx/sqlclient/Row;>;
            2   22     3  columnNames  Ljava/util/List<Ljava/lang/String;>;
            3   22     4         desc  Lio/vertx/sqlclient/impl/RowDesc;
            4   22     5    container  TC;
            5   22     6     metaData  Ljava/sql/ResultSetMetaData;
            6   22     7         cols  I
            7   11     8            i  I
           13   20     8          row  Lio/vertx/sqlclient/Row;
           14   19     9            i  I
           16   17    10          res  Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/sql/ResultSet;)TR;
    MethodParameters:
      Name  Flags
      rs    

  private void decodeOutput(java.sql.CallableStatement, java.util.List<java.lang.Integer>, io.vertx.jdbcclient.impl.actions.JDBCResponse<R>);
    descriptor: (Ljava/sql/CallableStatement;Ljava/util/List;Lio/vertx/jdbcclient/impl/actions/JDBCResponse;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
        start local 1 // java.sql.CallableStatement cs
        start local 2 // java.util.List out
        start local 3 // io.vertx.jdbcclient.impl.actions.JDBCResponse output
         0: .line 153
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.accumulator:()Ljava/util/function/BiConsumer;
            astore 4 /* accumulator */
        start local 4 // java.util.function.BiConsumer accumulator
         1: .line 156
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.supplier:()Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            astore 5 /* container */
        start local 5 // java.lang.Object container
         2: .line 159
            new io.vertx.jdbcclient.impl.JDBCRow
            dup
            new io.vertx.sqlclient.impl.RowDesc
            dup
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokespecial io.vertx.sqlclient.impl.RowDesc.<init>:(Ljava/util/List;)V
            invokespecial io.vertx.jdbcclient.impl.JDBCRow.<init>:(Lio/vertx/sqlclient/impl/RowDesc;)V
            astore 6 /* row */
        start local 6 // io.vertx.sqlclient.Row row
         3: .line 160
            aload 2 /* out */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 10
      StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCQueryAction java.sql.CallableStatement java.util.List io.vertx.jdbcclient.impl.actions.JDBCResponse java.util.function.BiConsumer java.lang.Object io.vertx.sqlclient.Row top java.util.Iterator
      StackMap stack:
         4: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 7 /* idx */
        start local 7 // java.lang.Integer idx
         5: .line 161
            aload 1 /* cs */
            aload 7 /* idx */
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface java.sql.CallableStatement.getObject:(I)Ljava/lang/Object;
            instanceof java.sql.ResultSet
            ifeq 8
         6: .line 162
            aload 6 /* row */
            aload 0 /* this */
            aload 1 /* cs */
            aload 7 /* idx */
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface java.sql.CallableStatement.getObject:(I)Ljava/lang/Object;
            checkcast java.sql.ResultSet
            invokevirtual io.vertx.jdbcclient.impl.actions.JDBCQueryAction.decodeRawResultSet:(Ljava/sql/ResultSet;)Ljava/lang/Object;
            invokeinterface io.vertx.sqlclient.Row.addValue:(Ljava/lang/Object;)Lio/vertx/sqlclient/Tuple;
            pop
         7: .line 163
            goto 10
         8: .line 164
      StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCQueryAction java.sql.CallableStatement java.util.List io.vertx.jdbcclient.impl.actions.JDBCResponse java.util.function.BiConsumer java.lang.Object io.vertx.sqlclient.Row java.lang.Integer java.util.Iterator
      StackMap stack:
            aload 1 /* cs */
            aload 7 /* idx */
            invokevirtual java.lang.Integer.intValue:()I
            invokeinterface java.sql.CallableStatement.getObject:(I)Ljava/lang/Object;
            invokestatic io.vertx.jdbcclient.impl.actions.JDBCQueryAction.convertSqlValue:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 9 /* res */
        start local 9 // java.lang.Object res
         9: .line 165
            aload 6 /* row */
            aload 9 /* res */
            invokeinterface io.vertx.sqlclient.Row.addValue:(Ljava/lang/Object;)Lio/vertx/sqlclient/Tuple;
            pop
        end local 9 // java.lang.Object res
        end local 7 // java.lang.Integer idx
        10: .line 160
      StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCQueryAction java.sql.CallableStatement java.util.List io.vertx.jdbcclient.impl.actions.JDBCResponse java.util.function.BiConsumer java.lang.Object io.vertx.sqlclient.Row top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        11: .line 169
            aload 4 /* accumulator */
            aload 5 /* container */
            aload 6 /* row */
            invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 171
            aload 0 /* this */
            getfield io.vertx.jdbcclient.impl.actions.JDBCQueryAction.collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.finisher:()Ljava/util/function/Function;
            aload 5 /* container */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* result */
        start local 7 // java.lang.Object result
        13: .line 173
            aload 3 /* output */
            aload 7 /* result */
            aconst_null
            iconst_1
            invokevirtual io.vertx.jdbcclient.impl.actions.JDBCResponse.outputs:(Ljava/lang/Object;Lio/vertx/sqlclient/impl/RowDesc;I)V
        14: .line 174
            return
        end local 7 // java.lang.Object result
        end local 6 // io.vertx.sqlclient.Row row
        end local 5 // java.lang.Object container
        end local 4 // java.util.function.BiConsumer accumulator
        end local 3 // io.vertx.jdbcclient.impl.actions.JDBCResponse output
        end local 2 // java.util.List out
        end local 1 // java.sql.CallableStatement cs
        end local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lio/vertx/jdbcclient/impl/actions/JDBCQueryAction<TC;TR;>;
            0   15     1           cs  Ljava/sql/CallableStatement;
            0   15     2          out  Ljava/util/List<Ljava/lang/Integer;>;
            0   15     3       output  Lio/vertx/jdbcclient/impl/actions/JDBCResponse<TR;>;
            1   15     4  accumulator  Ljava/util/function/BiConsumer<TC;Lio/vertx/sqlclient/Row;>;
            2   15     5    container  TC;
            3   15     6          row  Lio/vertx/sqlclient/Row;
            5   10     7          idx  Ljava/lang/Integer;
            9   10     9          res  Ljava/lang/Object;
           13   15     7       result  TR;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/sql/CallableStatement;Ljava/util/List<Ljava/lang/Integer;>;Lio/vertx/jdbcclient/impl/actions/JDBCResponse<TR;>;)V
    MethodParameters:
        Name  Flags
      cs      
      out     
      output  

  private void decodeReturnedKeys(java.sql.Statement, io.vertx.jdbcclient.impl.actions.JDBCResponse<R>);
    descriptor: (Ljava/sql/Statement;Lio/vertx/jdbcclient/impl/actions/JDBCResponse;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=3
        start local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
        start local 1 // java.sql.Statement statement
        start local 2 // io.vertx.jdbcclient.impl.actions.JDBCResponse response
         0: .line 177
            aconst_null
            astore 3 /* keys */
        start local 3 // io.vertx.sqlclient.Row keys
         1: .line 179
            aload 1 /* statement */
            invokeinterface java.sql.Statement.getGeneratedKeys:()Ljava/sql/ResultSet;
            astore 4 /* keysRS */
        start local 4 // java.sql.ResultSet keysRS
         2: .line 181
            aload 4 /* keysRS */
            ifnull 20
         3: .line 182
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* keysColumnNames */
        start local 5 // java.util.List keysColumnNames
         4: .line 183
            new io.vertx.sqlclient.impl.RowDesc
            dup
            aload 5 /* keysColumnNames */
            invokespecial io.vertx.sqlclient.impl.RowDesc.<init>:(Ljava/util/List;)V
            astore 6 /* keysDesc */
        start local 6 // io.vertx.sqlclient.impl.RowDesc keysDesc
         5: .line 185
            aload 4 /* keysRS */
            invokeinterface java.sql.ResultSet.getMetaData:()Ljava/sql/ResultSetMetaData;
            astore 7 /* metaData */
        start local 7 // java.sql.ResultSetMetaData metaData
         6: .line 186
            aload 7 /* metaData */
            invokeinterface java.sql.ResultSetMetaData.getColumnCount:()I
            istore 8 /* cols */
        start local 8 // int cols
         7: .line 187
            iconst_1
            istore 9 /* i */
        start local 9 // int i
         8: goto 11
         9: .line 188
      StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCQueryAction java.sql.Statement io.vertx.jdbcclient.impl.actions.JDBCResponse io.vertx.sqlclient.Row java.sql.ResultSet java.util.List io.vertx.sqlclient.impl.RowDesc java.sql.ResultSetMetaData int int
      StackMap stack:
            aload 5 /* keysColumnNames */
            aload 7 /* metaData */
            iload 9 /* i */
            invokeinterface java.sql.ResultSetMetaData.getColumnLabel:(I)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 187
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 9 /* i */
            iload 8 /* cols */
            if_icmple 9
        end local 9 // int i
        12: .line 191
            aload 4 /* keysRS */
            invokeinterface java.sql.ResultSet.next:()Z
            ifeq 20
        13: .line 192
            new io.vertx.jdbcclient.impl.JDBCRow
            dup
            aload 6 /* keysDesc */
            invokespecial io.vertx.jdbcclient.impl.JDBCRow.<init>:(Lio/vertx/sqlclient/impl/RowDesc;)V
            astore 3 /* keys */
        14: .line 193
            iconst_1
            istore 9 /* i */
        start local 9 // int i
        15: goto 19
        16: .line 194
      StackMap locals:
      StackMap stack:
            aload 4 /* keysRS */
            iload 9 /* i */
            invokeinterface java.sql.ResultSet.getObject:(I)Ljava/lang/Object;
            invokestatic io.vertx.jdbcclient.impl.actions.JDBCQueryAction.convertSqlValue:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* res */
        start local 10 // java.lang.Object res
        17: .line 195
            aload 3 /* keys */
            aload 10 /* res */
            invokeinterface io.vertx.sqlclient.Row.addValue:(Ljava/lang/Object;)Lio/vertx/sqlclient/Tuple;
            pop
        end local 10 // java.lang.Object res
        18: .line 193
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 9 /* i */
            iload 8 /* cols */
            if_icmple 16
        end local 9 // int i
        end local 8 // int cols
        end local 7 // java.sql.ResultSetMetaData metaData
        end local 6 // io.vertx.sqlclient.impl.RowDesc keysDesc
        end local 5 // java.util.List keysColumnNames
        20: .line 200
      StackMap locals: io.vertx.jdbcclient.impl.actions.JDBCQueryAction java.sql.Statement io.vertx.jdbcclient.impl.actions.JDBCResponse io.vertx.sqlclient.Row java.sql.ResultSet
      StackMap stack:
            aload 2 /* response */
            aload 3 /* keys */
            invokevirtual io.vertx.jdbcclient.impl.actions.JDBCResponse.returnedKeys:(Lio/vertx/sqlclient/Row;)V
        21: .line 201
            return
        end local 4 // java.sql.ResultSet keysRS
        end local 3 // io.vertx.sqlclient.Row keys
        end local 2 // io.vertx.jdbcclient.impl.actions.JDBCResponse response
        end local 1 // java.sql.Statement statement
        end local 0 // io.vertx.jdbcclient.impl.actions.JDBCQueryAction this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   22     0             this  Lio/vertx/jdbcclient/impl/actions/JDBCQueryAction<TC;TR;>;
            0   22     1        statement  Ljava/sql/Statement;
            0   22     2         response  Lio/vertx/jdbcclient/impl/actions/JDBCResponse<TR;>;
            1   22     3             keys  Lio/vertx/sqlclient/Row;
            2   22     4           keysRS  Ljava/sql/ResultSet;
            4   20     5  keysColumnNames  Ljava/util/List<Ljava/lang/String;>;
            5   20     6         keysDesc  Lio/vertx/sqlclient/impl/RowDesc;
            6   20     7         metaData  Ljava/sql/ResultSetMetaData;
            7   20     8             cols  I
            8   12     9                i  I
           15   20     9                i  I
           17   18    10              res  Ljava/lang/Object;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/sql/Statement;Lio/vertx/jdbcclient/impl/actions/JDBCResponse<TR;>;)V
    MethodParameters:
           Name  Flags
      statement  
      response   

  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=7, args_size=1
        start local 0 // java.lang.Object value
         0: .line 204
            aload 0 /* value */
            ifnonnull 2
         1: .line 205
            aconst_null
            areturn
         2: .line 209
      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 210
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            areturn
         4: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Number
            ifeq 11
         5: .line 215
            aload 0 /* value */
            instanceof java.math.BigDecimal
            ifeq 10
         6: .line 216
            aload 0 /* value */
            checkcast java.math.BigDecimal
            astore 1 /* d */
        start local 1 // java.math.BigDecimal d
         7: .line 217
            aload 1 /* d */
            invokevirtual java.math.BigDecimal.scale:()I
            ifne 9
         8: .line 218
            aload 0 /* value */
            checkcast java.math.BigDecimal
            invokevirtual java.math.BigDecimal.toBigInteger:()Ljava/math/BigInteger;
            areturn
         9: .line 221
      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 225
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            areturn
        11: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.Time
            ifeq 13
        12: .line 231
            aload 0 /* value */
            checkcast java.sql.Time
            invokevirtual java.sql.Time.toLocalTime:()Ljava/time/LocalTime;
            areturn
        13: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.Date
            ifeq 15
        14: .line 235
            aload 0 /* value */
            checkcast java.sql.Date
            invokevirtual java.sql.Date.toLocalDate:()Ljava/time/LocalDate;
            areturn
        15: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.Timestamp
            ifeq 17
        16: .line 239
            aload 0 /* value */
            checkcast java.sql.Timestamp
            invokevirtual java.sql.Timestamp.toInstant:()Ljava/time/Instant;
            getstatic java.time.ZoneOffset.UTC:Ljava/time/ZoneOffset;
            invokevirtual java.time.Instant.atOffset:(Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;
            areturn
        17: .line 243
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.Clob
            ifeq 29
        18: .line 244
            aload 0 /* value */
            checkcast java.sql.Clob
            astore 1 /* c */
        start local 1 // java.sql.Clob c
        19: .line 247
            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 250
            aload 1 /* c */
            invokeinterface java.sql.Clob.free:()V
        21: .line 251
            goto 23
      StackMap locals: java.lang.Object java.sql.Clob top java.lang.Object
      StackMap stack: java.lang.Throwable
        22: pop
        23: .line 247
      StackMap locals:
      StackMap stack:
            aload 3
            areturn
        24: .line 248
      StackMap locals: java.lang.Object java.sql.Clob
      StackMap stack: java.lang.Throwable
            astore 2
        25: .line 250
            aload 1 /* c */
            invokeinterface java.sql.Clob.free:()V
        26: .line 251
            goto 28
      StackMap locals: java.lang.Object java.sql.Clob java.lang.Throwable
      StackMap stack: java.lang.Throwable
        27: pop
        28: .line 254
      StackMap locals:
      StackMap stack:
            aload 2
            athrow
        end local 1 // java.sql.Clob c
        29: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.Blob
            ifeq 41
        30: .line 258
            aload 0 /* value */
            checkcast java.sql.Blob
            astore 1 /* b */
        start local 1 // java.sql.Blob b
        31: .line 261
            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 264
            aload 1 /* b */
            invokeinterface java.sql.Blob.free:()V
        33: .line 265
            goto 35
      StackMap locals: java.lang.Object java.sql.Blob top java.lang.Object
      StackMap stack: java.lang.Throwable
        34: pop
        35: .line 261
      StackMap locals:
      StackMap stack:
            aload 3
            areturn
        36: .line 262
      StackMap locals: java.lang.Object java.sql.Blob
      StackMap stack: java.lang.Throwable
            astore 2
        37: .line 264
            aload 1 /* b */
            invokeinterface java.sql.Blob.free:()V
        38: .line 265
            goto 40
      StackMap locals: java.lang.Object java.sql.Blob java.lang.Throwable
      StackMap stack: java.lang.Throwable
        39: pop
        40: .line 268
      StackMap locals:
      StackMap stack:
            aload 2
            athrow
        end local 1 // java.sql.Blob b
        41: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.Array
            ifeq 58
        42: .line 273
            aload 0 /* value */
            checkcast java.sql.Array
            astore 1 /* a */
        start local 1 // java.sql.Array a
        43: .line 275
            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 276
            aload 2 /* arr */
            ifnull 57
        45: .line 277
            aload 2 /* arr */
            arraylength
            anewarray java.lang.Object
            astore 3 /* castedArray */
        start local 3 // java.lang.Object[] castedArray
        46: .line 278
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        47: goto 50
        48: .line 279
      StackMap locals: java.lang.Object java.sql.Array java.lang.Object[] java.lang.Object[] int
      StackMap stack:
            aload 3 /* castedArray */
            iload 4 /* i */
            aload 2 /* arr */
            iload 4 /* i */
            aaload
            invokestatic io.vertx.jdbcclient.impl.actions.JDBCQueryAction.convertSqlValue:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
        49: .line 278
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        50: iload 4 /* i */
            aload 2 /* arr */
            arraylength
            if_icmplt 48
        end local 4 // int i
        51: .line 281
            aload 3 /* castedArray */
            astore 6
        52: .line 284
            aload 1 /* a */
            invokeinterface java.sql.Array.free:()V
        53: .line 281
            aload 6
            areturn
        end local 3 // java.lang.Object[] castedArray
        end local 2 // java.lang.Object[] arr
        54: .line 283
      StackMap locals: java.lang.Object java.sql.Array
      StackMap stack: java.lang.Throwable
            astore 5
        55: .line 284
            aload 1 /* a */
            invokeinterface java.sql.Array.free:()V
        56: .line 285
            aload 5
            athrow
        57: .line 284
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            invokeinterface java.sql.Array.free:()V
        end local 1 // java.sql.Array a
        58: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.RowId
            ifeq 60
        59: .line 290
            aload 0 /* value */
            checkcast java.sql.RowId
            invokeinterface java.sql.RowId.getBytes:()[B
            areturn
        60: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.sql.Struct
            ifeq 62
        61: .line 295
            aload 0 /* value */
            checkcast java.sql.Struct
            invokeinterface java.sql.Struct.getAttributes:()[Ljava/lang/Object;
            invokestatic io.vertx.sqlclient.Tuple.of:(Ljava/lang/Object;)Lio/vertx/sqlclient/Tuple;
            areturn
        62: .line 299
      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   63     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  castedArray  [Ljava/lang/Object;
           47   51     4            i  I
      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  
}
Signature: <C:Ljava/lang/Object;R:Ljava/lang/Object;>Lio/vertx/ext/jdbc/impl/actions/AbstractJDBCAction<Lio/vertx/jdbcclient/impl/actions/JDBCResponse<TR;>;>;
SourceFile: "JDBCQueryAction.java"