Релиз СУБД SQLite 3.21
Представлен релиз SQLite 3.21.0, легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т. е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.
- Поддержка режима атомарной записи для файловой системы F2FS, позволяющего значительно накладные расходы при выполнении транзакции. Для включения режима требуется сборка с опцией SQLITE_ENABLE_BATCH_ATOMIC_WRITE;
- Разрешено применение команд ATTACH и DETACH внутри транзакций;
- Обеспечена возможность записи в виртуальные таблицы в режиме "WITHOUT ROWID", если в качестве первичного ключа задан только один столбец;
- Применение оптимизаций для выражения LIKE расширено его использованием совместно с конструкцией ESCAPE;
- В PRAGMA integrity_check и PRAGMA quick_check реализовано выявление скрытых повреждений строк;
- В планировщике запросов для подзапросов в выражении FROM теперь применяются сопрограммы вместо оптимизиации через развертывание запроса;
- Включена по умолчанию поддержка использования сопрограмм для подзапросов;
- При разборе виртуальных таблиц связанных с файлом CSV теперь последняя строка учитывается даже если в конце нет символа перевода строки;
- Удалена система распределения памяти "scratch", вместо которой предлагается набор настроек SQLITE_CONFIG_SMALL_MALLOC для минимизации выделения больших блоков памяти;
- В расширение с реализацией виртуальных таблиц union добавлена поддержка виртуальных таблиц swarm, отличающихся методом передачи ссылки на файл с БД;
- Добавлена виртуальная таблица sqlite_dbpage, через которую можно получить прямой доступ к страницам с данными в файле БД. Для активации требуется сборка с опцией "-DSQLITE_ENABLE_DBPAGE_VTAB";
- Добавлен новый тип виртуальных таблиц fts5vocab - "instance", предоставляющий низкоуровневый доступ к содержимому полнотекстового индекса FTS5;
- Внесена серия микрооптимизаций, в сумме позволивших снизить нагрузку на CPU примерно на 2.1%.