public abstract class io.vertx.sqlclient.impl.SqlClientBase<C extends io.vertx.sqlclient.SqlClient> implements io.vertx.sqlclient.SqlClient, io.vertx.sqlclient.impl.command.CommandScheduler
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.vertx.sqlclient.impl.SqlClientBase
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.sqlclient.impl.SqlClientBase this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.sqlclient.impl.SqlClientBase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/sqlclient/impl/SqlClientBase<TC;>;

  public C query(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.sqlclient.RowSet>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // io.vertx.sqlclient.impl.SqlClientBase this
        start local 1 // java.lang.String sql
        start local 2 // io.vertx.core.Handler handler
         0: .line 42
            aload 0 /* this */
            aload 1 /* sql */
            iconst_0
            getstatic io.vertx.sqlclient.impl.RowSetImpl.FACTORY:Ljava/util/function/Function;
            getstatic io.vertx.sqlclient.impl.RowSetImpl.COLLECTOR:Ljava/util/stream/Collector;
            aload 2 /* handler */
            invokevirtual io.vertx.sqlclient.impl.SqlClientBase.query:(Ljava/lang/String;ZLjava/util/function/Function;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
            areturn
        end local 2 // io.vertx.core.Handler handler
        end local 1 // java.lang.String sql
        end local 0 // io.vertx.sqlclient.impl.SqlClientBase this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/sqlclient/impl/SqlClientBase<TC;>;
            0    1     1      sql  Ljava/lang/String;
            0    1     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/RowSet;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/RowSet;>;>;)TC;
    MethodParameters:
         Name  Flags
      sql      
      handler  

  public <R> C query(java.lang.String, java.util.stream.Collector<io.vertx.sqlclient.Row, ?, R>, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.sqlclient.SqlResult<R>>>);
    descriptor: (Ljava/lang/String;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // io.vertx.sqlclient.impl.SqlClientBase this
        start local 1 // java.lang.String sql
        start local 2 // java.util.stream.Collector collector
        start local 3 // io.vertx.core.Handler handler
         0: .line 47
            aload 0 /* this */
            aload 1 /* sql */
            iconst_1
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/sqlclient/impl/SqlResultImpl.<init>(Ljava/lang/Object;)V (8)
                  (Ljava/lang/Object;)Lio/vertx/sqlclient/impl/SqlResultImpl;
            aload 2 /* collector */
            aload 3 /* handler */
            invokevirtual io.vertx.sqlclient.impl.SqlClientBase.query:(Ljava/lang/String;ZLjava/util/function/Function;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
            areturn
        end local 3 // io.vertx.core.Handler handler
        end local 2 // java.util.stream.Collector collector
        end local 1 // java.lang.String sql
        end local 0 // io.vertx.sqlclient.impl.SqlClientBase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/vertx/sqlclient/impl/SqlClientBase<TC;>;
            0    1     1        sql  Ljava/lang/String;
            0    1     2  collector  Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR;>;
            0    1     3    handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/SqlResult<TR;>;>;>;
    Signature: <R:Ljava/lang/Object;>(Ljava/lang/String;Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/SqlResult<TR;>;>;>;)TC;
    MethodParameters:
           Name  Flags
      sql        
      collector  
      handler    

  private <R1, R2 extends io.vertx.sqlclient.impl.SqlResultBase<R1, R2>, R3 extends io.vertx.sqlclient.SqlResult<R1>> C query(java.lang.String, boolean, java.util.function.Function<R1, R2>, java.util.stream.Collector<io.vertx.sqlclient.Row, ?, R1>, io.vertx.core.Handler<io.vertx.core.AsyncResult<R3>>);
    descriptor: (Ljava/lang/String;ZLjava/util/function/Function;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // io.vertx.sqlclient.impl.SqlClientBase this
        start local 1 // java.lang.String sql
        start local 2 // boolean singleton
        start local 3 // java.util.function.Function factory
        start local 4 // java.util.stream.Collector collector
        start local 5 // io.vertx.core.Handler handler
         0: .line 56
            new io.vertx.sqlclient.impl.SqlResultBuilder
            dup
            aload 3 /* factory */
            aload 5 /* handler */
            invokespecial io.vertx.sqlclient.impl.SqlResultBuilder.<init>:(Ljava/util/function/Function;Lio/vertx/core/Handler;)V
            astore 6 /* b */
        start local 6 // io.vertx.sqlclient.impl.SqlResultBuilder b
         1: .line 57
            aload 0 /* this */
            new io.vertx.sqlclient.impl.command.SimpleQueryCommand
            dup
            aload 1 /* sql */
            iload 2 /* singleton */
            aload 4 /* collector */
            aload 6 /* b */
            invokespecial io.vertx.sqlclient.impl.command.SimpleQueryCommand.<init>:(Ljava/lang/String;ZLjava/util/stream/Collector;Lio/vertx/sqlclient/impl/QueryResultHandler;)V
            aload 6 /* b */
            invokevirtual io.vertx.sqlclient.impl.SqlClientBase.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;Lio/vertx/core/Handler;)V
         2: .line 58
            aload 0 /* this */
            areturn
        end local 6 // io.vertx.sqlclient.impl.SqlResultBuilder b
        end local 5 // io.vertx.core.Handler handler
        end local 4 // java.util.stream.Collector collector
        end local 3 // java.util.function.Function factory
        end local 2 // boolean singleton
        end local 1 // java.lang.String sql
        end local 0 // io.vertx.sqlclient.impl.SqlClientBase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lio/vertx/sqlclient/impl/SqlClientBase<TC;>;
            0    3     1        sql  Ljava/lang/String;
            0    3     2  singleton  Z
            0    3     3    factory  Ljava/util/function/Function<TR1;TR2;>;
            0    3     4  collector  Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR1;>;
            0    3     5    handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TR3;>;>;
            1    3     6          b  Lio/vertx/sqlclient/impl/SqlResultBuilder<TR1;TR2;TR3;>;
    Signature: <R1:Ljava/lang/Object;R2:Lio/vertx/sqlclient/impl/SqlResultBase<TR1;TR2;>;R3::Lio/vertx/sqlclient/SqlResult<TR1;>;>(Ljava/lang/String;ZLjava/util/function/Function<TR1;TR2;>;Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR1;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TR3;>;>;)TC;
    MethodParameters:
           Name  Flags
      sql        
      singleton  
      factory    
      collector  
      handler    

  public C preparedQuery(java.lang.String, io.vertx.sqlclient.Tuple, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.sqlclient.RowSet>>);
    descriptor: (Ljava/lang/String;Lio/vertx/sqlclient/Tuple;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // io.vertx.sqlclient.impl.SqlClientBase this
        start local 1 // java.lang.String sql
        start local 2 // io.vertx.sqlclient.Tuple arguments
        start local 3 // io.vertx.core.Handler handler
         0: .line 63
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* arguments */
            iconst_0
            getstatic io.vertx.sqlclient.impl.RowSetImpl.FACTORY:Ljava/util/function/Function;
            getstatic io.vertx.sqlclient.impl.RowSetImpl.COLLECTOR:Ljava/util/stream/Collector;
            aload 3 /* handler */
            invokevirtual io.vertx.sqlclient.impl.SqlClientBase.preparedQuery:(Ljava/lang/String;Lio/vertx/sqlclient/Tuple;ZLjava/util/function/Function;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
            areturn
        end local 3 // io.vertx.core.Handler handler
        end local 2 // io.vertx.sqlclient.Tuple arguments
        end local 1 // java.lang.String sql
        end local 0 // io.vertx.sqlclient.impl.SqlClientBase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/vertx/sqlclient/impl/SqlClientBase<TC;>;
            0    1     1        sql  Ljava/lang/String;
            0    1     2  arguments  Lio/vertx/sqlclient/Tuple;
            0    1     3    handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/RowSet;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/sqlclient/Tuple;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/RowSet;>;>;)TC;
    MethodParameters:
           Name  Flags
      sql        
      arguments  
      handler    

  public <R> C preparedQuery(java.lang.String, io.vertx.sqlclient.Tuple, java.util.stream.Collector<io.vertx.sqlclient.Row, ?, R>, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.sqlclient.SqlResult<R>>>);
    descriptor: (Ljava/lang/String;Lio/vertx/sqlclient/Tuple;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // io.vertx.sqlclient.impl.SqlClientBase this
        start local 1 // java.lang.String sql
        start local 2 // io.vertx.sqlclient.Tuple arguments
        start local 3 // java.util.stream.Collector collector
        start local 4 // io.vertx.core.Handler handler
         0: .line 68
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* arguments */
            iconst_1
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/sqlclient/impl/SqlResultImpl.<init>(Ljava/lang/Object;)V (8)
                  (Ljava/lang/Object;)Lio/vertx/sqlclient/impl/SqlResultImpl;
            aload 3 /* collector */
            aload 4 /* handler */
            invokevirtual io.vertx.sqlclient.impl.SqlClientBase.preparedQuery:(Ljava/lang/String;Lio/vertx/sqlclient/Tuple;ZLjava/util/function/Function;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
            areturn
        end local 4 // io.vertx.core.Handler handler
        end local 3 // java.util.stream.Collector collector
        end local 2 // io.vertx.sqlclient.Tuple arguments
        end local 1 // java.lang.String sql
        end local 0 // io.vertx.sqlclient.impl.SqlClientBase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/vertx/sqlclient/impl/SqlClientBase<TC;>;
            0    1     1        sql  Ljava/lang/String;
            0    1     2  arguments  Lio/vertx/sqlclient/Tuple;
            0    1     3  collector  Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR;>;
            0    1     4    handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/SqlResult<TR;>;>;>;
    Signature: <R:Ljava/lang/Object;>(Ljava/lang/String;Lio/vertx/sqlclient/Tuple;Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/SqlResult<TR;>;>;>;)TC;
    MethodParameters:
           Name  Flags
      sql        
      arguments  
      collector  
      handler    

  private <R1, R2 extends io.vertx.sqlclient.impl.SqlResultBase<R1, R2>, R3 extends io.vertx.sqlclient.SqlResult<R1>> C preparedQuery(java.lang.String, io.vertx.sqlclient.Tuple, boolean, java.util.function.Function<R1, R2>, java.util.stream.Collector<io.vertx.sqlclient.Row, ?, R1>, io.vertx.core.Handler<io.vertx.core.AsyncResult<R3>>);
    descriptor: (Ljava/lang/String;Lio/vertx/sqlclient/Tuple;ZLjava/util/function/Function;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // io.vertx.sqlclient.impl.SqlClientBase this
        start local 1 // java.lang.String sql
        start local 2 // io.vertx.sqlclient.Tuple arguments
        start local 3 // boolean singleton
        start local 4 // java.util.function.Function factory
        start local 5 // java.util.stream.Collector collector
        start local 6 // io.vertx.core.Handler handler
         0: .line 78
            aload 0 /* this */
            new io.vertx.sqlclient.impl.command.PrepareStatementCommand
            dup
            aload 1 /* sql */
            invokespecial io.vertx.sqlclient.impl.command.PrepareStatementCommand.<init>:(Ljava/lang/String;)V
            aload 2 /* arguments */
            aload 6 /* handler */
            aload 4 /* factory */
            iload 3 /* singleton */
            aload 5 /* collector */
            invokedynamic handle(Lio/vertx/sqlclient/Tuple;Lio/vertx/core/Handler;Ljava/util/function/Function;ZLjava/util/stream/Collector;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/sqlclient/impl/SqlClientBase.lambda$2(Lio/vertx/sqlclient/Tuple;Lio/vertx/core/Handler;Ljava/util/function/Function;ZLjava/util/stream/Collector;Lio/vertx/sqlclient/impl/command/CommandResponse;)V (6)
                  (Lio/vertx/sqlclient/impl/command/CommandResponse;)V
            invokevirtual io.vertx.sqlclient.impl.SqlClientBase.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;Lio/vertx/core/Handler;)V
         1: .line 92
            aload 0 /* this */
            areturn
        end local 6 // io.vertx.core.Handler handler
        end local 5 // java.util.stream.Collector collector
        end local 4 // java.util.function.Function factory
        end local 3 // boolean singleton
        end local 2 // io.vertx.sqlclient.Tuple arguments
        end local 1 // java.lang.String sql
        end local 0 // io.vertx.sqlclient.impl.SqlClientBase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/vertx/sqlclient/impl/SqlClientBase<TC;>;
            0    2     1        sql  Ljava/lang/String;
            0    2     2  arguments  Lio/vertx/sqlclient/Tuple;
            0    2     3  singleton  Z
            0    2     4    factory  Ljava/util/function/Function<TR1;TR2;>;
            0    2     5  collector  Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR1;>;
            0    2     6    handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TR3;>;>;
    Signature: <R1:Ljava/lang/Object;R2:Lio/vertx/sqlclient/impl/SqlResultBase<TR1;TR2;>;R3::Lio/vertx/sqlclient/SqlResult<TR1;>;>(Ljava/lang/String;Lio/vertx/sqlclient/Tuple;ZLjava/util/function/Function<TR1;TR2;>;Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR1;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TR3;>;>;)TC;
    MethodParameters:
           Name  Flags
      sql        
      arguments  
      singleton  
      factory    
      collector  
      handler    

  public C preparedQuery(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.sqlclient.RowSet>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.sqlclient.impl.SqlClientBase this
        start local 1 // java.lang.String sql
        start local 2 // io.vertx.core.Handler handler
         0: .line 97
            aload 0 /* this */
            aload 1 /* sql */
            getstatic io.vertx.sqlclient.impl.ArrayTuple.EMPTY:Lio/vertx/sqlclient/Tuple;
            aload 2 /* handler */
            invokevirtual io.vertx.sqlclient.impl.SqlClientBase.preparedQuery:(Ljava/lang/String;Lio/vertx/sqlclient/Tuple;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
            areturn
        end local 2 // io.vertx.core.Handler handler
        end local 1 // java.lang.String sql
        end local 0 // io.vertx.sqlclient.impl.SqlClientBase this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/sqlclient/impl/SqlClientBase<TC;>;
            0    1     1      sql  Ljava/lang/String;
            0    1     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/RowSet;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/RowSet;>;>;)TC;
    MethodParameters:
         Name  Flags
      sql      
      handler  

  public <R> C preparedQuery(java.lang.String, java.util.stream.Collector<io.vertx.sqlclient.Row, ?, R>, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.sqlclient.SqlResult<R>>>);
    descriptor: (Ljava/lang/String;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.sqlclient.impl.SqlClientBase this
        start local 1 // java.lang.String sql
        start local 2 // java.util.stream.Collector collector
        start local 3 // io.vertx.core.Handler handler
         0: .line 102
            aload 0 /* this */
            aload 1 /* sql */
            getstatic io.vertx.sqlclient.impl.ArrayTuple.EMPTY:Lio/vertx/sqlclient/Tuple;
            aload 2 /* collector */
            aload 3 /* handler */
            invokevirtual io.vertx.sqlclient.impl.SqlClientBase.preparedQuery:(Ljava/lang/String;Lio/vertx/sqlclient/Tuple;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
            areturn
        end local 3 // io.vertx.core.Handler handler
        end local 2 // java.util.stream.Collector collector
        end local 1 // java.lang.String sql
        end local 0 // io.vertx.sqlclient.impl.SqlClientBase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/vertx/sqlclient/impl/SqlClientBase<TC;>;
            0    1     1        sql  Ljava/lang/String;
            0    1     2  collector  Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR;>;
            0    1     3    handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/SqlResult<TR;>;>;>;
    Signature: <R:Ljava/lang/Object;>(Ljava/lang/String;Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/SqlResult<TR;>;>;>;)TC;
    MethodParameters:
           Name  Flags
      sql        
      collector  
      handler    

  public C preparedBatch(java.lang.String, java.util.List<io.vertx.sqlclient.Tuple>, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.sqlclient.RowSet>>);
    descriptor: (Ljava/lang/String;Ljava/util/List;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // io.vertx.sqlclient.impl.SqlClientBase this
        start local 1 // java.lang.String sql
        start local 2 // java.util.List batch
        start local 3 // io.vertx.core.Handler handler
         0: .line 107
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* batch */
            iconst_0
            getstatic io.vertx.sqlclient.impl.RowSetImpl.FACTORY:Ljava/util/function/Function;
            getstatic io.vertx.sqlclient.impl.RowSetImpl.COLLECTOR:Ljava/util/stream/Collector;
            aload 3 /* handler */
            invokevirtual io.vertx.sqlclient.impl.SqlClientBase.preparedBatch:(Ljava/lang/String;Ljava/util/List;ZLjava/util/function/Function;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
            areturn
        end local 3 // io.vertx.core.Handler handler
        end local 2 // java.util.List batch
        end local 1 // java.lang.String sql
        end local 0 // io.vertx.sqlclient.impl.SqlClientBase this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/sqlclient/impl/SqlClientBase<TC;>;
            0    1     1      sql  Ljava/lang/String;
            0    1     2    batch  Ljava/util/List<Lio/vertx/sqlclient/Tuple;>;
            0    1     3  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/RowSet;>;>;
    Signature: (Ljava/lang/String;Ljava/util/List<Lio/vertx/sqlclient/Tuple;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/RowSet;>;>;)TC;
    MethodParameters:
         Name  Flags
      sql      
      batch    
      handler  

  public <R> C preparedBatch(java.lang.String, java.util.List<io.vertx.sqlclient.Tuple>, java.util.stream.Collector<io.vertx.sqlclient.Row, ?, R>, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.sqlclient.SqlResult<R>>>);
    descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // io.vertx.sqlclient.impl.SqlClientBase this
        start local 1 // java.lang.String sql
        start local 2 // java.util.List batch
        start local 3 // java.util.stream.Collector collector
        start local 4 // io.vertx.core.Handler handler
         0: .line 112
            aload 0 /* this */
            aload 1 /* sql */
            aload 2 /* batch */
            iconst_1
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/sqlclient/impl/SqlResultImpl.<init>(Ljava/lang/Object;)V (8)
                  (Ljava/lang/Object;)Lio/vertx/sqlclient/impl/SqlResultImpl;
            aload 3 /* collector */
            aload 4 /* handler */
            invokevirtual io.vertx.sqlclient.impl.SqlClientBase.preparedBatch:(Ljava/lang/String;Ljava/util/List;ZLjava/util/function/Function;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
            areturn
        end local 4 // io.vertx.core.Handler handler
        end local 3 // java.util.stream.Collector collector
        end local 2 // java.util.List batch
        end local 1 // java.lang.String sql
        end local 0 // io.vertx.sqlclient.impl.SqlClientBase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lio/vertx/sqlclient/impl/SqlClientBase<TC;>;
            0    1     1        sql  Ljava/lang/String;
            0    1     2      batch  Ljava/util/List<Lio/vertx/sqlclient/Tuple;>;
            0    1     3  collector  Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR;>;
            0    1     4    handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/SqlResult<TR;>;>;>;
    Signature: <R:Ljava/lang/Object;>(Ljava/lang/String;Ljava/util/List<Lio/vertx/sqlclient/Tuple;>;Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/sqlclient/SqlResult<TR;>;>;>;)TC;
    MethodParameters:
           Name  Flags
      sql        
      batch      
      collector  
      handler    

  private <R1, R2 extends io.vertx.sqlclient.impl.SqlResultBase<R1, R2>, R3 extends io.vertx.sqlclient.SqlResult<R1>> C preparedBatch(java.lang.String, java.util.List<io.vertx.sqlclient.Tuple>, boolean, java.util.function.Function<R1, R2>, java.util.stream.Collector<io.vertx.sqlclient.Row, ?, R1>, io.vertx.core.Handler<io.vertx.core.AsyncResult<R3>>);
    descriptor: (Ljava/lang/String;Ljava/util/List;ZLjava/util/function/Function;Ljava/util/stream/Collector;Lio/vertx/core/Handler;)Lio/vertx/sqlclient/SqlClient;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // io.vertx.sqlclient.impl.SqlClientBase this
        start local 1 // java.lang.String sql
        start local 2 // java.util.List batch
        start local 3 // boolean singleton
        start local 4 // java.util.function.Function factory
        start local 5 // java.util.stream.Collector collector
        start local 6 // io.vertx.core.Handler handler
         0: .line 122
            aload 0 /* this */
            new io.vertx.sqlclient.impl.command.PrepareStatementCommand
            dup
            aload 1 /* sql */
            invokespecial io.vertx.sqlclient.impl.command.PrepareStatementCommand.<init>:(Ljava/lang/String;)V
            aload 2 /* batch */
            aload 6 /* handler */
            aload 4 /* factory */
            iload 3 /* singleton */
            aload 5 /* collector */
            invokedynamic handle(Ljava/util/List;Lio/vertx/core/Handler;Ljava/util/function/Function;ZLjava/util/stream/Collector;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/sqlclient/impl/SqlClientBase.lambda$4(Ljava/util/List;Lio/vertx/core/Handler;Ljava/util/function/Function;ZLjava/util/stream/Collector;Lio/vertx/sqlclient/impl/command/CommandResponse;)V (6)
                  (Lio/vertx/sqlclient/impl/command/CommandResponse;)V
            invokevirtual io.vertx.sqlclient.impl.SqlClientBase.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;Lio/vertx/core/Handler;)V
         1: .line 143
            aload 0 /* this */
            areturn
        end local 6 // io.vertx.core.Handler handler
        end local 5 // java.util.stream.Collector collector
        end local 4 // java.util.function.Function factory
        end local 3 // boolean singleton
        end local 2 // java.util.List batch
        end local 1 // java.lang.String sql
        end local 0 // io.vertx.sqlclient.impl.SqlClientBase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/vertx/sqlclient/impl/SqlClientBase<TC;>;
            0    2     1        sql  Ljava/lang/String;
            0    2     2      batch  Ljava/util/List<Lio/vertx/sqlclient/Tuple;>;
            0    2     3  singleton  Z
            0    2     4    factory  Ljava/util/function/Function<TR1;TR2;>;
            0    2     5  collector  Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR1;>;
            0    2     6    handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TR3;>;>;
    Signature: <R1:Ljava/lang/Object;R2:Lio/vertx/sqlclient/impl/SqlResultBase<TR1;TR2;>;R3::Lio/vertx/sqlclient/SqlResult<TR1;>;>(Ljava/lang/String;Ljava/util/List<Lio/vertx/sqlclient/Tuple;>;ZLjava/util/function/Function<TR1;TR2;>;Ljava/util/stream/Collector<Lio/vertx/sqlclient/Row;*TR1;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TR3;>;>;)TC;
    MethodParameters:
           Name  Flags
      sql        
      batch      
      singleton  
      factory    
      collector  
      handler    

  private static void lambda$2(io.vertx.sqlclient.Tuple, io.vertx.core.Handler, java.util.function.Function, boolean, java.util.stream.Collector, io.vertx.sqlclient.impl.command.CommandResponse);
    descriptor: (Lio/vertx/sqlclient/Tuple;Lio/vertx/core/Handler;Ljava/util/function/Function;ZLjava/util/stream/Collector;Lio/vertx/sqlclient/impl/command/CommandResponse;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=8, locals=9, args_size=6
        start local 5 // io.vertx.sqlclient.impl.command.CommandResponse cr
         0: .line 79
            aload 5 /* cr */
            invokevirtual io.vertx.sqlclient.impl.command.CommandResponse.succeeded:()Z
            ifeq 9
         1: .line 80
            aload 5 /* cr */
            invokevirtual io.vertx.sqlclient.impl.command.CommandResponse.result:()Ljava/lang/Object;
            checkcast io.vertx.sqlclient.impl.PreparedStatement
            astore 6 /* ps */
        start local 6 // io.vertx.sqlclient.impl.PreparedStatement ps
         2: .line 81
            aload 6 /* ps */
            aload 0
            checkcast java.util.List
            invokeinterface io.vertx.sqlclient.impl.PreparedStatement.prepare:(Ljava/util/List;)Ljava/lang/String;
            astore 7 /* msg */
        start local 7 // java.lang.String msg
         3: .line 82
            aload 7 /* msg */
            ifnull 6
         4: .line 83
            aload 1
            aload 7 /* msg */
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         5: .line 84
            goto 10
         6: .line 85
      StackMap locals: io.vertx.sqlclient.impl.PreparedStatement java.lang.String
      StackMap stack:
            new io.vertx.sqlclient.impl.SqlResultBuilder
            dup
            aload 2
            aload 1
            invokespecial io.vertx.sqlclient.impl.SqlResultBuilder.<init>:(Ljava/util/function/Function;Lio/vertx/core/Handler;)V
            astore 8 /* b */
        start local 8 // io.vertx.sqlclient.impl.SqlResultBuilder b
         7: .line 86
            aload 5 /* cr */
            getfield io.vertx.sqlclient.impl.command.CommandResponse.scheduler:Lio/vertx/sqlclient/impl/command/CommandScheduler;
            new io.vertx.sqlclient.impl.command.ExtendedQueryCommand
            dup
            aload 6 /* ps */
            aload 0
            iload 3
            aload 4
            aload 8 /* b */
            invokespecial io.vertx.sqlclient.impl.command.ExtendedQueryCommand.<init>:(Lio/vertx/sqlclient/impl/PreparedStatement;Lio/vertx/sqlclient/Tuple;ZLjava/util/stream/Collector;Lio/vertx/sqlclient/impl/QueryResultHandler;)V
            aload 8 /* b */
            invokeinterface io.vertx.sqlclient.impl.command.CommandScheduler.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;Lio/vertx/core/Handler;)V
        end local 8 // io.vertx.sqlclient.impl.SqlResultBuilder b
        end local 7 // java.lang.String msg
        end local 6 // io.vertx.sqlclient.impl.PreparedStatement ps
         8: .line 88
            goto 10
         9: .line 89
      StackMap locals:
      StackMap stack:
            aload 1
            aload 5 /* cr */
            invokevirtual io.vertx.sqlclient.impl.command.CommandResponse.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        10: .line 91
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.vertx.sqlclient.impl.command.CommandResponse cr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     5    cr  Lio/vertx/sqlclient/impl/command/CommandResponse<Lio/vertx/sqlclient/impl/PreparedStatement;>;
            2    8     6    ps  Lio/vertx/sqlclient/impl/PreparedStatement;
            3    8     7   msg  Ljava/lang/String;
            7    8     8     b  Lio/vertx/sqlclient/impl/SqlResultBuilder<TR1;TR2;TR3;>;

  private static void lambda$4(java.util.List, io.vertx.core.Handler, java.util.function.Function, boolean, java.util.stream.Collector, io.vertx.sqlclient.impl.command.CommandResponse);
    descriptor: (Ljava/util/List;Lio/vertx/core/Handler;Ljava/util/function/Function;ZLjava/util/stream/Collector;Lio/vertx/sqlclient/impl/command/CommandResponse;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=8, locals=10, args_size=6
        start local 5 // io.vertx.sqlclient.impl.command.CommandResponse cr
         0: .line 123
            aload 5 /* cr */
            invokevirtual io.vertx.sqlclient.impl.command.CommandResponse.succeeded:()Z
            ifeq 18
         1: .line 124
            aload 5 /* cr */
            invokevirtual io.vertx.sqlclient.impl.command.CommandResponse.result:()Ljava/lang/Object;
            checkcast io.vertx.sqlclient.impl.PreparedStatement
            astore 6 /* ps */
        start local 6 // io.vertx.sqlclient.impl.PreparedStatement ps
         2: .line 125
            aload 0
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 8
      StackMap locals: java.util.List io.vertx.core.Handler java.util.function.Function int java.util.stream.Collector io.vertx.sqlclient.impl.command.CommandResponse io.vertx.sqlclient.impl.PreparedStatement top java.util.Iterator
      StackMap stack:
         3: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.sqlclient.Tuple
            astore 7 /* args */
        start local 7 // io.vertx.sqlclient.Tuple args
         4: .line 126
            aload 6 /* ps */
            aload 7 /* args */
            checkcast java.util.List
            invokeinterface io.vertx.sqlclient.impl.PreparedStatement.prepare:(Ljava/util/List;)Ljava/lang/String;
            astore 9 /* msg */
        start local 9 // java.lang.String msg
         5: .line 127
            aload 9 /* msg */
            ifnull 8
         6: .line 128
            aload 1
            aload 9 /* msg */
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         7: .line 129
            return
        end local 9 // java.lang.String msg
        end local 7 // io.vertx.sqlclient.Tuple args
         8: .line 125
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 132
            new io.vertx.sqlclient.impl.SqlResultBuilder
            dup
            aload 2
            aload 1
            invokespecial io.vertx.sqlclient.impl.SqlResultBuilder.<init>:(Ljava/util/function/Function;Lio/vertx/core/Handler;)V
            astore 7 /* b */
        start local 7 // io.vertx.sqlclient.impl.SqlResultBuilder b
        10: .line 133
            aload 5 /* cr */
            getfield io.vertx.sqlclient.impl.command.CommandResponse.scheduler:Lio/vertx/sqlclient/impl/command/CommandScheduler;
            new io.vertx.sqlclient.impl.command.ExtendedBatchQueryCommand
            dup
        11: .line 134
            aload 6 /* ps */
        12: .line 135
            aload 0
        13: .line 136
            iload 3
        14: .line 137
            aload 4
        15: .line 138
            aload 7 /* b */
            invokespecial io.vertx.sqlclient.impl.command.ExtendedBatchQueryCommand.<init>:(Lio/vertx/sqlclient/impl/PreparedStatement;Ljava/util/List;ZLjava/util/stream/Collector;Lio/vertx/sqlclient/impl/QueryResultHandler;)V
            aload 7 /* b */
        16: .line 133
            invokeinterface io.vertx.sqlclient.impl.command.CommandScheduler.schedule:(Lio/vertx/sqlclient/impl/command/CommandBase;Lio/vertx/core/Handler;)V
        end local 7 // io.vertx.sqlclient.impl.SqlResultBuilder b
        end local 6 // io.vertx.sqlclient.impl.PreparedStatement ps
        17: .line 139
            goto 19
        18: .line 140
      StackMap locals: java.util.List io.vertx.core.Handler java.util.function.Function int java.util.stream.Collector io.vertx.sqlclient.impl.command.CommandResponse
      StackMap stack:
            aload 1
            aload 5 /* cr */
            invokevirtual io.vertx.sqlclient.impl.command.CommandResponse.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        19: .line 142
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.vertx.sqlclient.impl.command.CommandResponse cr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     5    cr  Lio/vertx/sqlclient/impl/command/CommandResponse<Lio/vertx/sqlclient/impl/PreparedStatement;>;
            2   17     6    ps  Lio/vertx/sqlclient/impl/PreparedStatement;
            4    8     7  args  Lio/vertx/sqlclient/Tuple;
            5    8     9   msg  Ljava/lang/String;
           10   17     7     b  Lio/vertx/sqlclient/impl/SqlResultBuilder<TR1;TR2;TR3;>;
}
Signature: <C::Lio/vertx/sqlclient/SqlClient;>Ljava/lang/Object;Lio/vertx/sqlclient/SqlClient;Lio/vertx/sqlclient/impl/command/CommandScheduler;
SourceFile: "SqlClientBase.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles