summaryrefslogtreecommitdiff
path: root/src/database/query.cpp
diff options
context:
space:
mode:
authorlouiz’ <louiz@louiz.org>2017-06-28 14:42:33 +0200
committerlouiz’ <louiz@louiz.org>2017-06-28 14:42:33 +0200
commitc5407cf8ce6add6f3534df41398235e93b605ab3 (patch)
treef62cccb758dde48270cc24257df36bd3f5f89cf8 /src/database/query.cpp
parent13a1ab1878fd6312aea485ded3f5bad59c36f17f (diff)
parentb71ca15a0f9114db38eec23b49d1489a2ff1d0ca (diff)
downloadbiboumi-c5407cf8ce6add6f3534df41398235e93b605ab3.tar.gz
biboumi-c5407cf8ce6add6f3534df41398235e93b605ab3.tar.bz2
biboumi-c5407cf8ce6add6f3534df41398235e93b605ab3.tar.xz
biboumi-c5407cf8ce6add6f3534df41398235e93b605ab3.zip
Merge branch 'master' into debian
Diffstat (limited to 'src/database/query.cpp')
-rw-r--r--src/database/query.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/database/query.cpp b/src/database/query.cpp
new file mode 100644
index 0000000..ba63a92
--- /dev/null
+++ b/src/database/query.cpp
@@ -0,0 +1,34 @@
+#include <database/query.hpp>
+#include <database/column.hpp>
+
+template <>
+void add_param<Id>(Query&, const Id&)
+{}
+
+void actual_add_param(Query& query, const std::string& val)
+{
+ query.params.push_back(val);
+}
+
+void actual_add_param(Query& query, const OptionalBool& val)
+{
+ if (!val.is_set)
+ query.params.push_back("0");
+ else if (val.value)
+ query.params.push_back("1");
+ else
+ query.params.push_back("-1");
+}
+
+Query& operator<<(Query& query, const char* str)
+{
+ query.body += str;
+ return query;
+}
+
+Query& operator<<(Query& query, const std::string& str)
+{
+ query.body += "?";
+ actual_add_param(query, str);
+ return query;
+}