SQLite 3.40 թողարկում

Հրապարակվել է SQLite 3.40-ի՝ թեթև DBMS-ի թողարկումը, որը նախատեսված է որպես plug-in գրադարան: SQLite կոդը բաշխվում է հանրային տիրույթում, այսինքն. կարող է օգտագործվել առանց սահմանափակումների և անվճար ցանկացած նպատակով: SQLite ծրագրավորողներին ֆինանսական աջակցություն է ցուցաբերում հատուկ ստեղծված կոնսորցիումը, որը ներառում է այնպիսի ընկերություններ, ինչպիսիք են Adobe-ը, Oracle-ը, Mozilla-ն, Bentley-ն և Bloomberg-ը:

Խոշոր փոփոխություններ.

  • Փորձնական հատկանիշ է ներդրվել SQLite-ը WebAssembly միջանկյալ կոդի մեջ կազմելու համար, որը կարող է գործարկվել վեբ բրաուզերում և հարմար է JavaScript-ում վեբ հավելվածներից տվյալների բազայի հետ աշխատանքը կազմակերպելու համար: Վեբ մշակողներին տրամադրվում է բարձր մակարդակի օբյեկտի վրա հիմնված ինտերֆեյս՝ տվյալների հետ աշխատելու համար sql.js կամ Node.js ոճով, կապ ցածր մակարդակի C API-ի վրա և API՝ հիմնված Web Worker մեխանիզմի վրա, որը թույլ է տալիս դուք պետք է ստեղծեք ասինխրոն մշակիչներ, որոնք կատարվում են առանձին թելերով: Տվյալները, որոնք վեբ հավելվածները պահում են SQLite-ի WASM տարբերակում, կարող են պահվել հաճախորդի կողմից՝ օգտագործելով OPFS (Origin-Private FileSystem) կամ window.localStorage API:
  • Ավելացվեց վերականգնման ընդլայնում, որը նախատեսված է տվյալների բազայից վնասված ֆայլերից տվյալների վերականգնման համար: Հրամանի տողի ինտերֆեյսում վերականգնման համար օգտագործվում է «.recover» հրամանը:
  • Բարելավված հարցումների պլանավորողի կատարումը: Սահմանափակումները հանվել են 63-ից ավելի սյունակ ունեցող աղյուսակներով ինդեքսներ օգտագործելիս (նախկինում ինդեքսավորումը չէր կիրառվում, երբ սյունակներով գործողություններ, որոնց հերթական թիվը գերազանցում է 63-ը): Արտահայտություններում օգտագործվող արժեքների բարելավված ինդեքսավորում: NOT NULL և IS NULL օպերատորները մշակելիս դադարեցրեց սկավառակից մեծ տողերի և բշտիկների բեռնումը: Դիտումների նյութականացումը, որոնց համար ամբողջական սկանավորում է կատարվում միայն մեկ անգամ, բացառվում է:
  • Կոդերի բազայում «char *» տեսակի փոխարեն օգտագործվում է sqlite3_filename առանձին տեսակ՝ ֆայլերի անունները ներկայացնելու համար։
  • Ավելացվեց ներքին ֆունկցիա sqlite3_value_encoding():
  • Ավելացվեց SQLITE_DBCONFIG_DEFENSIVE ռեժիմը, որն արգելում է փոխել տվյալների պահպանման սխեմայի տարբերակը:
  • Լրացուցիչ ստուգումներ են ավելացվել «PRAGMA integrity_check» պարամետրի իրականացմանը: Օրինակ, առանց STRICT հատկանիշի աղյուսակները չպետք է պարունակեն թվային արժեքներ TEXT տիպի սյունակներում և տողային արժեքներ NUMERIC տիպի սյունակներում թվերով: Ավելացվեց նաև «ԱՌԱՆՑ ROWID» հատկանիշով աղյուսակներում տողերի ճիշտ հերթականության ստուգում:
  • «VACUUM INTO» արտահայտությունը հաշվի է առնում «PRAGMA synchronous» կարգավորումները։
  • Ավելացվեց հավաքման տարբերակ SQLITE_MAX_ALLOCATION_SIZE, որը թույլ է տալիս սահմանափակել բլոկների չափերը հիշողություն հատկացնելիս:
  • SQLite-ի ներկառուցված կեղծ պատահական թվերի ստեղծման ալգորիթմը RC4 հոսքի ծածկագիրը օգտագործելուց տեղափոխվել է Chacha20:
  • Թույլատրվում է օգտագործել նույն անուններով ինդեքսներ տվյալների տարբեր սխեմաներում:
  • Կատարվել են կատարողականի օպտիմալացում՝ սովորական գործունեության ընթացքում պրոցեսորի ծանրաբեռնվածությունը մոտավորապես 1%-ով նվազեցնելու համար:

Source: opennet.ru

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