SQLite 3.44 вже випущено, і це його нові функції

SQLite

SQLite — це легкий механізм баз даних

Оголосили про запуск с нова версія SQLite 3.44, яка містить покращену підтримку нових функцій, а також оптимізацію, різні вдосконалення тощо.

SQLite це легкий механізм реляційної бази даних, доступний через мову SQL. На відміну від традиційних серверів баз даних, таких як MySQL або PostgreSQL, його особливістю є не відтворення звичайної схеми клієнт-сервер, а інтеграція безпосередньо в програми. Насправді вся база даних (вирази, таблиці, індекси та дані) зберігається в незалежному від платформи файлі.

Завдяки своїй надзвичайній легкості SQLite є одним із найбільш використовуваних механізмів баз даних у світі. Він використовується в багатьох споживчих програмах, а також дуже популярний у вбудованих системах, включаючи більшість сучасних смартфонів.

Основні нові можливості SQLite 3.44

У цій новій версії SQLite 3.44, яка представлена, підтримка нових функцій агрегований які дозволяють вираз «СОРТУВАТИ ЗА« після останнього параметра, щоб обробляти аргументи функції у вказаному порядку. Це може бути важливо для таких функцій, як string_agg() і json_group_array() .

Ще однією зміною, яка виділяється в новій версії, є оптимізація планувальника запитів з частковим скануванням індексу при вказівці постійного значення для стовпця таблиці в реченні WHERE, це збільшує ймовірність того, що частковий індекс є індексом покриття. Зазначається, що через виявлені регресії оптимізацію перегляду, додану у версії 3.42.0, було вимкнено.

У SQLite 3.44 команда «PRAGMA integrity_check» тепер реалізує перевірку узгодженості вмісту на кількох інтегрованих віртуальних таблицях за допомогою нового методу xIntegrity. Це працює для розширень FTS3, FTS4, FTS5, RTREE та GEOPOLY.

На додаток до цього в конфігурації Захист SQLITE_DBCONFIG_DEFENSIVE забезпечується від увімкнення режиму Writable_schema PRAGMA, оскільки раніше writable_schema можна було активувати, але це фактично не дозволяло схему бути доступною для запису, і тепер її просто неможливо активувати.

У версії SQLite 3.44 для Windows виділяється, що при компіляції за допомогою компілятора Microsoft C конфігурація SQLITE_USE_SEH (Structured Exception Handling) тепер увімкнено за замовчуванням. Його можна вимкнути за допомогою -DSQLITE_USE_SEH=0. Також CLI для Windows тепер за замовчуванням UTF-8 як для введення, так і для виведення на платформах, які його підтримують. Параметр –no-utf8 доступний для вимкнення підтримки UTF8.

Крім того, SQLite тепер виконує визначення під час виконання того, чи підтримує апаратне забезпечення long double з вищою точністю, ніж double, і використовує відповідні процедури з плаваючою комою.

З інших змін що виділяються з цієї нової версії:

  • Додано підтримку скалярних функцій SQL concat() і concat_ws(), сумісний з PostgreSQL, MS SQL Server і MySQL.
  • Додано підтримку агрегатної функції string_agg(), сумісний з PostgreSQL і MS SQL Server.
    Функція strftime() SQL тепер підтримує специфікатори "%e", "%F", "%I", "%k", "%l", "%p", "%P", "%R", "%T" і "%u".
  • Багато повідомлень про помилки, пов'язаних з інструкцією CREATE TABLE тепер відображається після виконання оператора СТВОРИТИ ТАБЛИЦЮ, а не після першого використання таблиці.
  • Вбудовані віртуальні таблиці були позначені тегами FTS3, FTS4, FTS5, RTREE та GEOPOLY як SQLITE_VTAB_INNOCUOUS тому їх можна використовувати в тригерах у реалізаціях із високим рівнем безпеки.
  • Інструкція PRAGMA_SENSITIVE_like застаріло, оскільки його використання, коли схема містить оператори LIKE, може призвести до звітів про пошкодження бази даних PRAGMA Перевірка цілісності.
  • Вимкнено оптимізацію перегляду сканування, оскільки це спричиняло численні регресії продуктивності.

Нарешті, якщо вам цікаво дізнатись більше про це Слід знати, що код SQLite поширюється у відкритому доступі, тобто його можна використовувати без обмежень і безкоштовно для будь-яких цілей.

Ви можете дізнатися більше про цей новий випуск на за наступним посиланням.