summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/interface/serialize.cpp
diff options
context:
space:
mode:
authorermolovd <[email protected]>2025-09-17 14:47:26 +0300
committerermolovd <[email protected]>2025-09-17 15:41:40 +0300
commit9f850526f9cea07d55a28f3cab6047074e994bac (patch)
treeb73f764928ebb4e27f1942196dba288081a5264b /yt/cpp/mapreduce/interface/serialize.cpp
parent83cc51995c595f710b027094fcd4532535d1b8af (diff)
YT-15805: introduce tz-types into type info
#### Добавление поддержки временных типов с часовым поясом (TZ-типы) 📝 - 🧱 Добавлены новые примитивные типы для представления даты, даты-времени и меток времени с часовым поясом: `TzDate32`, `TzDatetime64`, `TzTimestamp64`. - 🧪 В модульные тесты добавлены проверки корректности создания и идентификации новых временных типов. - 📦 Обновлена логика сериализации/десериализации: TZ-типы отображаются в строковый формат при работе с различными протоколами (Skiff, protobuf, JSON). - ⚠️ В местах чтения данных добавлена заглушка, которая выбрасывает исключение при попытке обработки новых типов — это временное решение до реализации полной поддержки. - 🔧 Упрощена иерархия классов примитивных типов за счёт использования шаблона `TPrimitiveTypeBase`. - 🗂️ Изменён подход к обработке неизвестных типов в нескольких компонентах: вместо явного перечисления всех поддерживаемых типов теперь используется `default` ветка с общим обработчиком. --- **Оценить качество описания можно [здесь](https://nda.ya.ru/t/_MxIaV0Q7FnCMG** <a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Code Assistant</font></a> commit_hash:265cf034372d36f60988238e273cbfe532c2a4e5
Diffstat (limited to 'yt/cpp/mapreduce/interface/serialize.cpp')
-rw-r--r--yt/cpp/mapreduce/interface/serialize.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/yt/cpp/mapreduce/interface/serialize.cpp b/yt/cpp/mapreduce/interface/serialize.cpp
index 64f38e7d0a6..28a734a500b 100644
--- a/yt/cpp/mapreduce/interface/serialize.cpp
+++ b/yt/cpp/mapreduce/interface/serialize.cpp
@@ -136,6 +136,14 @@ void Deserialize(EValueType& valueType, const TNode& node)
{"interval64", VT_INTERVAL64},
{"uuid", VT_UUID},
+
+ {"tz_date", VT_TZ_DATE},
+ {"tz_datetime", VT_TZ_DATETIME},
+ {"tz_timestamp", VT_TZ_TIMESTAMP},
+
+ {"tz_date32", VT_TZ_DATE32},
+ {"tz_datetime64", VT_TZ_DATETIME64},
+ {"tz_timestamp64", VT_TZ_TIMESTAMP64},
};
auto it = str2ValueType.find(nodeStr);