Публикувано издание SQLite 3.37, лекотоварната СУБД, проектирана като присъединяваща се библиотека. Кодът на SQLite се разпространява като обществено достояние, т.е. може да се използва без ограничения и безвъзмездно за всякакви цели. Финансовата подкрепа за разработчиците на SQLite се предоставя от специално създаден консорциум, в който участват компании като Adobe, Oracle, Mozilla, Bentley и Bloomberg.
Основни промени:
- Добавена е поддръжка за създаване на таблици с флага «STRICT», който изисква задължително указване на типа при обявяване на колоните и прилага строга проверка на съответствието на типовете на добавяните в колоните данни. Когато е зададен този флаг, SQLite ще изведе грешка, ако не може да преобразува указаните данни в типа на колоната. Например, ако колоната е създадена като «INTEGER», то предаването на низовата стойност ‘123’ ще доведе до добавяне на числото 123, но опитът за указване на ‘xyz’ ще завърши с грешка.
- В операцията «ALTER TABLE ADD COLUMN» е добавена проверка на условията за съществуване на редове при добавяне на колони с проверки на базата на израза «CHECK» или с условия «NOT NULL».
- Реализирано е изразът «PRAGMA table_list» за извеждане на информация за таблиците и представленията.
- В интерфейса на командния ред е реализирана команда «.connection», която позволява едновременно поддържане на няколко връзки към БД.
- Добавен е параметър «—safe», който изключва CLI-командите и SQL-изразите, които позволяват извършване на операции с файлове на БД, различни от указаните в командния ред БД.
- В CLI е проведена оптимизация на производителността при четенето на SQL-изрази, разбивани на няколко реда.
- Добавени са функциите sqlite3_autovacuum_pages(), sqlite3_changes64() и sqlite3_total_changes64().
- В планиращия запитвания е осигурено игнориране на изразите «ORDER BY» в подзапитвания и представления, ако премахването на тези изрази не променя семантиката на запитването.
- Променено е разширението generate_series(START,END,STEP), където първият параметър («START») е преведен в категория на задължителните. За възстановяване на старото поведение е възможно преизграждане с опция «-DZERO_ARGUMENT_GENERATE_SERIES».
- Съкратено е потреблението на памет за съхраняване на схемата на БД.
Източник: opennet.ru
