sqlite: Use per-thread connections

这个提交包含在:
2023-07-29 10:00:22 +02:00
父节点 fe533a5076
当前提交 c0049fc7b6
修改 5 个文件,包含 45 行新增30 行删除

查看文件

@@ -8,14 +8,15 @@
class Sqlite : public Database
{
private:
bool inTransaction = false;
std::shared_ptr<sqlite::database> db;
static thread_local sqlite::database *db;
template <class T> std::unique_ptr<T> create() const
{
return std::make_unique<T>(db);
return std::make_unique<T>(database());
}
sqlite::database &database() const;
public:
Sqlite(std::string path);
std::unique_ptr<PageDao> createPageDao() const;
@@ -27,6 +28,7 @@ class Sqlite : public Database
void beginTransaction();
void commitTransaction();
void rollbackTransaction();
virtual ~Sqlite();
};
#endif // SQLITE_H