summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/database/row.hpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/database/row.hpp b/src/database/row.hpp
index 4dc98be..3703ff7 100644
--- a/src/database/row.hpp
+++ b/src/database/row.hpp
@@ -50,7 +50,8 @@ struct Row
}
private:
- void insert(DatabaseEngine& db)
+ template <bool Coucou=true>
+ void insert(DatabaseEngine& db, typename std::enable_if<is_one_of<Id, T...> && Coucou>::type* = nullptr)
{
InsertQuery query(this->table_name, this->columns);
// Ugly workaround for non portable stuff
@@ -58,6 +59,13 @@ struct Row
query.execute(db, this->columns);
}
+ template <bool Coucou=true>
+ void insert(DatabaseEngine& db, typename std::enable_if<!is_one_of<Id, T...> && Coucou>::type* = nullptr)
+ {
+ InsertQuery query(this->table_name, this->columns);
+ query.execute(db, this->columns);
+ }
+
void update(DatabaseEngine& db)
{
UpdateQuery query(this->table_name, this->columns);