Skip to content

Commit 5190e9a

Browse files
authored
Merge 9b38b64 into 484ae28
2 parents 484ae28 + 9b38b64 commit 5190e9a

File tree

1 file changed

+28
-5
lines changed

1 file changed

+28
-5
lines changed

ydb/library/yql/minikql/comp_nodes/mkql_grace_join.cpp

+28-5
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,6 @@ TColumnDataPackInfo GetPackInfo(TType* type) {
161161
res.Bytes = sizeof(ui64); break;
162162
case NUdf::EDataSlot::Interval:
163163
res.Bytes = sizeof(i64); break;
164-
case NUdf::EDataSlot::Uuid:
165-
res.IsString = true; break;
166164
case NUdf::EDataSlot::TzDate:
167165
res.Bytes = 4; break;
168166
case NUdf::EDataSlot::TzDatetime:
@@ -171,12 +169,20 @@ TColumnDataPackInfo GetPackInfo(TType* type) {
171169
res.Bytes = 10; break;
172170
case NUdf::EDataSlot::Decimal:
173171
res.Bytes = 16; break;
172+
case NUdf::EDataSlot::Date32:
173+
res.Bytes = 4; break;
174+
case NUdf::EDataSlot::Datetime64:
175+
res.Bytes = 8; break;
176+
case NUdf::EDataSlot::Timestamp64:
177+
res.Bytes = 8; break;
178+
case NUdf::EDataSlot::Interval64:
179+
res.Bytes = 8; break;
180+
case NUdf::EDataSlot::Uuid:
181+
case NUdf::EDataSlot::DyNumber:
182+
case NUdf::EDataSlot::JsonDocument:
174183
case NUdf::EDataSlot::String:
175-
res.IsString = true; break;
176184
case NUdf::EDataSlot::Utf8:
177-
res.IsString = true; break;
178185
case NUdf::EDataSlot::Yson:
179-
res.IsString = true; break;
180186
case NUdf::EDataSlot::Json:
181187
res.IsString = true; break;
182188
default:
@@ -265,6 +271,15 @@ void TGraceJoinPacker::Pack() {
265271
WriteUnaligned<ui64>(buffPtr, value.Get<ui64>()); break;
266272
case NUdf::EDataSlot::Interval:
267273
WriteUnaligned<i64>(buffPtr, value.Get<i64>()); break;
274+
case NUdf::EDataSlot::Date32:
275+
WriteUnaligned<i64>(buffPtr, value.Get<i32>()); break;
276+
case NUdf::EDataSlot::Datetime64:
277+
WriteUnaligned<i64>(buffPtr, value.Get<i64>()); break;
278+
case NUdf::EDataSlot::Timestamp64:
279+
WriteUnaligned<i64>(buffPtr, value.Get<i64>()); break;
280+
case NUdf::EDataSlot::Interval64:
281+
WriteUnaligned<i64>(buffPtr, value.Get<i64>()); break;
282+
268283
case NUdf::EDataSlot::Uuid:
269284
{
270285
auto str = TuplePtrs[i]->AsStringRef();
@@ -377,6 +392,14 @@ void TGraceJoinPacker::UnPack() {
377392
value = NUdf::TUnboxedValuePod(ReadUnaligned<ui64>(buffPtr)); break;
378393
case NUdf::EDataSlot::Interval:
379394
value = NUdf::TUnboxedValuePod(ReadUnaligned<i64>(buffPtr)); break;
395+
case NUdf::EDataSlot::Date32:
396+
value = NUdf::TUnboxedValuePod(ReadUnaligned<i32>(buffPtr)); break;
397+
case NUdf::EDataSlot::Datetime64:
398+
value = NUdf::TUnboxedValuePod(ReadUnaligned<i64>(buffPtr)); break;
399+
case NUdf::EDataSlot::Timestamp64:
400+
value = NUdf::TUnboxedValuePod(ReadUnaligned<i64>(buffPtr)); break;
401+
case NUdf::EDataSlot::Interval64:
402+
value = NUdf::TUnboxedValuePod(ReadUnaligned<i64>(buffPtr)); break;
380403
case NUdf::EDataSlot::Uuid:
381404
{
382405
value = MakeString(NUdf::TStringRef(TupleStrings[offset], TupleStrSizes[offset]));

0 commit comments

Comments
 (0)