From 50457f28fa7567b81ccf6a423e09312d5587cfbc Mon Sep 17 00:00:00 2001
From: znone <glyc@sina.com.cn>
Date: Fri, 04 Dec 2020 14:40:30 +0000
Subject: [PATCH] ODBC database can be accessed asynchronously.
---
include/qtl_async.hpp | 34 +++++++++++++++++-----------------
1 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/include/qtl_async.hpp b/include/qtl_async.hpp
index 7505425..ec877ea 100644
--- a/include/qtl_async.hpp
+++ b/include/qtl_async.hpp
@@ -157,7 +157,7 @@
Note: parameter affected must has default value.
*/
template<typename Params, typename ResultHandler>
- void execute(ResultHandler&& handler, const char* query_text, size_t text_length, const Params& params)
+ void execute(ResultHandler handler, const char* query_text, size_t text_length, const Params& params)
{
T* pThis = static_cast<T*>(this);
pThis->open_command(query_text, text_length, [handler, params](const typename T::exception_type& e, std::shared_ptr<Command>& command) mutable {
@@ -186,30 +186,30 @@
});
}
template<typename Params, typename ResultHandler>
- void execute(ResultHandler&& handler, const char* query_text, const Params& params, uint64_t* affected = NULL)
+ void execute(ResultHandler handler, const char* query_text, const Params& params)
{
- return execute(handler, query_text, strlen(query_text), params, affected);
+ return execute(std::forward<ResultHandler>(handler), query_text, strlen(query_text), params);
}
template<typename Params, typename ResultHandler>
- void execute(ResultHandler&& handler, const std::string& query_text, const Params& params, uint64_t* affected = NULL)
+ void execute(ResultHandler handler, const std::string& query_text, const Params& params)
{
- return execute(handler, query_text.data(), query_text.length(), params, affected);
+ return execute(std::forward<ResultHandler>(handler), query_text.data(), query_text.length(), params);
}
template<typename... Params, typename ResultHandler>
- void execute_direct(ResultHandler&& handler, const char* query_text, size_t text_length, uint64_t* affected, const Params&... params)
+ void execute_direct(ResultHandler handler, const char* query_text, size_t text_length, const Params&... params)
{
- execute(handler, query_text, text_length, std::forward_as_tuple(params...), affected);
+ execute(std::forward<ResultHandler>(handler), query_text, text_length, std::forward_as_tuple(params...));
}
template<typename... Params, typename ResultHandler>
- void execute_direct(ResultHandler&& handler, const char* query_text, uint64_t* affected, const Params&... params)
+ void execute_direct(ResultHandler handler, const char* query_text, const Params&... params)
{
- execute(handler, query_text, std::forward_as_tuple(params...), affected);
+ execute(std::forward<ResultHandler>(handler), query_text, std::forward_as_tuple(params...));
}
template<typename... Params, typename ResultHandler>
- void execute_direct(ResultHandler&& handler, const std::string& query_text, uint64_t* affected, const Params&... params)
+ void execute_direct(ResultHandler handler, const std::string& query_text, const Params&... params)
{
- execute(handler, query_text, query_text, std::forward_as_tuple(params...), affected);
+ execute(std::forward<ResultHandler>(handler), query_text, query_text, std::forward_as_tuple(params...));
}
/*
@@ -221,7 +221,7 @@
Note: parameter insert_id must has default value.
*/
template<typename Params, typename ResultHandler>
- void insert(ResultHandler&& handler, const char* query_text, size_t text_length, const Params& params)
+ void insert(ResultHandler handler, const char* query_text, size_t text_length, const Params& params)
{
T* pThis = static_cast<T*>(this);
pThis->open_command(query_text, text_length, [handler, params](const typename T::exception_type& e, std::shared_ptr<Command>& command) {
@@ -255,31 +255,31 @@
template<typename Params, typename ResultHandler>
void insert(ResultHandler&& handler, const char* query_text, const Params& params)
{
- insert(handler, query_text, strlen(query_text), params);
+ insert(std::forward<ResultHandler>(handler), query_text, strlen(query_text), params);
}
template<typename Params, typename ResultHandler>
void insert(ResultHandler&& handler, const std::string& query_text, const Params& params)
{
- insert(handler, query_text.data(), query_text.length(), params);
+ insert(std::forward<ResultHandler>(handler), query_text.data(), query_text.length(), params);
}
template<typename... Params, typename ResultHandler>
void insert_direct(ResultHandler&& handler, const char* query_text, size_t text_length, const Params&... params)
{
- insert(handler, query_text, text_length, std::forward_as_tuple(params...));
+ insert(std::forward<ResultHandler>(handler), query_text, text_length, std::forward_as_tuple(params...));
}
template<typename... Params, typename ResultHandler>
void insert_direct(ResultHandler&& handler, const char* query_text, const Params&... params)
{
- insert(handler, query_text, strlen(query_text), std::forward_as_tuple(params...));
+ insert(std::forward<ResultHandler>(handler), query_text, strlen(query_text), std::forward_as_tuple(params...));
}
template<typename... Params, typename ResultHandler>
void insert_direct(ResultHandler&& handler, const std::string& query_text, const Params&... params)
{
- insert(handler, query_text.data(), query_text.length(), std::forward_as_tuple(params...));
+ insert(std::forward<ResultHandler>(handler), query_text.data(), query_text.length(), std::forward_as_tuple(params...));
}
/*
--
Gitblit v1.9.3