@@ -70,7 +70,10 @@ Y_FORCE_INLINE void HandleKindDataExport(const TType* type, const NUdf::TUnboxed
70
70
}
71
71
case NUdf::TDataType<NUdf::TTzDate>::Id:
72
72
case NUdf::TDataType<NUdf::TTzDatetime>::Id:
73
- case NUdf::TDataType<NUdf::TTzTimestamp>::Id: {
73
+ case NUdf::TDataType<NUdf::TTzTimestamp>::Id:
74
+ case NUdf::TDataType<NUdf::TTzDate32>::Id:
75
+ case NUdf::TDataType<NUdf::TTzDatetime64>::Id:
76
+ case NUdf::TDataType<NUdf::TTzTimestamp64>::Id: {
74
77
const NUdf::TUnboxedValue out (ValueToString (NUdf::GetDataSlot (dataType->GetSchemeType ()), value));
75
78
const auto & stringRef = out.AsStringRef ();
76
79
res.set_text_value (stringRef.Data (), stringRef.Size ());
@@ -435,7 +438,10 @@ Y_FORCE_INLINE void HandleKindDataExport(const TType* type, const NUdf::TUnboxed
435
438
}
436
439
case NUdf::TDataType<NUdf::TTzDate>::Id:
437
440
case NUdf::TDataType<NUdf::TTzDatetime>::Id:
438
- case NUdf::TDataType<NUdf::TTzTimestamp>::Id: {
441
+ case NUdf::TDataType<NUdf::TTzTimestamp>::Id:
442
+ case NUdf::TDataType<NUdf::TTzDate32>::Id:
443
+ case NUdf::TDataType<NUdf::TTzDatetime64>::Id:
444
+ case NUdf::TDataType<NUdf::TTzTimestamp64>::Id: {
439
445
const NUdf::TUnboxedValue out (ValueToString (NUdf::GetDataSlot (dataType->GetSchemeType ()), value));
440
446
const auto & stringRef = out.AsStringRef ();
441
447
res.SetText (stringRef.Data (), stringRef.Size ());
@@ -755,7 +761,10 @@ Y_FORCE_INLINE NUdf::TUnboxedValue HandleKindDataImport(const TType* type, const
755
761
return MakeString (value.GetText ());
756
762
case NUdf::TDataType<NUdf::TTzDate>::Id:
757
763
case NUdf::TDataType<NUdf::TTzDatetime>::Id:
758
- case NUdf::TDataType<NUdf::TTzTimestamp>::Id: {
764
+ case NUdf::TDataType<NUdf::TTzTimestamp>::Id:
765
+ case NUdf::TDataType<NUdf::TTzDate32>::Id:
766
+ case NUdf::TDataType<NUdf::TTzDatetime64>::Id:
767
+ case NUdf::TDataType<NUdf::TTzTimestamp64>::Id: {
759
768
MKQL_ENSURE_S (oneOfCase == NKikimrMiniKQL::TValue::ValueValueCase::kText );
760
769
return NUdf::TUnboxedValuePod (ValueFromString (NUdf::GetDataSlot (dataType->GetSchemeType ()), value.GetText ()));
761
770
}
@@ -829,6 +838,9 @@ void ExportPrimitiveTypeToProto(ui32 schemeType, Ydb::Type& output) {
829
838
case NYql::NProto::TypeIds::Datetime64:
830
839
case NYql::NProto::TypeIds::Timestamp64:
831
840
case NYql::NProto::TypeIds::Interval64:
841
+ case NYql::NProto::TypeIds::TzDate32:
842
+ case NYql::NProto::TypeIds::TzDatetime64:
843
+ case NYql::NProto::TypeIds::TzTimestamp64:
832
844
output.set_type_id (static_cast <Ydb::Type::PrimitiveTypeId>(schemeType));
833
845
break ;
834
846
@@ -1193,6 +1205,9 @@ TNode* TProtoImporter::ImportNodeFromProto(TType* type, const NKikimrMiniKQL::TV
1193
1205
case NUdf::TDataType<NUdf::TTzDate>::Id:
1194
1206
case NUdf::TDataType<NUdf::TTzDatetime>::Id:
1195
1207
case NUdf::TDataType<NUdf::TTzTimestamp>::Id:
1208
+ case NUdf::TDataType<NUdf::TTzDate32>::Id:
1209
+ case NUdf::TDataType<NUdf::TTzDatetime64>::Id:
1210
+ case NUdf::TDataType<NUdf::TTzTimestamp64>::Id:
1196
1211
dataNode = TDataLiteral::Create (ValueFromString (NUdf::GetDataSlot (dataType->GetSchemeType ()), value.GetText ()), dataType, env);
1197
1212
break ;
1198
1213
case NUdf::TDataType<NUdf::TDate>::Id:
@@ -1489,6 +1504,18 @@ Y_FORCE_INLINE NUdf::TUnboxedValue KindDataImport(const TType* type, const Ydb::
1489
1504
CheckTypeId (value.value_case (), Ydb::Value::kTextValue , " TzTimestamp" );
1490
1505
return NUdf::TUnboxedValuePod (ValueFromString (NUdf::GetDataSlot (dataType->GetSchemeType ()), value.text_value ()));
1491
1506
}
1507
+ case NUdf::TDataType<NUdf::TTzDate32>::Id: {
1508
+ CheckTypeId (value.value_case (), Ydb::Value::kTextValue , " TzDate32" );
1509
+ return NUdf::TUnboxedValuePod (ValueFromString (NUdf::GetDataSlot (dataType->GetSchemeType ()), value.text_value ()));
1510
+ }
1511
+ case NUdf::TDataType<NUdf::TTzDatetime64>::Id: {
1512
+ CheckTypeId (value.value_case (), Ydb::Value::kTextValue , " TzDatetime64" );
1513
+ return NUdf::TUnboxedValuePod (ValueFromString (NUdf::GetDataSlot (dataType->GetSchemeType ()), value.text_value ()));
1514
+ }
1515
+ case NUdf::TDataType<NUdf::TTzTimestamp64>::Id: {
1516
+ CheckTypeId (value.value_case (), Ydb::Value::kTextValue , " TzTimestamp64" );
1517
+ return NUdf::TUnboxedValuePod (ValueFromString (NUdf::GetDataSlot (dataType->GetSchemeType ()), value.text_value ()));
1518
+ }
1492
1519
case NUdf::TDataType<NUdf::TJson>::Id: {
1493
1520
CheckTypeId (value.value_case (), Ydb::Value::kTextValue , " Json" );
1494
1521
const auto & stringRef = value.text_value ();
0 commit comments