This commit is contained in:
2026-04-17 19:27:52 +02:00
parent 6794dada92
commit fe17cbda22
3 changed files with 16 additions and 0 deletions

View File

@@ -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 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 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_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 step(sqlite3_stmt *pStmt);
int column_count(sqlite3_stmt *pStmt); int column_count(sqlite3_stmt *pStmt);
int column_type(sqlite3_stmt *pStmt, int column); int column_type(sqlite3_stmt *pStmt, int column);
int64_t column_int64(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 finalize(sqlite3_stmt *pStmt);
int reset(sqlite3_stmt *pStmt); int reset(sqlite3_stmt *pStmt);
int close(sqlite3 *db); int close(sqlite3 *db);

View File

@@ -10,6 +10,7 @@ class DnaDB
public: public:
void init(const char *db_name = "data.db"); void init(const char *db_name = "data.db");
void deinit(); void deinit();
std::vector<int64_t> getUserIds(); std::vector<int64_t> getUserIds();
int insertUser(int64_t id, int64_t max_gen); int insertUser(int64_t id, int64_t max_gen);
int updateUser(int64_t id, int64_t max_gen); int updateUser(int64_t id, int64_t max_gen);

View File

@@ -90,6 +90,10 @@ namespace sql
{ {
return sqlite3_bind_int64(pStmt, column, value); 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) int step(sqlite3_stmt *pStmt)
{ {
return sqlite3_step(pStmt); return sqlite3_step(pStmt);
@@ -106,6 +110,14 @@ namespace sql
{ {
return sqlite3_column_int64(pStmt, column); 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) int finalize(sqlite3_stmt *pStmt)
{ {
return sqlite3_finalize(pStmt); return sqlite3_finalize(pStmt);