SQLite 3.40 udgivelse

Udgivelsen af ​​SQLite 3.40, et letvægts DBMS designet som et plug-in bibliotek, er blevet offentliggjort. SQLite-koden distribueres i det offentlige domæne, dvs. kan bruges uden begrænsninger og gratis til ethvert formål. Økonomisk støtte til SQLite-udviklere ydes af et specielt oprettet konsortium, som omfatter virksomheder som Adobe, Oracle, Mozilla, Bentley og Bloomberg.

Vigtigste ændringer:

  • En eksperimentel funktion er blevet implementeret til at kompilere SQLite til WebAssembly mellemkode, der er i stand til at køre i en webbrowser og egnet til at organisere arbejde med databasen fra webapplikationer i JavaScript. Webudviklere er forsynet med en objektorienteret grænseflade på højt niveau til at arbejde med data i stil med sql.js eller Node.js, en binding over lavniveau C API og en API baseret på Web Worker-mekanismen, som tillader dig til at oprette asynkrone handlere udført i separate tråde. Data, som webapplikationer gemmer i WASM-versionen af ​​SQLite, kan gemmes på klientsiden ved hjælp af OPFS (Origin-Private FileSystem) eller window.localStorage API.
  • Tilføjet gendannelsesudvidelse, designet til at gendanne data fra beskadigede filer fra databasen. I kommandolinjegrænsefladen bruges kommandoen ".recover" til gendannelse.
  • Forbedret ydelse af forespørgselsplanlægning. Begrænsninger er blevet fjernet ved brug af indekser med tabeller med mere end 63 kolonner (tidligere blev indeksering ikke anvendt ved operationer med kolonner, hvis ordenstal overstiger 63). Forbedret indeksering af værdier brugt i udtryk. Stoppet med at indlæse store strenge og klatter fra disken under behandling af operatorerne NOT NULL og IS NULL. Materialisering af visninger, for hvilke der kun udføres en fuld scanning én gang, er udelukket.
  • I kodebasen, i stedet for "char *"-typen, bruges en separat type sqlite3_filename til at repræsentere filnavne.
  • Tilføjet intern funktion sqlite3_value_encoding().
  • Tilføjet SQLITE_DBCONFIG_DEFENSIVE-tilstand, som forbyder ændring af datalagringsskemaversionen.
  • Yderligere kontroller er blevet tilføjet til implementeringen af ​​parameteren "PRAGMA integrity_check". For eksempel må tabeller uden STRICT-attributten ikke indeholde numeriske værdier i kolonner af typen TEXT og strengværdier med tal i kolonner af typen NUMERIC. Der tilføjes også en kontrol for den korrekte rækkefølge af rækker i tabeller med attributten "WITHOUT ROWID".
  • Udtrykket "VACUUM INTO" tager højde for indstillingerne "PRAGMA synchronous".
  • Tilføjet samlingsmulighed SQLITE_MAX_ALLOCATION_SIZE, som giver dig mulighed for at begrænse størrelsen af ​​blokke ved allokering af hukommelse.
  • SQLites indbyggede pseudo-tilfældige talgenereringsalgoritme er blevet flyttet fra at bruge RC4-streamchifferet til Chacha20.
  • Det er tilladt at bruge indekser med de samme navne i forskellige dataskemaer.
  • Ydeevneoptimeringer er blevet foretaget for at reducere CPU-belastningen med cirka 1 % under typisk aktivitet.

Kilde: opennet.ru

Tilføj en kommentar