@@ -70,7 +70,10 @@ Y_FORCE_INLINE void HandleKindDataExport(const TType* type, const NUdf::TUnboxed
7070 }
7171 case NUdf::TDataType<NUdf::TTzDate>::Id:
7272 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: {
7477 const NUdf::TUnboxedValue out (ValueToString (NUdf::GetDataSlot (dataType->GetSchemeType ()), value));
7578 const auto & stringRef = out.AsStringRef ();
7679 res.set_text_value (stringRef.Data (), stringRef.Size ());
@@ -435,7 +438,10 @@ Y_FORCE_INLINE void HandleKindDataExport(const TType* type, const NUdf::TUnboxed
435438 }
436439 case NUdf::TDataType<NUdf::TTzDate>::Id:
437440 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: {
439445 const NUdf::TUnboxedValue out (ValueToString (NUdf::GetDataSlot (dataType->GetSchemeType ()), value));
440446 const auto & stringRef = out.AsStringRef ();
441447 res.SetText (stringRef.Data (), stringRef.Size ());
@@ -755,7 +761,10 @@ Y_FORCE_INLINE NUdf::TUnboxedValue HandleKindDataImport(const TType* type, const
755761 return MakeString (value.GetText ());
756762 case NUdf::TDataType<NUdf::TTzDate>::Id:
757763 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: {
759768 MKQL_ENSURE_S (oneOfCase == NKikimrMiniKQL::TValue::ValueValueCase::kText );
760769 return NUdf::TUnboxedValuePod (ValueFromString (NUdf::GetDataSlot (dataType->GetSchemeType ()), value.GetText ()));
761770 }
@@ -829,6 +838,9 @@ void ExportPrimitiveTypeToProto(ui32 schemeType, Ydb::Type& output) {
829838 case NYql::NProto::TypeIds::Datetime64:
830839 case NYql::NProto::TypeIds::Timestamp64:
831840 case NYql::NProto::TypeIds::Interval64:
841+ case NYql::NProto::TypeIds::TzDate32:
842+ case NYql::NProto::TypeIds::TzDatetime64:
843+ case NYql::NProto::TypeIds::TzTimestamp64:
832844 output.set_type_id (static_cast <Ydb::Type::PrimitiveTypeId>(schemeType));
833845 break ;
834846
@@ -1193,6 +1205,9 @@ TNode* TProtoImporter::ImportNodeFromProto(TType* type, const NKikimrMiniKQL::TV
11931205 case NUdf::TDataType<NUdf::TTzDate>::Id:
11941206 case NUdf::TDataType<NUdf::TTzDatetime>::Id:
11951207 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:
11961211 dataNode = TDataLiteral::Create (ValueFromString (NUdf::GetDataSlot (dataType->GetSchemeType ()), value.GetText ()), dataType, env);
11971212 break ;
11981213 case NUdf::TDataType<NUdf::TDate>::Id:
@@ -1489,6 +1504,18 @@ Y_FORCE_INLINE NUdf::TUnboxedValue KindDataImport(const TType* type, const Ydb::
14891504 CheckTypeId (value.value_case (), Ydb::Value::kTextValue , " TzTimestamp" );
14901505 return NUdf::TUnboxedValuePod (ValueFromString (NUdf::GetDataSlot (dataType->GetSchemeType ()), value.text_value ()));
14911506 }
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+ }
14921519 case NUdf::TDataType<NUdf::TJson>::Id: {
14931520 CheckTypeId (value.value_case (), Ydb::Value::kTextValue , " Json" );
14941521 const auto & stringRef = value.text_value ();
0 commit comments