aozhiwei 0e8bc69245 1
2020-09-21 09:58:10 +08:00

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_;
};