@@ -161,8 +161,6 @@ TColumnDataPackInfo GetPackInfo(TType* type) {
161
161
res.Bytes = sizeof (ui64); break ;
162
162
case NUdf::EDataSlot::Interval:
163
163
res.Bytes = sizeof (i64); break ;
164
- case NUdf::EDataSlot::Uuid:
165
- res.IsString = true ; break ;
166
164
case NUdf::EDataSlot::TzDate:
167
165
res.Bytes = 4 ; break ;
168
166
case NUdf::EDataSlot::TzDatetime:
@@ -171,12 +169,20 @@ TColumnDataPackInfo GetPackInfo(TType* type) {
171
169
res.Bytes = 10 ; break ;
172
170
case NUdf::EDataSlot::Decimal:
173
171
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:
174
183
case NUdf::EDataSlot::String:
175
- res.IsString = true ; break ;
176
184
case NUdf::EDataSlot::Utf8:
177
- res.IsString = true ; break ;
178
185
case NUdf::EDataSlot::Yson:
179
- res.IsString = true ; break ;
180
186
case NUdf::EDataSlot::Json:
181
187
res.IsString = true ; break ;
182
188
default :
@@ -265,6 +271,15 @@ void TGraceJoinPacker::Pack() {
265
271
WriteUnaligned<ui64>(buffPtr, value.Get <ui64>()); break ;
266
272
case NUdf::EDataSlot::Interval:
267
273
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
+
268
283
case NUdf::EDataSlot::Uuid:
269
284
{
270
285
auto str = TuplePtrs[i]->AsStringRef ();
@@ -377,6 +392,14 @@ void TGraceJoinPacker::UnPack() {
377
392
value = NUdf::TUnboxedValuePod (ReadUnaligned<ui64>(buffPtr)); break ;
378
393
case NUdf::EDataSlot::Interval:
379
394
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 ;
380
403
case NUdf::EDataSlot::Uuid:
381
404
{
382
405
value = MakeString (NUdf::TStringRef (TupleStrings[offset], TupleStrSizes[offset]));
0 commit comments