SQLite 3.51: Нові можливості та підвищення продуктивності
16:58, 07.11.2025
Довгоочікуваний реліз SQLite 3.51 вже тут, з купою нових функцій та покращень. Ця легка база даних, написана на C та поширювана як публічне надбання, продовжує надавати потужні інструменти для розробників без жодних ліцензійних обмежень.
Нові функції та розширення
SQLite 3.51 пропонує кілька цікавих нововведень в API. Зокрема, в заголовковому файлі sqlite3.h з'явилися нові макроси: SQLITE_SCM_BRANCH, SQLITE_SCM_TAGS та SQLITE_SCM_DATETIME. У роботі з JSON додано нові функції jsonb_each() та jsonb_tree() для формату JSONB. Крім того, SQLite додає два розширення, carray та percentile, до своєї амальгамації, хоча за замовчуванням вони вимкнені і можуть бути активовані під час компіляції через відповідні прапорці.
Покращення CLI та API
Командний інтерфейс (CLI) SQLite також отримав кілька вдосконалень для зручності користувачів. Наприклад, команда .timer тепер фіксує час з точністю до мікросекунд. Команда .width тепер обмежує ширину колонок до 30 000 символів. Розробники оцінять нову команду .imposter, яка дозволяє читати вміст індексів як таблиці. API також отримав вдосконалення, зокрема нові функції, як sqlite3_db_status64() та sqlite3changeset_apply_v3() для кращого управління станом бази даних та сесіями.
Оптимізації продуктивності
SQLite 3.51 приносить ряд оптимізацій для покращення ефективності. Зменшено навантаження на процесор під час операцій читання, а також система тепер раніше виявляє JOIN-операції на таблицях, які не повертають рядків. Скаляри підзапитів, які не впливають на фінальний результат, тепер виключаються, що пришвидшує запити. Додано нові режими контрольних точок, такі як NOOP для sqlite3_wal_checkpoint_v2(), що дозволяє ще точніше налаштовувати продуктивність.
Цей реліз встановлює нові стандарти для SQLite, пропонуючи ще більш ефективну та функціональну базу даних для розробників у різних середовищах.