summaryrefslogtreecommitdiff
path: root/src/database/insert_query.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/database/insert_query.hpp')
-rw-r--r--src/database/insert_query.hpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/database/insert_query.hpp b/src/database/insert_query.hpp
index 04c098c..e3a7e83 100644
--- a/src/database/insert_query.hpp
+++ b/src/database/insert_query.hpp
@@ -25,6 +25,18 @@ typename std::enable_if<N == sizeof...(T), void>::type
update_autoincrement_id(std::tuple<T...>&, Statement&)
{}
+template <typename T>
+std::string before_value()
+{
+ return {};
+}
+
+template <typename T>
+std::string after_value()
+{
+ return {};
+}
+
struct InsertQuery: public Query
{
template <typename... T>
@@ -73,7 +85,7 @@ struct InsertQuery: public Query
template <typename... T>
void insert_values(const std::tuple<T...>& columns)
{
- this->body += "VALUES (";
+ this->body += " VALUES (";
this->insert_value(columns);
this->body += ")";
}
@@ -86,7 +98,9 @@ struct InsertQuery: public Query
if (!std::is_same<ColumnType, Id>::value)
{
+ this->body += before_value<ColumnType>();
this->body += "$" + std::to_string(index++);
+ this->body += after_value<ColumnType>();
if (N != sizeof...(T) - 1)
this->body += ", ";
}