Релиз СУБД 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 расширено использованием 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%.

© OpenNet