SQLite 3.40 laidiens

Ir publicēts SQLite 3.40, viegla DBVS, kas izstrādāta kā spraudņu bibliotēka, izlaidums. SQLite kods tiek izplatīts publiskajā domēnā, t.i. var izmantot bez ierobežojumiem un bez maksas jebkuram mērķim. Finansiālu atbalstu SQLite izstrādātājiem nodrošina īpaši izveidots konsorcijs, kurā ietilpst tādi uzņēmumi kā Adobe, Oracle, Mozilla, Bentley un Bloomberg.

Galvenās izmaiņas:

  • Ieviesta eksperimentāla iespēja SQLite kompilēt WebAssembly starpkodā, kas var darboties tīmekļa pārlūkprogrammā un ir piemērots darba organizēšanai ar datubāzi no tīmekļa lietojumprogrammām JavaScript valodā. Tīmekļa izstrādātājiem tiek nodrošināts augsta līmeņa objektorientēts interfeiss darbam ar datiem sql.js vai Node.js stilā, ietīšana zema līmeņa C API un API, kuras pamatā ir Web Worker mehānisms, kas ļauj jums lai izveidotu asinhronus apdarinātājus, kas darbojas uz atsevišķiem pavedieniem. Datus, ko tīmekļa lietojumprogrammas glabā SQLite WASM versijā, var saglabāt klienta pusē, izmantojot OPFS (Origin-Private FileSystem) vai window.localStorage API.
  • Ir pievienots atkopšanas paplašinājums, kas paredzēts datu atkopšanai no bojātiem failiem no datu bāzes. Komandrindas saskarne atjaunošanai izmanto komandu ".recover".
  • Uzlabota vaicājumu plānotāja veiktspēja. Ierobežojumi tika noņemti, izmantojot indeksus ar tabulām ar vairāk nekā 63 kolonnām (iepriekš indeksēšana netika piemērota operācijām ar kolonnām, kuru kārtas skaits pārsniedza 63). Uzlabota izteiksmēs izmantoto vērtību indeksēšana. Apstrādājot operatorus NOT NULL un IS NULL, no diska tika pārtraukta lielu virkņu un blobu ielāde. Izslēgta tādu skatu materializācija, kuriem pilna skenēšana tiek veikta tikai vienu reizi.
  • Kodu bāzē tā vietā, lai izmantotu veidu "char *", failu nosaukumu attēlošanai tiek izmantots atsevišķs sqlite3_filename tips.
  • Pievienota sqlite3_value_encoding() iekšējā funkcija.
  • Pievienots režīms SQLITE_DBCONFIG_DEFENSIVE, kas aizliedz mainīt krātuves shēmas versiju.
  • Parametra "PRAGMA integrity_check" ieviešanai ir pievienotas papildu pārbaudes. Piemēram, tabulās bez atribūta STRICT nedrīkst būt skaitliskās vērtības kolonnās TEXT un virknes vērtības ar skaitļiem SKAITĻU kolonnās. Pievienota arī rindu secības pareizības pārbaude tabulās ar zīmi "BEZ RINDAS".
  • Izteiciens "VACUUM INTO" respektē "PRAGMA synchronous" iestatījumus.
  • Pievienota veidošanas opcija SQLITE_MAX_ALLOCATION_SIZE, lai ierobežotu bloka lielumu, piešķirot atmiņu.
  • SQLite iebūvētais pseidogadījuma skaitļu ģenerēšanas algoritms ir pārvietots no RC4 straumes šifra izmantošanas uz Chacha20.
  • Dažādās datu shēmās ir atļauts izmantot indeksus ar vienādu nosaukumu.
  • Veiktspējas optimizācija ir veikta, lai parastās darbības laikā samazinātu CPU slodzi par aptuveni 1%.

Avots: opennet.ru

Pievieno komentāru