SQLite 3.40 väljalase

Avaldatud on SQLite 3.40, kerge DBMS-i väljaanne, mis on loodud pistikprogrammide raamatukoguna. SQLite kood levitatakse avalikus omandis, st. saab kasutada piiranguteta ja tasuta igal eesmärgil. SQLite'i arendajatele pakub rahalist tuge spetsiaalselt loodud konsortsium, kuhu kuuluvad sellised ettevõtted nagu Adobe, Oracle, Mozilla, Bentley ja Bloomberg.

Peamised muudatused:

  • Rakendatud on eksperimentaalne võime kompileerida SQLite WebAssembly vahekoodiks, mis suudab töötada veebibrauseris ja mis sobib JavaScripti keeles veebirakendustest andmebaasiga töö korraldamiseks. Veebiarendajad on varustatud kõrgetasemelise objektorienteeritud liidesega andmetega töötamiseks stiilis sql.js või Node.js, mähistades madala taseme C API-d ja API, mis põhineb Web Workeri mehhanismil, mis võimaldab teil Asünkroonsete töötlejate loomiseks, mis töötavad eraldi lõimedel. Andmeid, mida veebirakendused SQLite'i WASM-i versioonis salvestavad, saab salvestada kliendi poolel OPFS-i (Origin-Private FileSystem) või window.localStorage API abil.
  • Lisatud on taastamislaiend, mis on loodud kahjustatud failide andmete taastamiseks andmebaasist. Käsurea liides kasutab taastamiseks käsku ".recover".
  • Täiustatud päringuplaneerija jõudlus. Piirangud eemaldati indeksite kasutamisel enam kui 63 veeruga tabelitega (varem ei rakendatud indekseerimist toimingutele veergudega, mille järjekorraarv ületas 63). Avaldistes kasutatavate väärtuste täiustatud indekseerimine. Peatati suurte stringide ja plekkide laadimine kettalt operaatorite NOT NULL ja IS NULL töötlemisel. Välistatud on selliste vaadete materialiseerimine, mille täielikku skannimist tehakse ainult üks kord.
  • Koodibaasis kasutatakse tüübi "char *" asemel failinimede tähistamiseks eraldi tüüpi sqlite3_filename.
  • Lisatud sisemine funktsioon sqlite3_value_encoding().
  • Lisati režiim SQLITE_DBCONFIG_DEFENSIVE, mis keelab salvestusskeemi versiooni muutmise.
  • Parameetri "PRAGMA integrity_check" juurutamisele on lisatud täiendavad kontrollid. Näiteks tabelid, millel pole atribuuti STRICT, ei tohi sisaldada veergudes TEXT arvväärtusi ja NUMERIC veergudes numbreid sisaldavaid stringiväärtusi. Lisatud on ka ridade järjekorra õigsuse kontroll tabelites atribuudiga "ILMA RAVIDA".
  • Avaldis "VACUUM INTO" järgib "PRAGMA synchronous" sätteid.
  • Mälu eraldamisel ploki suuruse piiramiseks lisati ehitusvalik SQLITE_MAX_ALLOCATION_SIZE.
  • SQLite'i sisseehitatud pseudojuhuslike arvude genereerimise algoritm on viidud RC4 voošifri kasutamise asemel Chacha20-sse.
  • Erinevates andmeskeemides on lubatud kasutada sama nimega indekseid.
  • Toimivust on optimeeritud, et vähendada CPU koormust umbes 1% võrra tüüpilise tegevuse ajal.

Allikas: opennet.ru

Lisa kommentaar