M src/database/column.hpp => src/database/column.hpp +1 -1
@@ 18,5 18,5 @@ struct Id: Column<std::size_t> {
static constexpr auto name = "id_";
static constexpr auto options = "PRIMARY KEY";
- Id(): Column<std::size_t>(-1) {}
+ Id(): Column<std::size_t>(unset_value) {}
};
M src/database/insert_query.hpp => src/database/insert_query.hpp +1 -1
@@ 22,7 22,7 @@ update_autoincrement_id(std::tuple<T...>& columns, Statement& statement)
template <std::size_t N=0, typename... T>
typename std::enable_if<N == sizeof...(T), void>::type
-update_autoincrement_id(std::tuple<T...>&, Statement& statement)
+update_autoincrement_id(std::tuple<T...>&, Statement&)
{}
struct InsertQuery: public Query
M src/database/query.cpp => src/database/query.cpp +9 -0
@@ 21,6 21,15 @@ void actual_bind(Statement& statement, const OptionalBool& value, int index)
statement.bind_int64(index, -1);
}
+void actual_bind(Statement& statement, const std::size_t value, int index)
+{
+ actual_bind(statement, static_cast<std::int64_t>(value), index);
+}
+
+void actual_bind(Statement& statement, const int value, int index)
+{
+ actual_bind(statement, static_cast<std::int64_t>(value), index);
+}
void actual_add_param(Query& query, const std::string& val)
{
M src/database/query.hpp => src/database/query.hpp +2 -0
@@ 13,6 13,8 @@
void actual_bind(Statement& statement, const std::string& value, int index);
void actual_bind(Statement& statement, const std::int64_t value, int index);
+void actual_bind(Statement& statement, const std::size_t value, int index);
+void actual_bind(Statement& statement, const int value, int index);
void actual_bind(Statement& statement, const OptionalBool& value, int index);
#ifdef DEBUG_SQL_QUERIES
M src/database/sqlite3_statement.hpp => src/database/sqlite3_statement.hpp +0 -1
@@ 88,5 88,4 @@ class Sqlite3Statement: public Statement
private:
sqlite3_stmt* stmt;
- int last_step_result{SQLITE_OK};
};