Skip to content

Commit 0e3b7a2

Browse files
committed
fix table description
1 parent e6af722 commit 0e3b7a2

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

ydb/core/ydb_convert/table_description.cpp

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -509,11 +509,22 @@ Ydb::Type* AddColumn<NKikimrSchemeOp::TColumnDescription>(Ydb::Table::ColumnMeta
509509

510510
template <typename TYdbProto, typename TTtl>
511511
static 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

Comments
 (0)