Trino 479: что нового
Обзор релиза Trino 479 — что важного, что сломали, стоит ли обновляться
Вышел Trino 479. В нём нет громких революций, но есть несколько обновлений, которые тихо и методично делают жизнь чуть проще, пока ты не смотришь. И пара моментов, про которые лучше знать до, а не после деплоя.
Что важного
Главное событие — экспериментальная поддержка формата Iceberg v2. Теперь можно работать с таблицами, использующими новые возможности спецификации, вроде удаления по позиции строки. Это шаг в будущее, но пока с флажком experimental-iceberg. Для S3-энтузиастов появилась долгожданная настройка s3.path-style-access. Если твой объектный сторедж упорно требует старый добрый path-style вместо виртуального хостинга, теперь его можно уговорить без танцев с бубном.
В ядро SQL добавили функцию array_intersect для пересечения массивов. Мелочь, а приятно, когда не нужно изобретать велосипед. Для любителей ковыряться в JSON появилась json_query — мощный инструмент для извлечения данных с помощью SQL/JSON path expressions. Если ты уже делал это через кастомные функции, теперь можно вздохнуть с облегчением. Ну и по мелочи: улучшили планирование запросов с большим количеством UNION ALL, что для некоторых дашбордов может означать заметный прирост скорости.
Что сломали
Удалили поддержку устаревших конфигов experimental.reserved-pool-enabled и experimental.spill-enabled. Если они ещё висят в твоих конфигурационных файлах, движок вежливо попросит их убрать при старте. Изменено поведение функции approx_distinct для типов REAL и DOUBLE. Если ты использовал её для чисел с плавающей точкой и тебе критична абсолютная совместимость результатов после обновления, будь осторожен — алгоритм стал другим и значения могут немного отличаться.
Обновляться или подождать
Если ты не завязан на тонкостях approx_distinct для дробных чисел и не используешь выпиленные конфиги — можно обновляться. Особенно если присматриваешься к Iceberg v2 или мучаешься с path-style доступом к S3. В остальных случаях, как всегда, гонять тесты на стейдже.