32 lines
1.1 KiB
C++
32 lines
1.1 KiB
C++
#pragma once
|
|
|
|
namespace f8
|
|
{
|
|
typedef std::vector<std::vector<std::string>> DataSet;
|
|
typedef void (*AsyncDBOnOkFunc)(a8::XParams& param, const DataSet* data_set);
|
|
typedef void (*AsyncDBOnErrorFunc)(a8::XParams& param, int error_code, const std::string& error_msg);
|
|
|
|
class DBPoolImpl;
|
|
class DBPool : public a8::Singleton<DBPool>
|
|
{
|
|
private:
|
|
DBPool() {};
|
|
friend class a8::Singleton<DBPool>;
|
|
|
|
public:
|
|
void Init();
|
|
void UnInit();
|
|
void SetThreadNum(int thread_num);
|
|
|
|
//执行异步并行查询
|
|
void ExecAsyncQuery(a8::XObject conn_info, const char* querystr, std::vector<a8::XValue> args,
|
|
a8::XParams param, AsyncDBOnOkFunc on_ok, AsyncDBOnErrorFunc on_error, long long hash_code);
|
|
//执行异步并行sql
|
|
void ExecAsyncScript(a8::XObject conn_info, const char* querystr, std::vector<a8::XValue> args,
|
|
a8::XParams param, AsyncDBOnOkFunc on_ok, AsyncDBOnErrorFunc on_error, long long hash_code);
|
|
|
|
private:
|
|
DBPoolImpl* impl_ = nullptr;
|
|
};
|
|
}
|