store id in DB
This commit is contained in:
69
shared/src/values/DnaDB.cpp
Normal file
69
shared/src/values/DnaDB.cpp
Normal file
@@ -0,0 +1,69 @@
|
||||
#include "values/DnaDB.hpp"
|
||||
|
||||
#include <sql.hpp>
|
||||
|
||||
|
||||
|
||||
void DnaDB::init(const char * db_name)
|
||||
{
|
||||
sql::init();
|
||||
int res = sql::open(db_name, &db);
|
||||
|
||||
constexpr char create_user_table[] = "CREATE TABLE IF NOT EXISTS user_table ( ID INTEGER PRIMARY KEY, USER_ID INTEGER, MAX_GENERATION INTEGER);";
|
||||
res = sql::exec(db, create_user_table, nullptr, nullptr, nullptr);
|
||||
}
|
||||
|
||||
void DnaDB::deinit()
|
||||
{
|
||||
sql::close(db);
|
||||
sql::shutdown();
|
||||
}
|
||||
|
||||
std::vector<int64_t> DnaDB::getUserIds()
|
||||
{
|
||||
constexpr char sql[] = "SELECT USER_ID FROM user_table;";
|
||||
sqlite3_stmt *stmt;
|
||||
sql::prepare_v2(db, sql, -1, &stmt, nullptr);
|
||||
std::vector<int64_t> ids;
|
||||
while (sql::step(stmt) != SQL_DONE)
|
||||
{
|
||||
int64_t id = sql::column_int64(stmt, 0);
|
||||
ids.push_back(id);
|
||||
}
|
||||
sql::finalize(stmt);
|
||||
return ids;
|
||||
}
|
||||
|
||||
int DnaDB::insertUser(int64_t id, int64_t max_gen){
|
||||
constexpr char sql[] = "INSERT INTO user_table (USER_ID, MAX_GENERATION) VALUES (?,?);";
|
||||
sqlite3_stmt *stmt;
|
||||
sql::prepare_v2(db, sql, -1, &stmt, nullptr);
|
||||
sql::bind_int64(stmt, 1, id);
|
||||
sql::bind_int64(stmt, 2, max_gen);
|
||||
int ret = sql::step(stmt);
|
||||
sql::finalize(stmt);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int DnaDB::updateUser(int64_t id, int64_t max_gen){
|
||||
constexpr char sql[] = "UPDATE user_table SET MAX_GENERATION = ? WHERE USER_ID = ?;";
|
||||
sqlite3_stmt *stmt;
|
||||
sql::prepare_v2(db, sql, -1, &stmt, nullptr);
|
||||
sql::bind_int64(stmt, 1, max_gen);
|
||||
sql::bind_int64(stmt, 2, id);
|
||||
int ret = sql::step(stmt);
|
||||
sql::finalize(stmt);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void DnaDB::getGenerations()
|
||||
{
|
||||
}
|
||||
|
||||
void DnaDB::getLikesForGeneration()
|
||||
{
|
||||
}
|
||||
|
||||
void DnaDB::getVectorForGeneration()
|
||||
{
|
||||
}
|
||||
Reference in New Issue
Block a user