SQLite 3.40 release

De frijlitting fan SQLite 3.40, in lichtgewicht DBMS ûntworpen as in plug-in bibleteek, is publisearre. De SQLite-koade wurdt ferspraat yn it publike domein, d.w.s. kin brûkt wurde sûnder beheiningen en fergees foar elk doel. Finansjele stipe foar SQLite-ûntwikkelders wurdt levere troch in spesjaal makke konsortium, dat bedriuwen lykas Adobe, Oracle, Mozilla, Bentley en Bloomberg omfettet.

Grutte feroaringen:

  • In eksperimintele funksje is ymplementearre om SQLite te kompilearjen yn WebAssembly-tuskenkoade, yn steat om te rinnen yn in webblêder en geskikt foar it organisearjen fan wurk mei de databank fan webapplikaasjes yn JavaScript. Webûntwikkelders wurde foarsjoen fan in heech nivo objekt-oriïntearre ynterface foar it wurkjen mei gegevens yn 'e styl fan sql.js of Node.js, in bining oer de leech-nivo C API en in API basearre op it Web Worker-meganisme, wêrtroch't it mooglik makket jo om asynchrone handlers te meitsjen útfierd yn aparte diskusjes. Gegevens dy't webapplikaasjes opslaan yn 'e WASM-ferzje fan SQLite kinne wurde opslein op' e kliïntside mei OPFS (Origin-Private FileSystem) of de window.localStorage API.
  • Herstel-útwreiding tafoege, ûntworpen om gegevens te herstellen fan beskeadige bestannen út 'e database. Yn 'e kommandorigelynterface wurdt it kommando ".recover" brûkt foar herstel.
  • Ferbettere prestaasjes fan queryplanner. Beperkingen binne fuortsmiten by it brûken fan yndeksen mei tabellen mei mear as 63 kolommen (earder waard yndeksearring net tapast as operaasjes mei kolommen wêrfan it rintenûmer mear as 63 is). Ferbettere yndeksearring fan wearden brûkt yn útdrukkingen. Stopte it laden fan grutte snaren en blobs fan skiif by it ferwurkjen fan de operators NOT NULL en IS NULL. De materialisaasje fan werjeften wêrfoar mar ien kear in folsleine scan wurdt útfierd is útsletten.
  • Yn 'e codebase, ynstee fan it type "char *", wurdt in apart type sqlite3_filename brûkt om bestânsnammen te fertsjintwurdigjen.
  • Ynterne funksje tafoege sqlite3_value_encoding ().
  • Added SQLITE_DBCONFIG_DEFENSIVE modus, dy't ferbiedt feroarjen fan de gegevens opslach skema ferzje.
  • Oanfoljende kontrôles binne tafoege oan de ymplemintaasje fan 'e parameter "PRAGMA integrity_check". Bygelyks, tabellen sûnder it STRICT-attribút meie gjin numerike wearden befetsje yn kolommen fan type TEXT en tekenrige wearden mei nûmers yn kolommen fan type NUMERIC. Ek tafoege is in kontrôle foar de juste folchoarder fan rigen yn tabellen mei it attribút "WITHOUT ROWID".
  • De "VACUUM INTO" útdrukking hâldt rekken mei de "PRAGMA synchronous" ynstellings.
  • Added assembly opsje SQLITE_MAX_ALLOCATION_SIZE, wêrtroch jo de grutte fan blokken kinne beheine by it tawizen fan ûnthâld.
  • SQLite's ynboude algoritme foar generaasje fan pseudo-willekeurich nûmers is ferpleatst fan it brûken fan it RC4-streamsiffer nei Chacha20.
  • It is tastien om yndeksen te brûken mei deselde nammen yn ferskate gegevensskema's.
  • Prestaasjeoptimalisaasjes binne makke om CPU-lading mei sawat 1% te ferminderjen tidens typyske aktiviteit.

Boarne: opennet.ru

Add a comment