SQLite 3.40 रिलीज

SQLite 3.40 को रिलीज, एक प्लग-इन पुस्तकालयको रूपमा डिजाइन गरिएको हल्का DBMS, प्रकाशित गरिएको छ। SQLite कोड सार्वजनिक डोमेनमा वितरित गरिन्छ, अर्थात्। कुनै पनि उद्देश्यको लागि प्रतिबन्ध बिना र नि: शुल्क प्रयोग गर्न सकिन्छ। SQLite विकासकर्ताहरूको लागि वित्तीय समर्थन विशेष रूपमा सिर्जना गरिएको कन्सोर्टियमद्वारा प्रदान गरिएको छ, जसमा Adobe, Oracle, Mozilla, Bentley र Bloomberg जस्ता कम्पनीहरू समावेश छन्।

मुख्य परिवर्तनहरू:

  • Реализована экспериментальная возможность компиляции 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% при типовой активности.

स्रोत: opennet.ru

एक टिप्पणी थप्न