Ներկայացված է SQLite 3.51-ի թողարկումը՝ թեթև ՍՈՒԲԴ, որը ձևավորված է որպես լիցենզավորված գրադարան: SQLite-ի ծածկագիրը տարածվում է որպես հանրային սեփականություն (public domain), այսինքն՝ այն կարող է օգտագործվել առանց սահմանափակումների և անվճար ցանկացած նպատակների համար: SQLite-ի մշակողների ֆինանսական աջակցությունը ապահովվում է հատուկ ստեղծված կոնսորցիումով:
Main changes:
- Ավելացվել են նոր JSON ֆունկներ jsonb_each() և jsonb_tree(), որոնք տարբերություն են առաջացնում նախկինում առկա json_each() և json_tree() ֆունկցիաներից, քանի որ դրանք վերադառնում են JSONB արժեքը տվյալների համար, որոնք ունեն զանգված կամ օբյեկտ տեսակ:
- carray և percentile ընդարձակումների կոդը տեղափոխվել է հիմնական «sqlite3.c» ֆայլ՝ SQLite-ի ներառված կոդով: Գաղտնիքում տվյալ հավելվածները անջատված են և պահանջում են բունկի պարամետրերի այլընտրանքից `-DSQLITE_ENABLE_CARRAY` և `-DSQLITE_ENABLE_PERCENTILE`:
- Բարելավվել է SQLite-ի օգտագործման ինտերֆեյսը Tcl լեզվով սցենարներում: «eval» հրահանգին ավելացված է `-asdict` դրոշը, որը թույլ է տալիս ցուցակել տողերը `dict` տեսակով, այլ ոչ թե `array`-ով: Ավելացվել է օգտվողական ֆունկցիաների ընդհատման հնարավորություն NULL արժեք վերադարձնելու համար:
- Պահանջներ CLI-ի ինտերֆեյսի փոփոխություններ:
- Ժամանակի «.timer» հրահանգի ճշտությունը բարձրացվել է միկրոարդյունաբերական մակարդակով:
- «box» և «column» ձևավորած ռեժիմներում իրականացվել է զույգ լայնության տառերի աջակցություն:
- «.imposter» հրահանգը այժմ կարող է տրամադրել կարդալու ռեժիմի imposter-տեսակները (թ tablas, որոնք թույլ են տալիս մուտք գործել տվյալները ինդեքսով, որպես սեղան), որոնք աշխատում են VACUUM գործողության հետ և չեն պահանջում `—unsafe-testing` դրոշով գործարկում:
- sqlite ծառայության և «.open» հրահանգի մեջ ավելացած `—ifexists` տարբերակը:
- Շարքի առավելագույն լայնությունը, որը սահմանվում է «.width» հրահանգով, սահմանափակված է 30000 նշանով:
- Կատարելագործվել են կատարողականի օպտիմիզացիաները:
- Կրճատվել է CPU-ի բեռնվածությունը, երբ շրջափակումների սահմանափակ մուտք է գործում:
- Հանձնարարություն ավելացված է միացումներին (JOIN), որոնք չեն վերադարձնում տողեր, երբ մեկ կամ մի քանի սեղաններում տողեր չկան:
- Դադարեցվել է այն սկալյար ենթաբառիկների իրականացումը, որոնք չեն ազդում արդյունքի վրա:
- Արագացվել է պատուհանի ֆունկցիաների աշխատանքը `BETWEEN 😡 FOLLOWING AND :y FOLLOWING` և շատ մեծ `:y` արժեքներով запросներում:
- Ավելացվել է կանխատեսում «PRAGMA wal_checkpoint=NOOP» և sqlite3_wal_checkpoint() API ֆունկցիան համեմատելով փոփոխությունները WAL-օրագրում:
- API-ում ավելացվել է sqlite3_set_errmsg() և sqlite3_db_status64() ֆունկցիաները:
- JavaScript/WASM-ի SQLite համար իրագործվել է WebAssembly-ով 64 բիթանոց նշագծեր ունեցող կառուցվածքային աջակցությունը:
- Ավելացվել է DB-ի վնասման նկատմամբ դիմադրողականությունը appliications-ներում, որոնք վերցնում են POSIX արգելանքները `close()` զանգվածի միջոցով:
- Բարելավվել է VxWorks պլատֆորմի աջակցությունը:
Ընտանիք: opennet.ru
