Skip to content

Commit 45d4b7c

Browse files
authored
More types in mkql_proto (#5795)
1 parent c318914 commit 45d4b7c

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

ydb/library/mkql_proto/mkql_proto.cpp

+30-3
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)