Versió SQLite 3.40

S'ha publicat el llançament de SQLite 3.40, un SGBD lleuger dissenyat com a biblioteca de complements. El codi SQLite es distribueix en el domini públic, és a dir. es pot utilitzar sense restriccions i de forma gratuïta per a qualsevol propòsit. El suport financer per als desenvolupadors de SQLite és proporcionat per un consorci creat especialment, que inclou empreses com Adobe, Oracle, Mozilla, Bentley i Bloomberg.

Principals canvis:

  • Реализована экспериментальная возможность компиляции SQLite в промежуточный код WebAssembly, способный запускаться в web-браузере и пригодный для организации работы с БД из web-приложений на языке JavaScript. Web-разработчикам предоставляется высокоуровневый объектно-ориентированный интерфейс для работы с данными в стиле sql.js или Node.js, обвязка над низкоуровневым C API и API на базе механизма Web Worker, позволяющий создавать асинхронные обработчики, выполняемые в отдельных потоках. Данные, которые web-приложения сохраняют в WASM-версии SQLite, могут быть сохранены на стороне клиента при помощи OPFS (Origin-Private FileSystem) или API window.localStorage.
  • Добавлено расширение recovery, предназначенное для восстановления данных из повреждённых файлов с БД. В интерфейсе командной строки для восстановления используется команда «.recover».
  • Улучшена работа планировщика запросов. Убраны ограничения при использовании индексов с таблицами, насчитывающими более 63 столбцов (ранее при операциях со столбцами, порядковый номер которых превышает 63, индексация не применялась). Улучшена индексация значений, используемых в выражениях. Прекращена загрузка с диска больших строк и блобов при обработке операторов NOT NULL и IS NULL. Исключена материализация представлений для которых полное сканирование выполняется только один раз.
  • В кодовой базе вместо типа «char *» для представления имён файлов задействован отдельный тип sqlite3_filename.
  • Добавлена внутренняя функция sqlite3_value_encoding().
  • Добавлен режим SQLITE_DBCONFIG_DEFENSIVE, запрещающий изменение версии схемы хранения данных.
  • В реализацию параметра «PRAGMA integrity_check» добавлены дополнительные проверки. Например, в таблицы без признака STRICT не должны содержать числовых значений в столбцах с типом TEXT и строковых значений с числами в столбцах с типом NUMERIC. Также добавлена проверка корректности порядка следования строк в таблицах с признаком «WITHOUT ROWID».
  • В выражении «VACUUM INTO» учтены настройки «PRAGMA synchronous».
  • Добавлена сборочная опция SQLITE_MAX_ALLOCATION_SIZE, позволяющая ограничить размер блоков при распределении памяти.
  • Встроенный в SQLite алгоритм генерации псевдослучайных чисел переведён с использования потокового шифра RC4 на Chacha20.
  • Разрешено использование в разных схемах данных индексов с одинаковыми именами.
  • Внесены оптимизации производительности, позволившие снизить нагрузку на CPU примерно на 1% при типовой активности.

Font: opennet.ru

Afegeix comentari