SQLite 3.40 version

Utgivningen av SQLite 3.40, ett lätt DBMS designat som ett plugin-bibliotek, har publicerats. SQLite-koden distribueras i den offentliga domänen, d.v.s. kan användas utan begränsningar och gratis för alla ändamål. Ekonomiskt stöd till SQLite-utvecklare tillhandahålls av ett speciellt skapat konsortium, som inkluderar företag som Adobe, Oracle, Mozilla, Bentley och Bloomberg.

Huvudändringar:

  • Implementerade den experimentella förmågan att kompilera SQLite till en mellanliggande WebAssembly-kod som kan köras i en webbläsare och är lämplig för att organisera arbetet med databasen från webbapplikationer i JavaScript-språket. Webbutvecklare är försedda med ett objektorienterat gränssnitt på hög nivå för att arbeta med data i stil med sql.js eller Node.js, omslutande ett lågnivå C API, och ett API baserat på Web Worker-mekanismen som låter dig för att skapa asynkrona hanterare som körs på separata trådar. Data som webbapplikationer lagrar i WASM-versionen av SQLite kan lagras på klientsidan med OPFS (Origin-Private FileSystem) eller window.localStorage API.
  • Återställningstillägget har lagts till, utformat för att återställa data från skadade filer från databasen. Kommandoradsgränssnittet använder kommandot ".recover" för att återställa.
  • Förbättrad prestanda för frågeplanerare. Restriktioner har tagits bort vid användning av index med tabeller med fler än 63 kolumner (tidigare tillämpades inte indexering för operationer med kolumner vars ordningsnummer översteg 63). Förbättrad indexering av värden som används i uttryck. Slutade ladda stora strängar och blobbar från disken vid bearbetning av operatorerna NOT NULL och IS NULL. Uteslut materialisering av vyer för vilka en fullständig skanning endast utförs en gång.
  • I kodbasen, istället för att använda typen "char *", används en separat sqlite3_filename-typ för att representera filnamn.
  • Lade till sqlite3_value_encoding() intern funktion.
  • Lade till läget SQLITE_DBCONFIG_DEFENSIVE, som förbjuder ändring av lagringsschemaversionen.
  • Ytterligare kontroller har lagts till i implementeringen av parametern "PRAGMA integrity_check". Till exempel får tabeller utan STRICT-attributet inte innehålla numeriska värden i TEXT-kolumner och strängvärden med siffror i NUMERIC-kolumner. Även lagt till kontrollera korrektheten av ordningen på rader i tabeller med tecknet "UTAN ROWID".
  • Uttrycket "VACUUM INTO" respekterar inställningarna för "PRAGMA synchronous".
  • Lade till byggalternativet SQLITE_MAX_ALLOCATION_SIZE för att begränsa storleken på block vid allokering av minne.
  • Algoritmen för att generera pseudoslumptal inbyggd i SQLite har flyttats från att använda RC4-strömchifferet till Chacha20.
  • Det är tillåtet att använda index med samma namn i olika datascheman.
  • Prestandaoptimeringar har gjorts för att minska belastningen på CPU:n med cirka 1 % under normal aktivitet.

Källa: opennet.ru

Lägg en kommentar