diff --git a/shared/inc/sql.hpp b/shared/inc/sql.hpp index a2449f9..404b94d 100644 --- a/shared/inc/sql.hpp +++ b/shared/inc/sql.hpp @@ -47,10 +47,13 @@ namespace sql int exec(sqlite3 *db, const char *sql, int (*callback)(void *, int, char **, char **), void *first_arg, char **errmsg); int prepare_v2(sqlite3 *db, const char *zSql, int nByte, sqlite3_stmt **pStmt, const char **pzTail); int bind_int64(sqlite3_stmt *pStmt, int column, int64_t value); + int bind_blob(sqlite3_stmt*pStmt, int column, const void* data, int size); int step(sqlite3_stmt *pStmt); int column_count(sqlite3_stmt *pStmt); int column_type(sqlite3_stmt *pStmt, int column); int64_t column_int64(sqlite3_stmt *pStmt, int column); + const void* column_blob(sqlite3_stmt *pStmt, int column); + int64_t column_bytes(sqlite3_stmt* pStmt, int column); int finalize(sqlite3_stmt *pStmt); int reset(sqlite3_stmt *pStmt); int close(sqlite3 *db); diff --git a/shared/inc/values/DnaDB.hpp b/shared/inc/values/DnaDB.hpp index f05f6a3..6206489 100644 --- a/shared/inc/values/DnaDB.hpp +++ b/shared/inc/values/DnaDB.hpp @@ -10,6 +10,7 @@ class DnaDB public: void init(const char *db_name = "data.db"); void deinit(); + std::vector getUserIds(); int insertUser(int64_t id, int64_t max_gen); int updateUser(int64_t id, int64_t max_gen); diff --git a/shared/src/sql.cpp b/shared/src/sql.cpp index efed439..97eb677 100644 --- a/shared/src/sql.cpp +++ b/shared/src/sql.cpp @@ -90,6 +90,10 @@ namespace sql { return sqlite3_bind_int64(pStmt, column, value); } + int bind_blob(sqlite3_stmt *pStmt, int column, const void *data, int size) + { + return sqlite3_bind_blob(pStmt, column, data, size, SQLITE_STATIC); + } int step(sqlite3_stmt *pStmt) { return sqlite3_step(pStmt); @@ -106,6 +110,14 @@ namespace sql { return sqlite3_column_int64(pStmt, column); } + const void *column_blob(sqlite3_stmt *pStmt, int column) + { + return sqlite3_column_blob(pStmt, column); + } + int64_t column_bytes(sqlite3_stmt *pStmt, int column) + { + return sqlite3_column_bytes(pStmt, column); + } int finalize(sqlite3_stmt *pStmt) { return sqlite3_finalize(pStmt);