SQLite улучшает поддержку нулевых значений


Последний выпуск SQLite доступен с поддержкой предложений Nulls in Order By и возможностью использовать фильтр для агрегатных функций.

SQLite — это внутрипроцессная библиотека, которая реализует автономный, бессерверный, транзакционный механизм базы данных SQL. Он поддерживает полнотекстовый поиск и имеет расширения, предлагающие поддержку JSON. Вся база данных SQL с несколькими таблицами, индексами, триггерами и представлениями содержится в одном файле на диске. Разработчики говорят, что SQLite является наиболее часто используемым механизмом баз данных в мире, поскольку он встроен во все мобильные телефоны, основные веб-браузеры и большинство операционных систем.

Новое предложение filter позволяет вам добавить выражение формы Filter (Where expr) к агрегатной функции. Это гарантирует, что в агрегат будут включены только строки, для которых expr истинно.

Улучшенная обработка значений Null in Order By устраняет тот факт, что SQLite обрабатывает значения Null как меньшие, чем любые другие значения для целей сортировки. До сих пор это означало, что строки с нулевым значением в столбце «Порядок по» будут появляться в начале последовательности ASC и в конце последовательности DESC. Теперь это можно изменить, используя синтаксис «ASC NULLS LAST» или «DESC NULLS FIRST».

Обе прагмы Index Info и xinfo были улучшены, поэтому они возвращают информацию о том, как хранятся таблицы, созданные с использованием без RowIS. Прагмы используются для возврата информации о различных аспектах данных; например, информацию о столбцах в индексе можно прочитать с помощью прагмы index_info следующим образом:

PRAGMA index_info (‘idx52’);

Это возвращает одну строку для каждого ключевого столбца в названном индексе. Если нет индекса с именем index-name, но есть таблица без RowID с этим именем, прагма теперь возвращает столбцы первичного ключа таблицы без RowID, поскольку они используются в записях базового b-дерева; другими словами, с удалением повторяющихся столбцов. Другие функции обработки Pragma теперь включены по умолчанию.

В другом месте синтаксический анализатор схемы был изменен так, что он выдает ошибку, если различные элементы таблицы sqlite_master были повреждены.


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