SQLite 3.46 թողարկում

Հրապարակվել է 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

Добавить комментарий