@@ -442,6 +442,55 @@ const (
442442 TimeToLiveModeValueSinceUnixEpoch
443443)
444444
445+ func NewTTLSettings () TimeToLiveSettings {
446+ return TimeToLiveSettings {
447+ Mode : TimeToLiveModeDateType ,
448+ }
449+ }
450+
451+ func (ttl TimeToLiveSettings ) ColumnDateType (columnName string ) TimeToLiveSettings {
452+ ttl .Mode = TimeToLiveModeDateType
453+ ttl .ColumnName = columnName
454+ return ttl
455+ }
456+
457+ func unitToPointer (unit TimeToLiveUnit ) * TimeToLiveUnit {
458+ return & unit
459+ }
460+
461+ func (ttl TimeToLiveSettings ) ColumnSeconds (columnName string ) TimeToLiveSettings {
462+ ttl .Mode = TimeToLiveModeValueSinceUnixEpoch
463+ ttl .ColumnName = columnName
464+ ttl .ColumnUnit = unitToPointer (TimeToLiveUnitSeconds )
465+ return ttl
466+ }
467+
468+ func (ttl TimeToLiveSettings ) ColumnMilliseconds (columnName string ) TimeToLiveSettings {
469+ ttl .Mode = TimeToLiveModeValueSinceUnixEpoch
470+ ttl .ColumnName = columnName
471+ ttl .ColumnUnit = unitToPointer (TimeToLiveUnitMilliseconds )
472+ return ttl
473+ }
474+
475+ func (ttl TimeToLiveSettings ) ColumnMicroseconds (columnName string ) TimeToLiveSettings {
476+ ttl .Mode = TimeToLiveModeValueSinceUnixEpoch
477+ ttl .ColumnName = columnName
478+ ttl .ColumnUnit = unitToPointer (TimeToLiveUnitMicroseconds )
479+ return ttl
480+ }
481+
482+ func (ttl TimeToLiveSettings ) ColumnNanoseconds (columnName string ) TimeToLiveSettings {
483+ ttl .Mode = TimeToLiveModeValueSinceUnixEpoch
484+ ttl .ColumnName = columnName
485+ ttl .ColumnUnit = unitToPointer (TimeToLiveUnitNanoseconds )
486+ return ttl
487+ }
488+
489+ func (ttl TimeToLiveSettings ) ExpireAfter (expireAfter time.Duration ) TimeToLiveSettings {
490+ ttl .ExpireAfterSeconds = uint32 (expireAfter .Seconds ())
491+ return ttl
492+ }
493+
445494func (ttl * TimeToLiveSettings ) ToYDB () * Ydb_Table.TtlSettings {
446495 if ttl == nil {
447496 return nil
@@ -469,29 +518,6 @@ func (ttl *TimeToLiveSettings) ToYDB() *Ydb_Table.TtlSettings {
469518 }
470519}
471520
472- func NewTimeToLiveSettings (settings * Ydb_Table.TtlSettings ) * TimeToLiveSettings {
473- if settings == nil {
474- return nil
475- }
476- switch mode := settings .Mode .(type ) {
477- case * Ydb_Table.TtlSettings_DateTypeColumn :
478- return & TimeToLiveSettings {
479- ColumnName : mode .DateTypeColumn .ColumnName ,
480- ExpireAfterSeconds : mode .DateTypeColumn .ExpireAfterSeconds ,
481- Mode : TimeToLiveModeDateType ,
482- }
483-
484- case * Ydb_Table.TtlSettings_ValueSinceUnixEpoch :
485- return & TimeToLiveSettings {
486- ColumnName : mode .ValueSinceUnixEpoch .ColumnName ,
487- ColumnUnit : timeToLiveUnit (mode .ValueSinceUnixEpoch .ColumnUnit ),
488- ExpireAfterSeconds : mode .ValueSinceUnixEpoch .ExpireAfterSeconds ,
489- Mode : TimeToLiveModeValueSinceUnixEpoch ,
490- }
491- }
492- return nil
493- }
494-
495521type TimeToLiveUnit int32
496522
497523const (
@@ -522,25 +548,6 @@ func (unit *TimeToLiveUnit) ToYDB() Ydb_Table.ValueSinceUnixEpochModeSettings_Un
522548 }
523549}
524550
525- func timeToLiveUnit (unit Ydb_Table.ValueSinceUnixEpochModeSettings_Unit ) * TimeToLiveUnit {
526- var res TimeToLiveUnit
527- switch unit {
528- case Ydb_Table .ValueSinceUnixEpochModeSettings_UNIT_SECONDS :
529- res = TimeToLiveUnitSeconds
530- case Ydb_Table .ValueSinceUnixEpochModeSettings_UNIT_MILLISECONDS :
531- res = TimeToLiveUnitMilliseconds
532- case Ydb_Table .ValueSinceUnixEpochModeSettings_UNIT_MICROSECONDS :
533- res = TimeToLiveUnitMicroseconds
534- case Ydb_Table .ValueSinceUnixEpochModeSettings_UNIT_NANOSECONDS :
535- res = TimeToLiveUnitNanoseconds
536- case Ydb_Table .ValueSinceUnixEpochModeSettings_UNIT_UNSPECIFIED :
537- res = TimeToLiveUnitUnspecified
538- default :
539- panic ("ydb: unknown Ydb unit for value since epoch" )
540- }
541- return & res
542- }
543-
544551type ChangefeedDescription struct {
545552 Name string
546553 Mode ChangefeedMode
0 commit comments