Հրապարակվել է SQLite 3.46-ի՝ թեթև DBMS-ի թողարկումը, որը նախատեսված է որպես plug-in գրադարան: SQLite կոդը բաշխվում է որպես հանրային տիրույթ, այսինքն. կարող է օգտագործվել առանց սահմանափակումների և անվճար ցանկացած նպատակով: SQLite ծրագրավորողների ֆինանսական աջակցությունը տրամադրվում է հատուկ ստեղծված կոնսորցիումի կողմից։
Խոշոր փոփոխություններ.
- Հնարավոր է օգտագործել «_» տարանջատիչը թվերի մեջ՝ թվային տառերի ավելի տեսողական ներկայացման համար (օրինակ՝ 1_234_567):
- Ավելացվեց json_pretty() SQL ֆունկցիան՝ ավելի ընթեռնելի JSON ելք ստեղծելու համար, որը ձևաչափված է բլոկի ներքևման միջոցով:
- Ընդլայնվել են «PRAGMA optimize» օպերացիայի հնարավորությունները, որը օպտիմալացնում է տվյալների բազան և տվյալների բոլոր սխեմաները՝ լավագույն հարցումների կատարման հասնելու համար: Կիրառվել է տվյալների բազայի վերլուծության տևողության ավտոմատ կիրառվող սահմանափակում՝ վերացնելով մեծ տվյալների բազաների մշակման ավելորդ ժամանակը: Ավելացվեց նոր բիտդիմակ «PRAGMA optimize(0x10000)»՝ բոլոր աղյուսակներում թարմացումները առանձին ստուգելու համար: Տրամադրվում է աղյուսակների ավտոմատ վերավերլուծություն, որոնցում բացակայում են sqlite_stat1 գրառումները:
- strftime() SQL ֆունկցիային ավելացվել է %G, %g, %U և %V փոխարինումների աջակցություն:
- Նոր մոդիֆիկատորների առաստաղը և հատակը ավելացվել են SQL գործառույթներին՝ աշխատելու ամսաթվերի և ժամերի հետ՝ վերահսկելու երկիմաստ ամսաթվերի մշակումը, որոնք առաջանում են այն գործողությունների ժամանակ, որոնք փոխում են ամսաթվերը որոշակի քանակությամբ ամիսներով կամ տարիներով: Համոզվեք, որ utc և localtime մոդիֆիկատորներն անտեսված են, եթե SQLite-ը գիտի, որ ժամանակն արդեն UTC-ի կամ տեղական ժամանակի ներկայացման մեջ է:
- Օպտիմալացումներ են կատարվել հարցումների պլանավորողի համար: VALUES բաժնում հազարավոր արժեքներ պարունակող INSERT արտահայտությունների համար լռելյայն միացված է «VALUES-as-coroutine» օպտիմիզացումը, որը նման արտահայտությունների վերլուծությունը դարձնում է մոտավորապես երկու անգամ ավելի արագ և կրճատում է հիշողության սպառումը կիսով չափ: «SELECT count(DISTINCT col) FROM…» ձևի հարցումների դեպքում թույլատրվում է ինդեքսների օգտագործումը, նույնիսկ եթե ինդեքսի գրառումների չափը պակաս չէ աղյուսակի գրառումներից: Բարելավվել է այն իրավիճակների որոշման տրամաբանությունը, որոնցում հաստատունները նշված են SQL ֆունկցիաների արգումենտներում: Ակտիվացրել է «push-down» օպտիմիզացումը, որը պետք է կիրառվի «WHERE» կետերի վրա, որոնք պարունակում են չկապված ենթհարցումներ:
- Կույտի արտահոսքի հետ աշխատելու տրամաբանությունը փոխվել է. երբ այն հայտնաբերում է կույտի համար անբավարար հիշողություն, վերլուծիչն այժմ փորձում է լրացուցիչ հիշողություն հատկացնել կույտից՝ «Perser stack overflow» սխալը ցուցադրելու փոխարեն:
- JSON-ը թույլ է տալիս հսկիչ նիշերը նշել JSON5 տողային տառերով: «->» և «->>» օպերատորների գործառնական տրամաբանությունը փոխվել է, երբ աջ կողմի տողային օպերանդը պարունակում է միայն թվեր (PostgreSQL-ի անալոգիայով նման օպերանդներն այժմ մշակվում են որպես տող):
- DEFAULT արժեքը թույլ է տալիս աղյուսակի սյունակներում նշել մեծ տասնվեցական տառերը:
Source: opennet.ru
