SQLite 3.50.0: нова версія компактної вбудованої СУБД
SQLite 3.50.0: нова версія компактної вбудованої СУБД
29 травня відбувся випуск SQLite 3.50.0 – компактної вбудованої СУБД, написаної мовою C і поширюваної як суспільне надбання. Нова версія SQLite включає низку важливих змін та покращень, що розширюють функціональність цієї популярної бази даних.
Основні зміни у SQLite 3.50.0
Розробники SQLite представили кілька ключових нововведень та виправлень у цьому релізі:
- Додано функцію
sqlite3_setlk_timeout(), що встановлює окремий таймаут, відмінний відsqlite3_busy_timeout(). - Обмеження
SQLITE_DBCONFIG_ENABLE_COMMENTSдещо послаблено, тож коментарі завжди дозволені при читанні схеми з існуючої таблиціsqlite_schema. Коментарі блокуються лише в новому SQL. - Додано вбудовані SQL-функції
unistr()таunistr_quote(). - У перетвореннях
%Qта%qу вбудованій функціїprintf()прапор альтернативної форми#перетворює керуючі символи в беквари-ескейпи, придатні дляunistr().
Покращення в консольній утиліті та взаємодії з базою даних
SQLite 3.50.0 також містить низку покращень щодо роботи з даними:
- У консольній утиліті заборонено прямий вивід більшості керуючих символів.
- У виводі команди
.dumpвикористовується нова SQL-функціяunistr()для кодування спеціальних символів (якщо не вимкнено режим--escape). - Покращено форматування складних часткових індексів у виводі команди
.schema --indent. - Вдосконалено утиліту синхронізації БД
sqlite3_rsync.
Виправлення помилок та оптимізації в SQLite
Крім того, у новій версії SQLite вирішено кілька важливих проблем:
- Забезпечено дотримання обмеження JSON5, згідно з яким за символом
\0не повинна слідувати цифра. - Виправлено помилку в функції
json_group_object(LABEL,VALUE). - Оптимізовано функції
jsonb_set()таjsonb_replace(). - Покращено підтримку збирання в Cygwin, MinGW та подібних системах, а також у Termux.
- Виправлено друкарські помилки в документації та коментарях до вихідного коду.
- Внесено різні покращення продуктивності.
Зміни для JavaScript/WASM
Важливим є виправлення давньої помилки в JavaScript/WASM: виправлено розрахунок контрольної суми імені файлу в VFS OPFS SAHPool. Через це бази даних, створені в цій VFS у версії 3.50.0+, не можуть бути прочитані старішими версіями VFS. Однак SQLite 3.50.0 залишається зворотньо сумісною з існуючими базами даних, створеними в старіших версіях.
Нова версія SQLite 3.50.0 – це значне оновлення, яке розширює функціональні можливості цієї компактної бази даних та робить її ще більш потужною для розробників. Детальніше про всі зміни можна дізнатися на офіційному сайті SQLite або в офіційному журналі випуску.




