@@ -509,11 +509,22 @@ Ydb::Type* AddColumn<NKikimrSchemeOp::TColumnDescription>(Ydb::Table::ColumnMeta
509509
510510template <typename TYdbProto, typename TTtl>
511511static void AddTtl (TYdbProto& out, const TTtl& inTTL) {
512+ static const auto & fillCommonFields = []<class TModeSettings >(TModeSettings& out, const TTtl& in) {
513+ out.set_column_name (in.GetColumnName ());
514+ if (in.HasExpireAfterSeconds ()) {
515+ out.set_expire_after_seconds (in.GetExpireAfterSeconds ());
516+ }
517+ for (const auto & in_tier : in.GetTiers ()) {
518+ auto * out_tier = out.add_storage_tiers ();
519+ out_tier->set_evict_after_seconds (in_tier.GetEvictAfterSeconds ());
520+ out_tier->set_storage_name (in_tier.GetStorageName ());
521+ }
522+ };
523+
512524 switch (inTTL.GetColumnUnit ()) {
513525 case NKikimrSchemeOp::TTTLSettings::UNIT_AUTO: {
514526 auto & outTTL = *out.mutable_ttl_settings ()->mutable_date_type_column ();
515- outTTL.set_column_name (inTTL.GetColumnName ());
516- outTTL.set_expire_after_seconds (inTTL.GetExpireAfterSeconds ());
527+ fillCommonFields (outTTL, inTTL);
517528 break ;
518529 }
519530
@@ -522,9 +533,8 @@ static void AddTtl(TYdbProto& out, const TTtl& inTTL) {
522533 case NKikimrSchemeOp::TTTLSettings::UNIT_MICROSECONDS:
523534 case NKikimrSchemeOp::TTTLSettings::UNIT_NANOSECONDS: {
524535 auto & outTTL = *out.mutable_ttl_settings ()->mutable_value_since_unix_epoch ();
525- outTTL. set_column_name ( inTTL. GetColumnName () );
536+ fillCommonFields (outTTL, inTTL);
526537 outTTL.set_column_unit (static_cast <Ydb::Table::ValueSinceUnixEpochModeSettings::Unit>(inTTL.GetColumnUnit ()));
527- outTTL.set_expire_after_seconds (inTTL.GetExpireAfterSeconds ());
528538 break ;
529539 }
530540
0 commit comments