userver: userver/storages/clickhouse/query.hpp Source File
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
query.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/storages/clickhouse/query.hpp
4/// @brief @copybrief storages::clickhouse::Query
5
6#include <string>
7
8#include <fmt/format.h>
9
10#include <userver/storages/query.hpp>
11#include <userver/utils/fmt_compat.hpp>
12
13#include <userver/storages/clickhouse/io/impl/escape.hpp>
14
15USERVER_NAMESPACE_BEGIN
16
17namespace storages::clickhouse {
18
19/// @copydoc storages::Query
20using storages::Query;
21
22namespace impl {
23
24template <typename... Args>
25Query WithArgs(const Query& query, const Args&... args) {
26 // we should throw on params count mismatch
27 // TODO : https://st.yandex-team.ru/TAXICOMMON-5066
28 return Query{
29 fmt::format(fmt::runtime(query.GetStatementView()), io::impl::Escape(args)...), query.GetOptionalName()};
30}
31
32} // namespace impl
33
34} // namespace storages::clickhouse
35
36USERVER_NAMESPACE_END