48 lines
1.3 KiB
C++
48 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "framework/cpp/dbpool.h"
|
|
|
|
class DBEngine : public a8::Singleton<DBEngine>
|
|
{
|
|
private:
|
|
DBEngine() {};
|
|
friend class a8::Singleton<DBEngine>;
|
|
|
|
public:
|
|
void Init();
|
|
void UnInit();
|
|
|
|
//执行异步并行查询
|
|
void ExecAsyncQuery(a8::XObject conn_info,
|
|
const char* querystr,
|
|
std::vector<a8::XValue> args,
|
|
a8::XParams param,
|
|
f8::AsyncDBOnOkFunc on_ok,
|
|
f8::AsyncDBOnErrorFunc on_error,
|
|
long long hash_code = 0);
|
|
//执行异步并行sql
|
|
void ExecAsyncScript(a8::XObject conn_info,
|
|
const char* querystr,
|
|
std::vector<a8::XValue> args,
|
|
a8::XParams param,
|
|
f8::AsyncDBOnOkFunc on_ok,
|
|
f8::AsyncDBOnErrorFunc on_error,
|
|
long long hash_code = 0);
|
|
|
|
a8::XObject GetConnInfo(const std::string& data);
|
|
a8::XObject GetConnInfo(long long data);
|
|
|
|
long long GetEventCurrIdx(long long crc32_code);
|
|
|
|
private:
|
|
void UpdateEventIdx(long long crc32_code, long long new_idx);
|
|
|
|
private:
|
|
int GetInstanceId(long long crc32_code);
|
|
void RefreshIdx();
|
|
|
|
private:
|
|
std::map<long long, long long> event_idx_hash_;
|
|
|
|
};
|