Релиз СУБД SQLite 3.25 с поддержкой оконных функций

Представлен релиз SQLite 3.25.0, легковесной СУБД, оформленной в виде подключаемой библиотеки.

Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.

Основные изменения:

• Добавлена поддержка оконных функций (window-функции или аналитические функции), позволяющих для каждой строки запроса выполнить вычисления, используя другие строки. В отличие от агрегатных функций, которые свёртывают сгруппированный набор строк в одну строку, оконные функции производят агрегирование на основе содержимого «окна», включающего одну или более строк из результирующего набора;

• Добавлена поддержка переименования столбцов при помощи команды «ALTER TABLE table RENAME COLUMN oldname TO newname»;

• При переименовании таблиц через «ALTER TABLE» реализовано автоматическое обновление всех ссылок на новое имя в триггерах и представлениях;

• В состав включён новый модуль Geopoly с реализацией альтернативного интерфейса к R-Tree, использующего для обмена данными формат GeoJSON;

• Внесены улучшения в оптимизатор запросов: Исключены излишние чтения столбцов в агрегатных запросах, если эти столбцы не упоминаются в агрегатных функциях и не используются в выражении «GROUP BY». Добавлена оптимизация «N-early-out», помогающая ускорить выполнение операции «IN» при наличии индексов, охватывающих несколько столбцов.

• Обеспечено раскрытие присвоения констант в блоке WHERE (например, «a=99 AND b=a» будет преобразовано в «a=99 AND b=99»);

• В VFS для UNIX-систем для каждой inode теперь применяется отдельный мьютекс, вместо общей совместной блокировки для всех inode. Изменение позволяет поднять производительность при использовании SQLite в многопоточных программах;

• В «PRAGMA integrity_check» улучшено выявление проблем, связанных с порчей списка свободных страниц в хранилище;
Для индикации бесконечных значений команда «.dump» теперь использует число 1e999;

• Устранена ошибка, которая при редком стечении обстоятельств могла привести к бесконечному зацикливанию в движке генерации байткода при выполнении оптимизации конструкции «ORDER BY LIMIT».

Источник: opennet.ru



Комментарии:

Добавить комментарий