Издаване на SQLite база данни 3.38 и набор от утилити sqlite-utils 3.24

Публикувана версия SQLite 3.38, лека СУБД, проектирана като свързваща библиотека. Кодът на SQLite се разпространява като обществено достояние, т.е. може да се използва без ограничения и безвъзмездно за всякакви цели. Финансовата подкрепа за разработчиците на SQLite се осъществява от специално създаден консорциум, в който са включени компании като Adobe, Oracle, Mozilla, Bentley и Bloomberg.

Основни промени:

  • Добавена е поддръжка на операторите -> и ->>, които опростяват извличането на данни в JSON формат. Синтаксисът на новите оператори е съвместим с MySQL и PostgreSQL.
  • В основния състав са включени функции за работа с данни в JSON формат, за които преди беше необходима компилация с флага «-DSQLITE_ENABLE_JSON1». За деактивиране на поддръжката на JSON е добавен флаг «-DSQLITE_OMIT_JSON».
  • Добавена е функцията unixepoch(), която връща времето на епохата (брой секунди от 1 януари 1970 г.).
  • За функциите за работа с време са реализирани модификаторите «auto» и «julianday».
  • SQL-функцията printf() е преименувана на format() за подобряване на съвместимостта с други СУБД (поддръжката на старото име е запазена).
  • Добавен е интерфейсът sqlite3_error_offset() за опростяване на определянето на местоположението на грешките в заявката.
  • В реализацията на виртуалните таблици са добавени нови програмни интерфейси: sqlite3_vtab_distinct(), sqlite3_vtab_rhs_value() и sqlite3_vtab_in(), както и нови типове оператори SQLITE_INDEX_CONSTRAINT_LIMIT и SQLITE_INDEX_CONSTRAINT_OFFSET.
  • В интерфейса на командния ред е осигурена коректна обработка на символите за табулация и нов ред в текста, изведен в многоколонни режими. Добавена е поддръжка за използване на опциите «—wrap N», «—wordwrap on» и «—quote» при извеждане в няколко колони. В командата .import е осигурена корекция на имената на колоните.
  • В планирача на заявките за ускоряване на изпълнението на големи аналитични заявници е използвана вероятностна структура bloom filter, която се прилага за определяне на наличието на елемент в набора. За оптимизиране на обработката на блоковете UNION и UNION ALL, обхващащи изрази SELECT с секции ORDER BY, е внедрено балансирано дърво за сливане.

Допълнително е интересно да се отбележи публикуването на версията на набора sqlite-utils 3.24, включваща утилити и библиотека за манипулиране на файлове с БД SQLite. Поддържат се операции като директно зареждане на данни от JSON, CSV или TSV в файл на БД с автоматично създаване на необходимата схема за съхранение, изпълнение на SQL заявки върху CSV, TSV и JSON файлове, извършване на пълен текстов търсене в БД, преобразуване на данни и схема на съхранение в ситуации, когато ALTER TABLE не може да бъде приложен (например за промяна на типа на колоните), извличане на колони в отделни таблици.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster