From b6700ccc0bab8fcd50c2b827f86fb02e2ad3b61e Mon Sep 17 00:00:00 2001 From: jie Date: Tue, 10 Aug 2021 13:58:56 +0800 Subject: [PATCH] add array support for db query parameters --- bserv/database.hpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/bserv/database.hpp b/bserv/database.hpp index ca5d812..ab86283 100644 --- a/bserv/database.hpp +++ b/bserv/database.hpp @@ -188,6 +188,23 @@ public: } }; +template +class db_value> : public db_parameter { +private: + std::vector value_; +public: + db_value(const std::vector& value) + : value_{value} {} + std::string get_value(raw_db_transaction_type& tx) { + std::string res; + for (const auto& elem : value_) { + if (res.size() != 0) res += ", "; + res += db_value{elem}.get_value(tx); + } + return "ARRAY[" + res + "]"; + } +}; + namespace db_internal { template