Релиз СУБД SQLite 3.29

Опубликован релиз SQLite 3.29.0, легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.

Основные изменения:

  • В sqlite3_db_config() добавлены опции SQLITE_DBCONFIG_DQS_DML и SQLITE_DBCONFIG_DQS_DDL для управления включением обработки одинарных и двойных кавычек. Изначально SQlite поддерживал любые кавычки для строк и идентификаторов, но стандарт SQL явно требует использования одинарных кавычек для строковых литералов и двойных для идентификаторов (например, имён столбцов). По умолчанию продолжает поддерживаться поведение SQLite, а для включения соответствия стандарту предложена сборочная опция "-DSQLITE_DQS=0";
  • В планировщик запросов добавлены оптимизации, ускоряющие работу операторов AND и OR, когда один из операндов является константой, а также оператора LIKE, когда указанный слева столбец является числовым;
  • Добавлена новая виртуальная таблица "sqlite_dbdata" для извлечения содержимого на уровне исходных данных столбцов, даже если БД повреждена;
  • В CLI-интерфейс добавлена команда ".recover", которая пытается насколько это возможно восстановить данные из повреждённой БД. Также добавлена команда ".filectrl" для проведения тестов и команда ".dbconfig" для просмотра или изменения опций sqlite3_db_config().