class io.vertx.sqlclient.impl.QueryExecutor<T, R extends io.vertx.sqlclient.impl.SqlResultBase<T>, L extends io.vertx.sqlclient.SqlResult<T>>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.vertx.sqlclient.impl.QueryExecutor
  super_class: java.lang.Object
{
  private final io.vertx.core.spi.metrics.ClientMetrics metrics;
    descriptor: Lio/vertx/core/spi/metrics/ClientMetrics;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.sqlclient.impl.tracing.QueryTracer tracer;
    descriptor: Lio/vertx/sqlclient/impl/tracing/QueryTracer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.function.Function<T, R> factory;
    descriptor: Ljava/util/function/Function;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Function<TT;TR;>;

  private final java.util.stream.Collector<io.vertx.sqlclient.Row, ?, T> collector;
    descriptor: Ljava/util/stream/Collector;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TT;>;

  public void <init>(io.vertx.sqlclient.impl.tracing.QueryTracer, io.vertx.core.spi.metrics.ClientMetrics, java.util.function.Function<T, R>, java.util.stream.Collector<io.vertx.sqlclient.Row, ?, T>);
    descriptor: (Lio/vertx/sqlclient/impl/tracing/QueryTracer;Lio/vertx/core/spi/metrics/ClientMetrics;Ljava/util/function/Function;Ljava/util/stream/Collector;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.sqlclient.impl.QueryExecutor this
        start local 1 // io.vertx.sqlclient.impl.tracing.QueryTracer tracer
        start local 2 // io.vertx.core.spi.metrics.ClientMetrics metrics
        start local 3 // java.util.function.Function factory
        start local 4 // java.util.stream.Collector collector
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 0 /* this */
            aload 1 /* tracer */
            putfield io.vertx.sqlclient.impl.QueryExecutor.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
         2: .line 51
            aload 0 /* this */
            aload 2 /* metrics */
            putfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
         3: .line 52
            aload 0 /* this */
            aload 3 /* factory */
            putfield io.vertx.sqlclient.impl.QueryExecutor.factory:Ljava/util/function/Function;
         4: .line 53
            aload 0 /* this */
            aload 4 /* collector */
            putfield io.vertx.sqlclient.impl.QueryExecutor.collector:Ljava/util/stream/Collector;
         5: .line 54
            return
        end local 4 // java.util.stream.Collector collector
        end local 3 // java.util.function.Function factory
        end local 2 // io.vertx.core.spi.metrics.ClientMetrics metrics
        end local 1 // io.vertx.sqlclient.impl.tracing.QueryTracer tracer
        end local 0 // io.vertx.sqlclient.impl.QueryExecutor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lio/vertx/sqlclient/impl/QueryExecutor<TT;TR;TL;>;
            0    6     1     tracer  Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            0    6     2    metrics  Lio/vertx/core/spi/metrics/ClientMetrics;
            0    6     3    factory  Ljava/util/function/Function<TT;TR;>;
            0    6     4  collector  Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TT;>;
    Signature: (Lio/vertx/sqlclient/impl/tracing/QueryTracer;Lio/vertx/core/spi/metrics/ClientMetrics;Ljava/util/function/Function<TT;TR;>;Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TT;>;)V
    MethodParameters:
           Name  Flags
      tracer     
      metrics    
      factory    
      collector  

  io.vertx.sqlclient.impl.tracing.QueryTracer tracer();
    descriptor: ()Lio/vertx/sqlclient/impl/tracing/QueryTracer;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.sqlclient.impl.QueryExecutor this
         0: .line 57
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            areturn
        end local 0 // io.vertx.sqlclient.impl.QueryExecutor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/sqlclient/impl/QueryExecutor<TT;TR;TL;>;

  io.vertx.core.spi.metrics.ClientMetrics metrics();
    descriptor: ()Lio/vertx/core/spi/metrics/ClientMetrics;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.sqlclient.impl.QueryExecutor this
         0: .line 61
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            areturn
        end local 0 // io.vertx.sqlclient.impl.QueryExecutor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/sqlclient/impl/QueryExecutor<TT;TR;TL;>;

  private io.vertx.sqlclient.impl.QueryResultBuilder<T, R, L> createHandler(io.vertx.core.impl.future.PromiseInternal<L>, );
    descriptor: (Lio/vertx/core/impl/future/PromiseInternal;Ljava/lang/Object;)Lio/vertx/sqlclient/impl/QueryResultBuilder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.sqlclient.impl.QueryExecutor this
        start local 1 // io.vertx.core.impl.future.PromiseInternal promise
        start local 2 // java.lang.Object payload
         0: .line 65
            aload 0 /* this */
            aload 1 /* promise */
            aload 2 /* payload */
            aconst_null
            invokevirtual io.vertx.sqlclient.impl.QueryExecutor.createHandler:(Lio/vertx/core/impl/future/PromiseInternal;Ljava/lang/Object;Ljava/lang/Object;)Lio/vertx/sqlclient/impl/QueryResultBuilder;
            areturn
        end local 2 // java.lang.Object payload
        end local 1 // io.vertx.core.impl.future.PromiseInternal promise
        end local 0 // io.vertx.sqlclient.impl.QueryExecutor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/sqlclient/impl/QueryExecutor<TT;TR;TL;>;
            0    1     1  promise  Lio/vertx/core/impl/future/PromiseInternal<TL;>;
            0    1     2  payload  Ljava/lang/Object;
    Signature: (Lio/vertx/core/impl/future/PromiseInternal<TL;>;Ljava/lang/Object;)Lio/vertx/sqlclient/impl/QueryResultBuilder<TT;TR;TL;>;
    MethodParameters:
         Name  Flags
      promise  
      payload  

  private io.vertx.sqlclient.impl.QueryResultBuilder<T, R, L> createHandler(io.vertx.core.impl.future.PromiseInternal<L>, , );
    descriptor: (Lio/vertx/core/impl/future/PromiseInternal;Ljava/lang/Object;Ljava/lang/Object;)Lio/vertx/sqlclient/impl/QueryResultBuilder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // io.vertx.sqlclient.impl.QueryExecutor this
        start local 1 // io.vertx.core.impl.future.PromiseInternal promise
        start local 2 // java.lang.Object payload
        start local 3 // java.lang.Object metric
         0: .line 69
            new io.vertx.sqlclient.impl.QueryResultBuilder
            dup
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.factory:Ljava/util/function/Function;
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            aload 2 /* payload */
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 3 /* metric */
            aload 1 /* promise */
            invokespecial io.vertx.sqlclient.impl.QueryResultBuilder.<init>:(Ljava/util/function/Function;Lio/vertx/sqlclient/impl/tracing/QueryTracer;Ljava/lang/Object;Lio/vertx/core/spi/metrics/ClientMetrics;Ljava/lang/Object;Lio/vertx/core/impl/future/PromiseInternal;)V
            areturn
        end local 3 // java.lang.Object metric
        end local 2 // java.lang.Object payload
        end local 1 // io.vertx.core.impl.future.PromiseInternal promise
        end local 0 // io.vertx.sqlclient.impl.QueryExecutor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/sqlclient/impl/QueryExecutor<TT;TR;TL;>;
            0    1     1  promise  Lio/vertx/core/impl/future/PromiseInternal<TL;>;
            0    1     2  payload  Ljava/lang/Object;
            0    1     3   metric  Ljava/lang/Object;
    Signature: (Lio/vertx/core/impl/future/PromiseInternal<TL;>;Ljava/lang/Object;Ljava/lang/Object;)Lio/vertx/sqlclient/impl/QueryResultBuilder<TT;TR;TL;>;
    MethodParameters:
         Name  Flags
      promise  
      payload  
      metric   

  void executeSimpleQuery(io.vertx.sqlclient.impl.command.CommandScheduler, java.lang.String, boolean, boolean, io.vertx.core.impl.future.PromiseInternal<L>);
    descriptor: (Lio/vertx/sqlclient/impl/command/CommandScheduler;Ljava/lang/String;ZZLio/vertx/core/impl/future/PromiseInternal;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=10, args_size=6
        start local 0 // io.vertx.sqlclient.impl.QueryExecutor this
        start local 1 // io.vertx.sqlclient.impl.command.CommandScheduler scheduler
        start local 2 // java.lang.String sql
        start local 3 // boolean autoCommit
        start local 4 // boolean singleton
        start local 5 // io.vertx.core.impl.future.PromiseInternal promise
         0: .line 77
            aload 5 /* promise */
            invokeinterface io.vertx.core.impl.future.PromiseInternal.context:()Lio/vertx/core/impl/ContextInternal;
            astore 6 /* context */
        start local 6 // io.vertx.core.impl.ContextInternal context
         1: .line 79
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            ifnull 4
         2: .line 80
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            aload 6 /* context */
            aload 2 /* sql */
            invokevirtual io.vertx.sqlclient.impl.tracing.QueryTracer.sendRequest:(Lio/vertx/core/impl/ContextInternal;Ljava/lang/String;)Ljava/lang/Object;
            astore 7 /* payload */
        start local 7 // java.lang.Object payload
         3: .line 81
            goto 5
        end local 7 // java.lang.Object payload
         4: .line 82
      StackMap locals: io.vertx.core.impl.ContextInternal
      StackMap stack:
            aconst_null
            astore 7 /* payload */
        start local 7 // java.lang.Object payload
         5: .line 85
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            ifnull 9
         6: .line 86
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 2 /* sql */
            aload 2 /* sql */
            invokeinterface io.vertx.core.spi.metrics.ClientMetrics.requestBegin:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* metric */
        start local 8 // java.lang.Object metric
         7: .line 87
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 8 /* metric */
            invokeinterface io.vertx.core.spi.metrics.ClientMetrics.requestEnd:(Ljava/lang/Object;)V
         8: .line 88
            goto 10
        end local 8 // java.lang.Object metric
         9: .line 89
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* metric */
        start local 8 // java.lang.Object metric
        10: .line 91
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 5 /* promise */
            aload 7 /* payload */
            aload 8 /* metric */
            invokevirtual io.vertx.sqlclient.impl.QueryExecutor.createHandler:(Lio/vertx/core/impl/future/PromiseInternal;Ljava/lang/Object;Ljava/lang/Object;)Lio/vertx/sqlclient/impl/QueryResultBuilder;
            astore 9 /* handler */
        start local 9 // io.vertx.sqlclient.impl.QueryResultBuilder handler
        11: .line 92
            aload 1 /* scheduler */
            new io.vertx.sqlclient.impl.command.SimpleQueryCommand
            dup
            aload 2 /* sql */
            iload 4 /* singleton */
            iload 3 /* autoCommit */
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.collector:Ljava/util/stream/Collector;
            aload 9 /* handler */
            invokespecial io.vertx.sqlclient.impl.command.SimpleQueryCommand.<init>:(Ljava/lang/String;ZZLjava/util/stream/Collector;Lio/vertx/sqlclient/impl/QueryResultHandler;)V
            aload 9 /* handler */
            invokeinterface io.vertx.sqlclient.impl.command.CommandScheduler.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;Lio/vertx/core/Promise;)V
        12: .line 93
            return
        end local 9 // io.vertx.sqlclient.impl.QueryResultBuilder handler
        end local 8 // java.lang.Object metric
        end local 7 // java.lang.Object payload
        end local 6 // io.vertx.core.impl.ContextInternal context
        end local 5 // io.vertx.core.impl.future.PromiseInternal promise
        end local 4 // boolean singleton
        end local 3 // boolean autoCommit
        end local 2 // java.lang.String sql
        end local 1 // io.vertx.sqlclient.impl.command.CommandScheduler scheduler
        end local 0 // io.vertx.sqlclient.impl.QueryExecutor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lio/vertx/sqlclient/impl/QueryExecutor<TT;TR;TL;>;
            0   13     1   scheduler  Lio/vertx/sqlclient/impl/command/CommandScheduler;
            0   13     2         sql  Ljava/lang/String;
            0   13     3  autoCommit  Z
            0   13     4   singleton  Z
            0   13     5     promise  Lio/vertx/core/impl/future/PromiseInternal<TL;>;
            1   13     6     context  Lio/vertx/core/impl/ContextInternal;
            3    4     7     payload  Ljava/lang/Object;
            5   13     7     payload  Ljava/lang/Object;
            7    9     8      metric  Ljava/lang/Object;
           10   13     8      metric  Ljava/lang/Object;
           11   13     9     handler  Lio/vertx/sqlclient/impl/QueryResultBuilder;
    Signature: (Lio/vertx/sqlclient/impl/command/CommandScheduler;Ljava/lang/String;ZZLio/vertx/core/impl/future/PromiseInternal<TL;>;)V
    MethodParameters:
            Name  Flags
      scheduler   
      sql         
      autoCommit  
      singleton   
      promise     

  io.vertx.sqlclient.impl.QueryResultBuilder<T, R, L> executeExtendedQuery(io.vertx.sqlclient.impl.command.CommandScheduler, io.vertx.sqlclient.impl.PreparedStatement, boolean, io.vertx.sqlclient.Tuple, int, java.lang.String, boolean, io.vertx.core.impl.future.PromiseInternal<L>);
    descriptor: (Lio/vertx/sqlclient/impl/command/CommandScheduler;Lio/vertx/sqlclient/impl/PreparedStatement;ZLio/vertx/sqlclient/Tuple;ILjava/lang/String;ZLio/vertx/core/impl/future/PromiseInternal;)Lio/vertx/sqlclient/impl/QueryResultBuilder;
    flags: (0x0000) 
    Code:
      stack=9, locals=15, args_size=9
        start local 0 // io.vertx.sqlclient.impl.QueryExecutor this
        start local 1 // io.vertx.sqlclient.impl.command.CommandScheduler scheduler
        start local 2 // io.vertx.sqlclient.impl.PreparedStatement preparedStatement
        start local 3 // boolean autoCommit
        start local 4 // io.vertx.sqlclient.Tuple arguments
        start local 5 // int fetch
        start local 6 // java.lang.String cursorId
        start local 7 // boolean suspended
        start local 8 // io.vertx.core.impl.future.PromiseInternal promise
         0: .line 103
            aload 8 /* promise */
            invokeinterface io.vertx.core.impl.future.PromiseInternal.context:()Lio/vertx/core/impl/ContextInternal;
            astore 9 /* context */
        start local 9 // io.vertx.core.impl.ContextInternal context
         1: .line 105
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            ifnull 4
         2: .line 106
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            aload 9 /* context */
            aload 2 /* preparedStatement */
            invokeinterface io.vertx.sqlclient.impl.PreparedStatement.sql:()Ljava/lang/String;
            aload 4 /* arguments */
            invokevirtual io.vertx.sqlclient.impl.tracing.QueryTracer.sendRequest:(Lio/vertx/core/impl/ContextInternal;Ljava/lang/String;Lio/vertx/sqlclient/Tuple;)Ljava/lang/Object;
            astore 10 /* payload */
        start local 10 // java.lang.Object payload
         3: .line 107
            goto 5
        end local 10 // java.lang.Object payload
         4: .line 108
      StackMap locals: io.vertx.core.impl.ContextInternal
      StackMap stack:
            aconst_null
            astore 10 /* payload */
        start local 10 // java.lang.Object payload
         5: .line 111
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            ifnull 9
         6: .line 112
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 2 /* preparedStatement */
            invokeinterface io.vertx.sqlclient.impl.PreparedStatement.sql:()Ljava/lang/String;
            aload 2 /* preparedStatement */
            invokeinterface io.vertx.sqlclient.impl.PreparedStatement.sql:()Ljava/lang/String;
            invokeinterface io.vertx.core.spi.metrics.ClientMetrics.requestBegin:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            astore 11 /* metric */
        start local 11 // java.lang.Object metric
         7: .line 113
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 11 /* metric */
            invokeinterface io.vertx.core.spi.metrics.ClientMetrics.requestEnd:(Ljava/lang/Object;)V
         8: .line 114
            goto 10
        end local 11 // java.lang.Object metric
         9: .line 115
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 11 /* metric */
        start local 11 // java.lang.Object metric
        10: .line 117
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 8 /* promise */
            aload 10 /* payload */
            aload 11 /* metric */
            invokevirtual io.vertx.sqlclient.impl.QueryExecutor.createHandler:(Lio/vertx/core/impl/future/PromiseInternal;Ljava/lang/Object;Ljava/lang/Object;)Lio/vertx/sqlclient/impl/QueryResultBuilder;
            astore 12 /* handler */
        start local 12 // io.vertx.sqlclient.impl.QueryResultBuilder handler
        11: .line 118
            aload 2 /* preparedStatement */
            aload 4 /* arguments */
            checkcast io.vertx.sqlclient.impl.TupleInternal
            invokeinterface io.vertx.sqlclient.impl.PreparedStatement.prepare:(Lio/vertx/sqlclient/impl/TupleInternal;)Ljava/lang/String;
            astore 13 /* msg */
        start local 13 // java.lang.String msg
        12: .line 119
            aload 13 /* msg */
            ifnull 15
        13: .line 120
            aload 12 /* handler */
            aload 13 /* msg */
            invokevirtual io.vertx.sqlclient.impl.QueryResultBuilder.fail:(Ljava/lang/String;)V
        14: .line 121
            aconst_null
            areturn
        15: .line 124
      StackMap locals: io.vertx.sqlclient.impl.QueryResultBuilder java.lang.String
      StackMap stack:
            aload 2 /* preparedStatement */
            invokeinterface io.vertx.sqlclient.impl.PreparedStatement.sql:()Ljava/lang/String;
        16: .line 125
            aload 2 /* preparedStatement */
        17: .line 126
            aload 4 /* arguments */
        18: .line 127
            iload 5 /* fetch */
        19: .line 128
            aload 6 /* cursorId */
        20: .line 129
            iload 7 /* suspended */
        21: .line 130
            iload 3 /* autoCommit */
        22: .line 131
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.collector:Ljava/util/stream/Collector;
        23: .line 132
            aload 12 /* handler */
        24: .line 123
            invokestatic io.vertx.sqlclient.impl.command.ExtendedQueryCommand.createQuery:(Ljava/lang/String;Lio/vertx/sqlclient/impl/PreparedStatement;Lio/vertx/sqlclient/Tuple;ILjava/lang/String;ZZLjava/util/stream/Collector;Lio/vertx/sqlclient/impl/QueryResultHandler;)Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;
            astore 14 /* cmd */
        start local 14 // io.vertx.sqlclient.impl.command.ExtendedQueryCommand cmd
        25: .line 133
            aload 1 /* scheduler */
            aload 14 /* cmd */
            aload 12 /* handler */
            invokeinterface io.vertx.sqlclient.impl.command.CommandScheduler.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;Lio/vertx/core/Promise;)V
        26: .line 134
            aload 12 /* handler */
            areturn
        end local 14 // io.vertx.sqlclient.impl.command.ExtendedQueryCommand cmd
        end local 13 // java.lang.String msg
        end local 12 // io.vertx.sqlclient.impl.QueryResultBuilder handler
        end local 11 // java.lang.Object metric
        end local 10 // java.lang.Object payload
        end local 9 // io.vertx.core.impl.ContextInternal context
        end local 8 // io.vertx.core.impl.future.PromiseInternal promise
        end local 7 // boolean suspended
        end local 6 // java.lang.String cursorId
        end local 5 // int fetch
        end local 4 // io.vertx.sqlclient.Tuple arguments
        end local 3 // boolean autoCommit
        end local 2 // io.vertx.sqlclient.impl.PreparedStatement preparedStatement
        end local 1 // io.vertx.sqlclient.impl.command.CommandScheduler scheduler
        end local 0 // io.vertx.sqlclient.impl.QueryExecutor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   27     0               this  Lio/vertx/sqlclient/impl/QueryExecutor<TT;TR;TL;>;
            0   27     1          scheduler  Lio/vertx/sqlclient/impl/command/CommandScheduler;
            0   27     2  preparedStatement  Lio/vertx/sqlclient/impl/PreparedStatement;
            0   27     3         autoCommit  Z
            0   27     4          arguments  Lio/vertx/sqlclient/Tuple;
            0   27     5              fetch  I
            0   27     6           cursorId  Ljava/lang/String;
            0   27     7          suspended  Z
            0   27     8            promise  Lio/vertx/core/impl/future/PromiseInternal<TL;>;
            1   27     9            context  Lio/vertx/core/impl/ContextInternal;
            3    4    10            payload  Ljava/lang/Object;
            5   27    10            payload  Ljava/lang/Object;
            7    9    11             metric  Ljava/lang/Object;
           10   27    11             metric  Ljava/lang/Object;
           11   27    12            handler  Lio/vertx/sqlclient/impl/QueryResultBuilder;
           12   27    13                msg  Ljava/lang/String;
           25   27    14                cmd  Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand<TT;>;
    Signature: (Lio/vertx/sqlclient/impl/command/CommandScheduler;Lio/vertx/sqlclient/impl/PreparedStatement;ZLio/vertx/sqlclient/Tuple;ILjava/lang/String;ZLio/vertx/core/impl/future/PromiseInternal<TL;>;)Lio/vertx/sqlclient/impl/QueryResultBuilder<TT;TR;TL;>;
    MethodParameters:
                   Name  Flags
      scheduler          
      preparedStatement  
      autoCommit         
      arguments          
      fetch              
      cursorId           
      suspended          
      promise            

  void executeExtendedQuery(io.vertx.sqlclient.impl.command.CommandScheduler, java.lang.String, boolean, io.vertx.sqlclient.Tuple, io.vertx.core.impl.future.PromiseInternal<L>);
    descriptor: (Lio/vertx/sqlclient/impl/command/CommandScheduler;Ljava/lang/String;ZLio/vertx/sqlclient/Tuple;Lio/vertx/core/impl/future/PromiseInternal;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=11, args_size=6
        start local 0 // io.vertx.sqlclient.impl.QueryExecutor this
        start local 1 // io.vertx.sqlclient.impl.command.CommandScheduler scheduler
        start local 2 // java.lang.String sql
        start local 3 // boolean autoCommit
        start local 4 // io.vertx.sqlclient.Tuple arguments
        start local 5 // io.vertx.core.impl.future.PromiseInternal promise
         0: .line 138
            aload 5 /* promise */
            invokeinterface io.vertx.core.impl.future.PromiseInternal.context:()Lio/vertx/core/impl/ContextInternal;
            astore 6 /* context */
        start local 6 // io.vertx.core.impl.ContextInternal context
         1: .line 140
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            ifnull 4
         2: .line 141
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            aload 6 /* context */
            aload 2 /* sql */
            aload 4 /* arguments */
            invokevirtual io.vertx.sqlclient.impl.tracing.QueryTracer.sendRequest:(Lio/vertx/core/impl/ContextInternal;Ljava/lang/String;Lio/vertx/sqlclient/Tuple;)Ljava/lang/Object;
            astore 7 /* payload */
        start local 7 // java.lang.Object payload
         3: .line 142
            goto 5
        end local 7 // java.lang.Object payload
         4: .line 143
      StackMap locals: io.vertx.core.impl.ContextInternal
      StackMap stack:
            aconst_null
            astore 7 /* payload */
        start local 7 // java.lang.Object payload
         5: .line 146
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            ifnull 9
         6: .line 147
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 2 /* sql */
            aload 2 /* sql */
            invokeinterface io.vertx.core.spi.metrics.ClientMetrics.requestBegin:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* metric */
        start local 8 // java.lang.Object metric
         7: .line 148
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 8 /* metric */
            invokeinterface io.vertx.core.spi.metrics.ClientMetrics.requestEnd:(Ljava/lang/Object;)V
         8: .line 149
            goto 10
        end local 8 // java.lang.Object metric
         9: .line 150
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* metric */
        start local 8 // java.lang.Object metric
        10: .line 152
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 5 /* promise */
            aload 7 /* payload */
            aload 8 /* metric */
            invokevirtual io.vertx.sqlclient.impl.QueryExecutor.createHandler:(Lio/vertx/core/impl/future/PromiseInternal;Ljava/lang/Object;Ljava/lang/Object;)Lio/vertx/sqlclient/impl/QueryResultBuilder;
            astore 9 /* handler */
        start local 9 // io.vertx.sqlclient.impl.QueryResultBuilder handler
        11: .line 153
            aload 0 /* this */
            aload 2 /* sql */
            iload 3 /* autoCommit */
            aload 4 /* arguments */
            aload 9 /* handler */
            invokevirtual io.vertx.sqlclient.impl.QueryExecutor.createExtendedQueryCommand:(Ljava/lang/String;ZLio/vertx/sqlclient/Tuple;Lio/vertx/sqlclient/impl/QueryResultBuilder;)Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;
            astore 10 /* cmd */
        start local 10 // io.vertx.sqlclient.impl.command.ExtendedQueryCommand cmd
        12: .line 154
            aload 1 /* scheduler */
            aload 10 /* cmd */
            aload 9 /* handler */
            invokeinterface io.vertx.sqlclient.impl.command.CommandScheduler.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;Lio/vertx/core/Promise;)V
        13: .line 155
            return
        end local 10 // io.vertx.sqlclient.impl.command.ExtendedQueryCommand cmd
        end local 9 // io.vertx.sqlclient.impl.QueryResultBuilder handler
        end local 8 // java.lang.Object metric
        end local 7 // java.lang.Object payload
        end local 6 // io.vertx.core.impl.ContextInternal context
        end local 5 // io.vertx.core.impl.future.PromiseInternal promise
        end local 4 // io.vertx.sqlclient.Tuple arguments
        end local 3 // boolean autoCommit
        end local 2 // java.lang.String sql
        end local 1 // io.vertx.sqlclient.impl.command.CommandScheduler scheduler
        end local 0 // io.vertx.sqlclient.impl.QueryExecutor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lio/vertx/sqlclient/impl/QueryExecutor<TT;TR;TL;>;
            0   14     1   scheduler  Lio/vertx/sqlclient/impl/command/CommandScheduler;
            0   14     2         sql  Ljava/lang/String;
            0   14     3  autoCommit  Z
            0   14     4   arguments  Lio/vertx/sqlclient/Tuple;
            0   14     5     promise  Lio/vertx/core/impl/future/PromiseInternal<TL;>;
            1   14     6     context  Lio/vertx/core/impl/ContextInternal;
            3    4     7     payload  Ljava/lang/Object;
            5   14     7     payload  Ljava/lang/Object;
            7    9     8      metric  Ljava/lang/Object;
           10   14     8      metric  Ljava/lang/Object;
           11   14     9     handler  Lio/vertx/sqlclient/impl/QueryResultBuilder;
           12   14    10         cmd  Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;
    Signature: (Lio/vertx/sqlclient/impl/command/CommandScheduler;Ljava/lang/String;ZLio/vertx/sqlclient/Tuple;Lio/vertx/core/impl/future/PromiseInternal<TL;>;)V
    MethodParameters:
            Name  Flags
      scheduler   
      sql         
      autoCommit  
      arguments   
      promise     

  private io.vertx.sqlclient.impl.command.ExtendedQueryCommand<T> createExtendedQueryCommand(java.lang.String, boolean, io.vertx.sqlclient.Tuple, io.vertx.sqlclient.impl.QueryResultBuilder<T, R, L>);
    descriptor: (Ljava/lang/String;ZLio/vertx/sqlclient/Tuple;Lio/vertx/sqlclient/impl/QueryResultBuilder;)Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // io.vertx.sqlclient.impl.QueryExecutor this
        start local 1 // java.lang.String sql
        start local 2 // boolean autoCommit
        start local 3 // io.vertx.sqlclient.Tuple tuple
        start local 4 // io.vertx.sqlclient.impl.QueryResultBuilder handler
         0: .line 162
            aload 1 /* sql */
         1: .line 163
            aconst_null
         2: .line 164
            aload 3 /* tuple */
         3: .line 165
            iload 2 /* autoCommit */
         4: .line 166
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.collector:Ljava/util/stream/Collector;
         5: .line 167
            aload 4 /* handler */
         6: .line 161
            invokestatic io.vertx.sqlclient.impl.command.ExtendedQueryCommand.createQuery:(Ljava/lang/String;Lio/vertx/sqlclient/impl/PreparedStatement;Lio/vertx/sqlclient/Tuple;ZLjava/util/stream/Collector;Lio/vertx/sqlclient/impl/QueryResultHandler;)Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;
            areturn
        end local 4 // io.vertx.sqlclient.impl.QueryResultBuilder handler
        end local 3 // io.vertx.sqlclient.Tuple tuple
        end local 2 // boolean autoCommit
        end local 1 // java.lang.String sql
        end local 0 // io.vertx.sqlclient.impl.QueryExecutor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lio/vertx/sqlclient/impl/QueryExecutor<TT;TR;TL;>;
            0    7     1         sql  Ljava/lang/String;
            0    7     2  autoCommit  Z
            0    7     3       tuple  Lio/vertx/sqlclient/Tuple;
            0    7     4     handler  Lio/vertx/sqlclient/impl/QueryResultBuilder<TT;TR;TL;>;
    Signature: (Ljava/lang/String;ZLio/vertx/sqlclient/Tuple;Lio/vertx/sqlclient/impl/QueryResultBuilder<TT;TR;TL;>;)Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand<TT;>;
    MethodParameters:
            Name  Flags
      sql         
      autoCommit  
      tuple       
      handler     

  void executeBatchQuery(io.vertx.sqlclient.impl.command.CommandScheduler, io.vertx.sqlclient.impl.PreparedStatement, boolean, java.util.List<io.vertx.sqlclient.Tuple>, io.vertx.core.impl.future.PromiseInternal<L>);
    descriptor: (Lio/vertx/sqlclient/impl/command/CommandScheduler;Lio/vertx/sqlclient/impl/PreparedStatement;ZLjava/util/List;Lio/vertx/core/impl/future/PromiseInternal;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=13, args_size=6
        start local 0 // io.vertx.sqlclient.impl.QueryExecutor this
        start local 1 // io.vertx.sqlclient.impl.command.CommandScheduler scheduler
        start local 2 // io.vertx.sqlclient.impl.PreparedStatement preparedStatement
        start local 3 // boolean autoCommit
        start local 4 // java.util.List batch
        start local 5 // io.vertx.core.impl.future.PromiseInternal promise
         0: .line 175
            aload 5 /* promise */
            invokeinterface io.vertx.core.impl.future.PromiseInternal.context:()Lio/vertx/core/impl/ContextInternal;
            astore 6 /* context */
        start local 6 // io.vertx.core.impl.ContextInternal context
         1: .line 177
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            ifnull 4
         2: .line 178
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            aload 6 /* context */
            aload 2 /* preparedStatement */
            invokeinterface io.vertx.sqlclient.impl.PreparedStatement.sql:()Ljava/lang/String;
            aload 4 /* batch */
            invokevirtual io.vertx.sqlclient.impl.tracing.QueryTracer.sendRequest:(Lio/vertx/core/impl/ContextInternal;Ljava/lang/String;Ljava/util/List;)Ljava/lang/Object;
            astore 7 /* payload */
        start local 7 // java.lang.Object payload
         3: .line 179
            goto 5
        end local 7 // java.lang.Object payload
         4: .line 180
      StackMap locals: io.vertx.core.impl.ContextInternal
      StackMap stack:
            aconst_null
            astore 7 /* payload */
        start local 7 // java.lang.Object payload
         5: .line 183
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            ifnull 9
         6: .line 184
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 2 /* preparedStatement */
            invokeinterface io.vertx.sqlclient.impl.PreparedStatement.sql:()Ljava/lang/String;
            aload 2 /* preparedStatement */
            invokeinterface io.vertx.sqlclient.impl.PreparedStatement.sql:()Ljava/lang/String;
            invokeinterface io.vertx.core.spi.metrics.ClientMetrics.requestBegin:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* metric */
        start local 8 // java.lang.Object metric
         7: .line 185
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 8 /* metric */
            invokeinterface io.vertx.core.spi.metrics.ClientMetrics.requestEnd:(Ljava/lang/Object;)V
         8: .line 186
            goto 10
        end local 8 // java.lang.Object metric
         9: .line 187
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* metric */
        start local 8 // java.lang.Object metric
        10: .line 189
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 5 /* promise */
            aload 7 /* payload */
            aload 8 /* metric */
            invokevirtual io.vertx.sqlclient.impl.QueryExecutor.createHandler:(Lio/vertx/core/impl/future/PromiseInternal;Ljava/lang/Object;Ljava/lang/Object;)Lio/vertx/sqlclient/impl/QueryResultBuilder;
            astore 9 /* handler */
        start local 9 // io.vertx.sqlclient.impl.QueryResultBuilder handler
        11: .line 190
            aload 4 /* batch */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 17
      StackMap locals: io.vertx.sqlclient.impl.QueryExecutor io.vertx.sqlclient.impl.command.CommandScheduler io.vertx.sqlclient.impl.PreparedStatement int java.util.List io.vertx.core.impl.future.PromiseInternal io.vertx.core.impl.ContextInternal java.lang.Object java.lang.Object io.vertx.sqlclient.impl.QueryResultBuilder top java.util.Iterator
      StackMap stack:
        12: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.sqlclient.Tuple
            astore 10 /* args */
        start local 10 // io.vertx.sqlclient.Tuple args
        13: .line 191
            aload 2 /* preparedStatement */
            aload 10 /* args */
            checkcast io.vertx.sqlclient.impl.TupleInternal
            invokeinterface io.vertx.sqlclient.impl.PreparedStatement.prepare:(Lio/vertx/sqlclient/impl/TupleInternal;)Ljava/lang/String;
            astore 12 /* msg */
        start local 12 // java.lang.String msg
        14: .line 192
            aload 12 /* msg */
            ifnull 17
        15: .line 193
            aload 9 /* handler */
            aload 12 /* msg */
            invokevirtual io.vertx.sqlclient.impl.QueryResultBuilder.fail:(Ljava/lang/String;)V
        16: .line 194
            return
        end local 12 // java.lang.String msg
        end local 10 // io.vertx.sqlclient.Tuple args
        17: .line 190
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        18: .line 197
            aload 2 /* preparedStatement */
            invokeinterface io.vertx.sqlclient.impl.PreparedStatement.sql:()Ljava/lang/String;
            aload 2 /* preparedStatement */
            aload 4 /* batch */
            iload 3 /* autoCommit */
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.collector:Ljava/util/stream/Collector;
            aload 9 /* handler */
            invokestatic io.vertx.sqlclient.impl.command.ExtendedQueryCommand.createBatch:(Ljava/lang/String;Lio/vertx/sqlclient/impl/PreparedStatement;Ljava/util/List;ZLjava/util/stream/Collector;Lio/vertx/sqlclient/impl/QueryResultHandler;)Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;
            astore 10 /* cmd */
        start local 10 // io.vertx.sqlclient.impl.command.ExtendedQueryCommand cmd
        19: .line 198
            aload 1 /* scheduler */
            aload 10 /* cmd */
            aload 9 /* handler */
            invokeinterface io.vertx.sqlclient.impl.command.CommandScheduler.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;Lio/vertx/core/Promise;)V
        20: .line 199
            return
        end local 10 // io.vertx.sqlclient.impl.command.ExtendedQueryCommand cmd
        end local 9 // io.vertx.sqlclient.impl.QueryResultBuilder handler
        end local 8 // java.lang.Object metric
        end local 7 // java.lang.Object payload
        end local 6 // io.vertx.core.impl.ContextInternal context
        end local 5 // io.vertx.core.impl.future.PromiseInternal promise
        end local 4 // java.util.List batch
        end local 3 // boolean autoCommit
        end local 2 // io.vertx.sqlclient.impl.PreparedStatement preparedStatement
        end local 1 // io.vertx.sqlclient.impl.command.CommandScheduler scheduler
        end local 0 // io.vertx.sqlclient.impl.QueryExecutor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   21     0               this  Lio/vertx/sqlclient/impl/QueryExecutor<TT;TR;TL;>;
            0   21     1          scheduler  Lio/vertx/sqlclient/impl/command/CommandScheduler;
            0   21     2  preparedStatement  Lio/vertx/sqlclient/impl/PreparedStatement;
            0   21     3         autoCommit  Z
            0   21     4              batch  Ljava/util/List<Lio/vertx/sqlclient/Tuple;>;
            0   21     5            promise  Lio/vertx/core/impl/future/PromiseInternal<TL;>;
            1   21     6            context  Lio/vertx/core/impl/ContextInternal;
            3    4     7            payload  Ljava/lang/Object;
            5   21     7            payload  Ljava/lang/Object;
            7    9     8             metric  Ljava/lang/Object;
           10   21     8             metric  Ljava/lang/Object;
           11   21     9            handler  Lio/vertx/sqlclient/impl/QueryResultBuilder;
           13   17    10               args  Lio/vertx/sqlclient/Tuple;
           14   17    12                msg  Ljava/lang/String;
           19   21    10                cmd  Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand<TT;>;
    Signature: (Lio/vertx/sqlclient/impl/command/CommandScheduler;Lio/vertx/sqlclient/impl/PreparedStatement;ZLjava/util/List<Lio/vertx/sqlclient/Tuple;>;Lio/vertx/core/impl/future/PromiseInternal<TL;>;)V
    MethodParameters:
                   Name  Flags
      scheduler          
      preparedStatement  
      autoCommit         
      batch              
      promise            

  void executeBatchQuery(io.vertx.sqlclient.impl.command.CommandScheduler, java.lang.String, boolean, java.util.List<io.vertx.sqlclient.Tuple>, io.vertx.core.impl.future.PromiseInternal<L>);
    descriptor: (Lio/vertx/sqlclient/impl/command/CommandScheduler;Ljava/lang/String;ZLjava/util/List;Lio/vertx/core/impl/future/PromiseInternal;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=11, args_size=6
        start local 0 // io.vertx.sqlclient.impl.QueryExecutor this
        start local 1 // io.vertx.sqlclient.impl.command.CommandScheduler scheduler
        start local 2 // java.lang.String sql
        start local 3 // boolean autoCommit
        start local 4 // java.util.List batch
        start local 5 // io.vertx.core.impl.future.PromiseInternal promise
         0: .line 202
            aload 5 /* promise */
            invokeinterface io.vertx.core.impl.future.PromiseInternal.context:()Lio/vertx/core/impl/ContextInternal;
            astore 6 /* context */
        start local 6 // io.vertx.core.impl.ContextInternal context
         1: .line 204
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            ifnull 4
         2: .line 205
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.tracer:Lio/vertx/sqlclient/impl/tracing/QueryTracer;
            aload 6 /* context */
            aload 2 /* sql */
            aload 4 /* batch */
            invokevirtual io.vertx.sqlclient.impl.tracing.QueryTracer.sendRequest:(Lio/vertx/core/impl/ContextInternal;Ljava/lang/String;Ljava/util/List;)Ljava/lang/Object;
            astore 7 /* payload */
        start local 7 // java.lang.Object payload
         3: .line 206
            goto 5
        end local 7 // java.lang.Object payload
         4: .line 207
      StackMap locals: io.vertx.core.impl.ContextInternal
      StackMap stack:
            aconst_null
            astore 7 /* payload */
        start local 7 // java.lang.Object payload
         5: .line 210
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            ifnull 9
         6: .line 211
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 2 /* sql */
            aload 2 /* sql */
            invokeinterface io.vertx.core.spi.metrics.ClientMetrics.requestBegin:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* metric */
        start local 8 // java.lang.Object metric
         7: .line 212
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.metrics:Lio/vertx/core/spi/metrics/ClientMetrics;
            aload 8 /* metric */
            invokeinterface io.vertx.core.spi.metrics.ClientMetrics.requestEnd:(Ljava/lang/Object;)V
         8: .line 213
            goto 10
        end local 8 // java.lang.Object metric
         9: .line 214
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* metric */
        start local 8 // java.lang.Object metric
        10: .line 216
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 5 /* promise */
            aload 7 /* payload */
            aload 8 /* metric */
            invokevirtual io.vertx.sqlclient.impl.QueryExecutor.createHandler:(Lio/vertx/core/impl/future/PromiseInternal;Ljava/lang/Object;Ljava/lang/Object;)Lio/vertx/sqlclient/impl/QueryResultBuilder;
            astore 9 /* handler */
        start local 9 // io.vertx.sqlclient.impl.QueryResultBuilder handler
        11: .line 217
            aload 0 /* this */
            aload 2 /* sql */
            iload 3 /* autoCommit */
            aload 4 /* batch */
            aload 9 /* handler */
            invokevirtual io.vertx.sqlclient.impl.QueryExecutor.createBatchQueryCommand:(Ljava/lang/String;ZLjava/util/List;Lio/vertx/sqlclient/impl/QueryResultBuilder;)Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;
            astore 10 /* cmd */
        start local 10 // io.vertx.sqlclient.impl.command.ExtendedQueryCommand cmd
        12: .line 218
            aload 1 /* scheduler */
            aload 10 /* cmd */
            aload 9 /* handler */
            invokeinterface io.vertx.sqlclient.impl.command.CommandScheduler.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;Lio/vertx/core/Promise;)V
        13: .line 219
            return
        end local 10 // io.vertx.sqlclient.impl.command.ExtendedQueryCommand cmd
        end local 9 // io.vertx.sqlclient.impl.QueryResultBuilder handler
        end local 8 // java.lang.Object metric
        end local 7 // java.lang.Object payload
        end local 6 // io.vertx.core.impl.ContextInternal context
        end local 5 // io.vertx.core.impl.future.PromiseInternal promise
        end local 4 // java.util.List batch
        end local 3 // boolean autoCommit
        end local 2 // java.lang.String sql
        end local 1 // io.vertx.sqlclient.impl.command.CommandScheduler scheduler
        end local 0 // io.vertx.sqlclient.impl.QueryExecutor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lio/vertx/sqlclient/impl/QueryExecutor<TT;TR;TL;>;
            0   14     1   scheduler  Lio/vertx/sqlclient/impl/command/CommandScheduler;
            0   14     2         sql  Ljava/lang/String;
            0   14     3  autoCommit  Z
            0   14     4       batch  Ljava/util/List<Lio/vertx/sqlclient/Tuple;>;
            0   14     5     promise  Lio/vertx/core/impl/future/PromiseInternal<TL;>;
            1   14     6     context  Lio/vertx/core/impl/ContextInternal;
            3    4     7     payload  Ljava/lang/Object;
            5   14     7     payload  Ljava/lang/Object;
            7    9     8      metric  Ljava/lang/Object;
           10   14     8      metric  Ljava/lang/Object;
           11   14     9     handler  Lio/vertx/sqlclient/impl/QueryResultBuilder;
           12   14    10         cmd  Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand<TT;>;
    Signature: (Lio/vertx/sqlclient/impl/command/CommandScheduler;Ljava/lang/String;ZLjava/util/List<Lio/vertx/sqlclient/Tuple;>;Lio/vertx/core/impl/future/PromiseInternal<TL;>;)V
    MethodParameters:
            Name  Flags
      scheduler   
      sql         
      autoCommit  
      batch       
      promise     

  private io.vertx.sqlclient.impl.command.ExtendedQueryCommand<T> createBatchQueryCommand(java.lang.String, boolean, java.util.List<io.vertx.sqlclient.Tuple>, io.vertx.sqlclient.impl.QueryResultBuilder<T, R, L>);
    descriptor: (Ljava/lang/String;ZLjava/util/List;Lio/vertx/sqlclient/impl/QueryResultBuilder;)Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // io.vertx.sqlclient.impl.QueryExecutor this
        start local 1 // java.lang.String sql
        start local 2 // boolean autoCommit
        start local 3 // java.util.List argsList
        start local 4 // io.vertx.sqlclient.impl.QueryResultBuilder handler
         0: .line 225
            aload 1 /* sql */
            aconst_null
            aload 3 /* argsList */
            iload 2 /* autoCommit */
            aload 0 /* this */
            getfield io.vertx.sqlclient.impl.QueryExecutor.collector:Ljava/util/stream/Collector;
            aload 4 /* handler */
            invokestatic io.vertx.sqlclient.impl.command.ExtendedQueryCommand.createBatch:(Ljava/lang/String;Lio/vertx/sqlclient/impl/PreparedStatement;Ljava/util/List;ZLjava/util/stream/Collector;Lio/vertx/sqlclient/impl/QueryResultHandler;)Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand;
            areturn
        end local 4 // io.vertx.sqlclient.impl.QueryResultBuilder handler
        end local 3 // java.util.List argsList
        end local 2 // boolean autoCommit
        end local 1 // java.lang.String sql
        end local 0 // io.vertx.sqlclient.impl.QueryExecutor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lio/vertx/sqlclient/impl/QueryExecutor<TT;TR;TL;>;
            0    1     1         sql  Ljava/lang/String;
            0    1     2  autoCommit  Z
            0    1     3    argsList  Ljava/util/List<Lio/vertx/sqlclient/Tuple;>;
            0    1     4     handler  Lio/vertx/sqlclient/impl/QueryResultBuilder<TT;TR;TL;>;
    Signature: (Ljava/lang/String;ZLjava/util/List<Lio/vertx/sqlclient/Tuple;>;Lio/vertx/sqlclient/impl/QueryResultBuilder<TT;TR;TL;>;)Lio/vertx/sqlclient/impl/command/ExtendedQueryCommand<TT;>;
    MethodParameters:
            Name  Flags
      sql         
      autoCommit  
      argsList    
      handler     
}
Signature: <T:Ljava/lang/Object;R:Lio/vertx/sqlclient/impl/SqlResultBase<TT;>;L::Lio/vertx/sqlclient/SqlResult<TT;>;>Ljava/lang/Object;
SourceFile: "QueryExecutor.java"