2525
2626#include < library/cpp/cache/cache.h>
2727
28+ #include < util/generic/overloaded.h>
2829#include < util/generic/map.h>
2930#include < util/random/random.h>
3031#include < util/string/join.h>
@@ -2950,9 +2951,6 @@ TTtlTierSettings::TTtlTierSettings(const Ydb::Table::TtlTier& tier)
29502951 case Ydb::Table::TtlTier::kEvictToExternalStorage :
29512952 Action_ = TTtlEvictToExternalStorageAction (tier.evict_to_external_storage ().storage_name ());
29522953 break ;
2953- case Ydb::Table::TtlTier::kEvictToColumnFamily :
2954- Action_ = TTtlEvictToExternalStorageAction (tier.evict_to_column_family ().family_name ());
2955- break ;
29562954 case Ydb::Table::TtlTier::ACTION_NOT_SET:
29572955 break ;
29582956 }
@@ -2961,17 +2959,14 @@ TTtlTierSettings::TTtlTierSettings(const Ydb::Table::TtlTier& tier)
29612959void TTtlTierSettings::SerializeTo (Ydb::Table::TtlTier& proto) const {
29622960 proto.set_evict_after_seconds (EvictionDelay_.Seconds ());
29632961
2964- auto actionVisitor = [proto](auto && action) mutable {
2965- using T = std::decay_t <decltype (action)>;
2966- if constexpr (std::is_same_v<T, TTtlDeleteAction>) {
2967- proto.mutable_delete_ ();
2968- } else if constexpr (std::is_same_v<T, TTtlEvictToExternalStorageAction>) {
2969- proto.mutable_evict_to_external_storage ()->set_storage_name (action.StorageName );
2970- } else if constexpr (std::is_same_v<T, TTtlEvictToColumnFamilyAction>) {
2971- proto.mutable_evict_to_column_family ()->set_storage_name (action.FamilyName );
2972- }
2973- };
2974- std::visit (std::move (actionVisitor), Action_);
2962+ std::visit (TOverloaded{
2963+ [&proto](const TTtlDeleteAction&) { proto.mutable_delete_ (); },
2964+ [&proto](const TTtlEvictToExternalStorageAction& action) {
2965+ proto.mutable_evict_to_external_storage ()->set_storage_name (action.StorageName );
2966+ },
2967+ [](const std::monostate) {},
2968+ },
2969+ Action_);
29752970}
29762971
29772972TDuration TTtlTierSettings::GetEvictionDelay () const {
0 commit comments