7#include <boost/uuid/uuid.hpp>
9#include <userver/storages/clickhouse/io/columns/column_includes.hpp>
11USERVER_NAMESPACE_BEGIN
24class MismatchedEndiannessUuidColumn
final :
public ClickhouseColumn<MismatchedEndiannessUuidColumn> {
26 using cpp_type = boost::uuids::uuid;
27 using container_type = std::vector<cpp_type>;
29 MismatchedEndiannessUuidColumn(ColumnRef column);
31 static ColumnRef Serialize(
const container_type& from);
35class UuidRfc4122Column
final :
public ClickhouseColumn<UuidRfc4122Column> {
37 using cpp_type = boost::uuids::uuid;
38 using container_type = std::vector<cpp_type>;
40 UuidRfc4122Column(ColumnRef column);
42 static ColumnRef Serialize(
const container_type& from);
46class UuidColumn
final :
public ClickhouseColumn<UuidColumn> {
48 using cpp_type = boost::uuids::uuid;
49 using container_type = std::vector<cpp_type>;
57 static ColumnRef Serialize(
const T&) {
64 static void ReportMisuse() {
67 "UuidColumn is deprecated: for old code rename it to "
68 "MismatchedEndiannessUuidColumn, for new code we encourage "
69 "you to use UuidRfc4122Column instead. See the "
70 "MismatchedEndiannessUuidColumn docs for explanation."