@DocAnnotation$annotation$(
     description =
         " Executes the given prepared statement which may be an <code>INSERT</code>, <code>UPDATE</code>, or <code>DELETE</code>\n statement with the given parameters\n")
 @TypeInfo("io.vertx.ceylon.sql::SQLConnection")
 public SQLConnection updateWithParams(
     final @TypeInfo("ceylon.language::String") @Name("sql") @DocAnnotation$annotation$(
             description = "the SQL to execute. For example <code>INSERT INTO table ...</code>\n")
         ceylon.language.String sql,
     final @TypeInfo("ceylon.json::Array") @Name("params") @DocAnnotation$annotation$(
             description = "these are the parameters to fill the statement.\n") ceylon.json.Array
             params,
     final @TypeInfo(
             "ceylon.language::Anything(ceylon.language::Throwable|io.vertx.ceylon.sql::UpdateResult)")
         @Name("resultHandler") @DocAnnotation$annotation$(
             description = "the handler which is called once the operation completes.\n") Callable<
                 ?>
             resultHandler) {
   java.lang.String arg_0 = io.vertx.lang.ceylon.ToJava.String.safeConvert(sql);
   io.vertx.core.json.JsonArray arg_1 = io.vertx.lang.ceylon.ToJava.JsonArray.safeConvert(params);
   io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.sql.UpdateResult>> arg_2 =
       resultHandler == null
           ? null
           : new io.vertx.lang.ceylon.CallableAsyncResultHandler<io.vertx.ext.sql.UpdateResult>(
               resultHandler) {
             public Object toCeylon(io.vertx.ext.sql.UpdateResult event) {
               return io.vertx.ceylon.sql.updateResult_.get_().getToCeylon().safeConvert(event);
             }
           };
   SQLConnection ret =
       io.vertx.ceylon.sql.SQLConnection.TO_CEYLON
           .converter()
           .safeConvert(delegate.updateWithParams(arg_0, arg_1, arg_2));
   return this;
 }
 @DocAnnotation$annotation$(
     description =
         " Calls the given SQL <code>PROCEDURE</code> which returns the result from the procedure.\n\n The index of params and outputs are important for both arrays, for example when dealing with a prodecure that\n takes the first 2 arguments as input values and the 3 arg as an output then the arrays should be like:\n\n <pre>\n   params = [VALUE1, VALUE2, null]\n   outputs = [null, null, \"VARCHAR\"]\n </pre>\n")
 @TypeInfo("io.vertx.ceylon.sql::SQLConnection")
 public SQLConnection callWithParams(
     final @TypeInfo("ceylon.language::String") @Name("sql") @DocAnnotation$annotation$(
             description =
                 "the SQL to execute. For example <code>{call getEmpName (?, ?)}</code>.\n") ceylon
                 .language.String
             sql,
     final @TypeInfo("ceylon.json::Array") @Name("params") @DocAnnotation$annotation$(
             description = "these are the parameters to fill the statement.\n") ceylon.json.Array
             params,
     final @TypeInfo("ceylon.json::Array") @Name("outputs") @DocAnnotation$annotation$(
             description = "these are the outputs to fill the statement.\n") ceylon.json.Array
             outputs,
     final @TypeInfo(
             "ceylon.language::Anything(ceylon.language::Throwable|io.vertx.ceylon.sql::ResultSet)")
         @Name("resultHandler") @DocAnnotation$annotation$(
             description =
                 "the handler which is called once the operation completes. It will return a <code>ResultSet</code>.\n")
         Callable<?> resultHandler) {
   java.lang.String arg_0 = io.vertx.lang.ceylon.ToJava.String.safeConvert(sql);
   io.vertx.core.json.JsonArray arg_1 = io.vertx.lang.ceylon.ToJava.JsonArray.safeConvert(params);
   io.vertx.core.json.JsonArray arg_2 = io.vertx.lang.ceylon.ToJava.JsonArray.safeConvert(outputs);
   io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.sql.ResultSet>> arg_3 =
       resultHandler == null
           ? null
           : new io.vertx.lang.ceylon.CallableAsyncResultHandler<io.vertx.ext.sql.ResultSet>(
               resultHandler) {
             public Object toCeylon(io.vertx.ext.sql.ResultSet event) {
               return io.vertx.ceylon.sql.resultSet_.get_().getToCeylon().safeConvert(event);
             }
           };
   SQLConnection ret =
       io.vertx.ceylon.sql.SQLConnection.TO_CEYLON
           .converter()
           .safeConvert(delegate.callWithParams(arg_0, arg_1, arg_2, arg_3));
   return this;
 }
 @DocAnnotation$annotation$(
     description =
         " Executes the given SQL <code>SELECT</code> statement which returns the results of the query as a read stream.\n")
 @TypeInfo("io.vertx.ceylon.sql::SQLConnection")
 public SQLConnection queryStreamWithParams(
     final @TypeInfo("ceylon.language::String") @Name("sql") @DocAnnotation$annotation$(
             description =
                 "the SQL to execute. For example <code>SELECT * FROM table ...</code>.\n") ceylon
                 .language.String
             sql,
     final @TypeInfo("ceylon.json::Array") @Name("params") @DocAnnotation$annotation$(
             description = "these are the parameters to fill the statement.\n") ceylon.json.Array
             params,
     final @TypeInfo(
             "ceylon.language::Anything(ceylon.language::Throwable|io.vertx.ceylon.sql::SQLRowStream)")
         @Name("handler") @DocAnnotation$annotation$(
             description =
                 "the handler which is called once the operation completes. It will return a <code>SQLRowStream</code>.\n")
         Callable<?> handler) {
   java.lang.String arg_0 = io.vertx.lang.ceylon.ToJava.String.safeConvert(sql);
   io.vertx.core.json.JsonArray arg_1 = io.vertx.lang.ceylon.ToJava.JsonArray.safeConvert(params);
   io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.sql.SQLRowStream>> arg_2 =
       handler == null
           ? null
           : new io.vertx.lang.ceylon.CallableAsyncResultHandler<io.vertx.ext.sql.SQLRowStream>(
               handler) {
             public Object toCeylon(io.vertx.ext.sql.SQLRowStream event) {
               return io.vertx.ceylon.sql.SQLRowStream.TO_CEYLON.converter().safeConvert(event);
             }
           };
   SQLConnection ret =
       io.vertx.ceylon.sql.SQLConnection.TO_CEYLON
           .converter()
           .safeConvert(delegate.queryStreamWithParams(arg_0, arg_1, arg_2));
   return this;
 }