From 0d2430fc32d76974fc143e55c5f4e4efa3eea66c Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Sun, 15 Oct 2017 21:13:44 -0700 Subject: [PATCH] ircd::db: Add iov append for json::tuple. --- include/ircd/db/iov.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/include/ircd/db/iov.h b/include/ircd/db/iov.h index c32bfc494..cf0efb5e7 100644 --- a/include/ircd/db/iov.h +++ b/include/ircd/db/iov.h @@ -82,6 +82,7 @@ struct ircd::db::iov::append append(iov &, const row::delta &); append(iov &, const delta &); append(iov &, const string_view &key, const json::iov &); + template append(iov &, const string_view &key, const json::tuple &); }; struct ircd::db::iov::checkpoint @@ -97,3 +98,20 @@ struct ircd::db::iov::opts size_t reserve_bytes = 0; size_t max_bytes = 0; }; + +template +ircd::db::iov::append::append(iov &iov, + const string_view &key, + const json::tuple &tuple) +{ + for_each(tuple, [&iov, &key](const auto &col, auto&& val) + { + if(defined(val)) append + { + iov, delta + { + col, key, byte_view{val} + } + }; + }); +}