47 lines
1.4 KiB
C++
47 lines
1.4 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 GetFriendApplyCurrIdx(long long crc32_code);
|
|
long long GetGroupApplyCurrIdx(long long crc32_code);
|
|
|
|
private:
|
|
void UpdateFriendApplyIdx(long long crc32_code, long long new_idx);
|
|
void UpdateGroupApplyIdx(long long crc32_code, long long new_idx);
|
|
|
|
private:
|
|
std::map<long long, long long> friend_apply_idx_hash_;
|
|
std::map<long long, long long> group_apply_idx_hash_;
|
|
|
|
};
|