SQLite 3.40 utgivelse

Utgivelsen av SQLite 3.40, et lett DBMS designet som et plug-in-bibliotek, har blitt publisert. SQLite-koden er distribuert i det offentlige domene, dvs. kan brukes uten begrensninger og gratis til ethvert formål. Økonomisk støtte til SQLite-utviklere gis av et spesielt opprettet konsortium, som inkluderer selskaper som Adobe, Oracle, Mozilla, Bentley og Bloomberg.

Hovedendringer:

  • Implementerte den eksperimentelle muligheten til å kompilere SQLite til en mellomliggende WebAssembly-kode som kan kjøres i en nettleser og er egnet for å organisere arbeid med databasen fra nettapplikasjoner i JavaScript-språket. Webutviklere er utstyrt med et objektorientert grensesnitt på høyt nivå for å arbeide med data i stil med sql.js eller Node.js, innpakning over et lavt nivå C API, og en API basert på Web Worker-mekanismen som lar deg å lage asynkrone behandlere som kjører på separate tråder. Dataene som nettapplikasjoner lagrer i WASM-versjonen av SQLite kan lagres på klientsiden ved hjelp av OPFS (Origin-Private FileSystem) eller window.localStorage API.
  • Gjenopprettingsutvidelsen er lagt til, designet for å gjenopprette data fra skadede filer fra databasen. Kommandolinjegrensesnittet bruker kommandoen ".recover" for å gjenopprette.
  • Forbedret ytelse for spørringsplanleggeren. Restriksjoner ble fjernet ved bruk av indekser med tabeller med mer enn 63 kolonner (tidligere ble indeksering ikke brukt for operasjoner med kolonner med ordningsnummer over 63). Forbedret indeksering av verdier brukt i uttrykk. Sluttet å laste inn store strenger og blobs fra disk under behandling av NOT NULL og IS NULL-operatorer. Ekskludert materialisering av visninger der en full skanning kun utføres én gang.
  • I kodebasen, i stedet for å bruke "char *"-typen, brukes en separat sqlite3_filename-type for å representere filnavn.
  • Lagt til sqlite3_value_encoding() intern funksjon.
  • Lagt til SQLITE_DBCONFIG_DEFENSIVE-modus, som forbyr endring av lagringsskjemaversjonen.
  • Ytterligere kontroller er lagt til implementeringen av parameteren "PRAGMA integrity_check". For eksempel må tabeller uten STRICT-attributtet ikke inneholde numeriske verdier i TEXT-kolonner og strengverdier med tall i NUMERIC-kolonner. Også lagt til sjekk riktigheten av rekkefølgen av rader i tabeller med tegnet "UTEN ROWID".
  • "VACUUM INTO"-uttrykket respekterer "PRAGMA synchronous"-innstillingene.
  • Lagt til SQLITE_MAX_ALLOCATION_SIZE byggealternativ for å begrense størrelsen på blokker ved tildeling av minne.
  • Algoritmen for å generere pseudo-tilfeldige tall innebygd i SQLite har blitt flyttet fra å bruke RC4-strømchifferet til Chacha20.
  • Det er tillatt å bruke indekser med samme navn i forskjellige dataskjemaer.
  • Ytelsesoptimaliseringer er gjort for å redusere belastningen på CPU-en med omtrent 1 % under typisk aktivitet.

Kilde: opennet.ru

Legg til en kommentar