znone
2017-02-15 642ebfd449e85ef51dfe80b82c869d2b69566944
增加数据库连接池。
2 files modified
27 ■■■■■ changed files
include/qtl_common.hpp 20 ●●●●● patch | view | raw | blame | history
include/qtl_sqlite.hpp 7 ●●●●● patch | view | raw | blame | history
include/qtl_common.hpp
@@ -619,11 +619,29 @@
    }
    template<typename Params>
    uint64_t insert(const std::string& query_text, const Params& params)
    uint64_t insert_direct(const std::string& query_text, const Params& params)
    {
        return insert(query_text.data(), query_text.length(), params);
    }
    template<typename... Params>
    uint64_t insert_direct(const char* query_text, size_t text_length, const Params&... params)
    {
        return insert(query_text, text_length, std::make_tuple(params...));
    }
    template<typename... Params>
    uint64_t insert_direct(const char* query_text, const Params&... params)
    {
        return insert(query_text, strlen(query_text), std::make_tuple(params...));
    }
    template<typename... Params>
    uint64_t insert_direct(const std::string& query_text, const Params&... params)
    {
        return insert(query_text.data(), query_text.length(), std::make_tuple(params...));
    }
    template<typename Record, typename Params>
    query_result<Command, Record> result(const char* query_text, size_t text_length, const Params& params)
    {
include/qtl_sqlite.hpp
@@ -3,6 +3,7 @@
#include "sqlite3.h"
#include <algorithm>
#include <array>
#include "qtl_common.hpp"
namespace qtl
@@ -380,6 +381,12 @@
        if(result!=SQLITE_OK)
            throw sqlite::error(result);
    }
    void open(const wchar_t *filename)
    {
        int result=sqlite3_open16(filename, &m_db);
        if(result!=SQLITE_OK)
            throw sqlite::error(result);
    }
    void close()
    {
        if(m_db)