Новая версия БД SQLite 3.7.10

17.01.2012 22:16

Доступен релиз БД SQLite 3.7.10, в котором осуществлён переход на использование по умолчанию 4 версии формата схемы данных, что подразумевает также включение по умолчанию более нового формата убывающих индексов и нарушение совместимости с БД SQLite версии ниже 3.3.0 (выпущенных до 2006 года).

Некоторые другие изменения:

  • Объявлена устаревшей структура sqlite3_pcache_methods, а также опции конфигурации SQLITE_CONFIG_PCACHE и SQLITE_CONFIG_GETPCACHE, вместо которых следует использовать sqlite3_pcache_methods2, SQLITE_CONFIG_PCACHE2 и SQLITE_CONFIG_GETPCACHE2;
  • В VFS-интерфейс добавлена поддержка режима защиты от потери данных в случае неожиданного отключения питания, который включается через опцию на этапе сборки SQLITE_POWERSAFE_OVERWRITE и через параметр "psow=BOOLEAN" в URI. Дополнительно исправлена недоработка, которая могла теоретически привести к повреждению базы при экстренном отключении питания;
  • Добавлены новые интерфейсы: sqlite3_db_release_memory(), sqlite3_db_filename(), sqlite3_stmt_busy(), sqlite3_uri_boolean() и sqlite3_uri_int64();
  • Возможность указания отрицательных значений в PRAGMA cache_size, которые будут указывать на необходимость уменьшения размера кэша на -1024*N байт относительно размера страницы памяти;
  • Улучшена используемая по умолчанию система распределения памяти;
  • Планировщик запросов улучшен в направлении задействования индексов при запросе диапазонов значений для rowid, обработке "UNION ALL" и в некоторых других ситуациях;
  • Улучшена реализация блокировок для "unix-dotfile" VFS (вместо open()/unlink() теперь используется mkdir()/rmdir());
  • Различные улучшения в реализации unix и windows VFS.