From f573ffcf652fd9903726f24a88aa41f35635740b Mon Sep 17 00:00:00 2001 From: malloc Date: Tue, 1 May 2018 17:06:50 -0500 Subject: [PATCH] good day today park --- server/src/db/database.cpp | 29 ++++++++++++++++++++++++----- server/src/db/database.hpp | 7 +++++-- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/server/src/db/database.cpp b/server/src/db/database.cpp index bdd31e4..5186eb3 100644 --- a/server/src/db/database.cpp +++ b/server/src/db/database.cpp @@ -36,13 +36,32 @@ sosc::db::Query::Query() : results(this) { this->open = false; } -sosc::db::Query::Query(const std::string& query) : results(this) { +sosc::db::Query::Query(const std::string& query, int db) : results(this) { this->open = false; - this->SetQuery(query); + this->SetQuery(query, db); } -void sosc::db::Query::SetQuery(const std::string &query) { - this->Close(); +void sosc::db::Query::SetQuery(const std::string &query, int db) { + if(!_ctx.ready) + return; + if(!this->open) + this->Close(); - this->open = true; + int status = sqlite3_prepare_v2( + db == DB_USE_MEMORY ? _ctx.mem_db : _ctx.hard_db, + query.c_str(), + query.length() + 1, + &this->statement, + nullptr + ); + + if(status == SQLITE_OK) + this->open = true; } + +void sosc::db::Query::NonQuery() { + if(!_ctx.ready || !this->open) + return; + + +} \ No newline at end of file diff --git a/server/src/db/database.hpp b/server/src/db/database.hpp index 90c8c11..bd20af6 100644 --- a/server/src/db/database.hpp +++ b/server/src/db/database.hpp @@ -9,6 +9,9 @@ #define DB_COL_TEXT 1 #define DB_COL_BLOB 2 +#define DB_USE_HARD 1 +#define DB_USE_MEMORY 2 + namespace sosc { namespace db { class Query; @@ -40,8 +43,8 @@ std::string ResultSet::Get(int column, int type = DB_COL_TEXT);*/ class Query { public: Query(); - Query(const std::string& query); - void SetQuery(const std::string& query); + Query(const std::string& query, int db = DB_USE_HARD); + void SetQuery(const std::string& query, int db = DB_USE_HARD); void NonQuery();