Udgivelse af SQLite 3.40

SQLite 3.40 er blevet offentliggjort, et letvægts database-system, der er udformet som et tilslutningsbibliotek. Koden til SQLite distribueres som public domain, dvs. den kan anvendes uden begrænsninger og gratis til alle formål. Den finansielle støtte til udviklerne af SQLite leveres af et specielt dannet konsortium, der inkluderer virksomheder som Adobe, Oracle, Mozilla, Bentley og Bloomberg.

Vigtige ændringer:

  • Der er implementeret en eksperimentel funktion til at kompilere SQLite til WebAssembly-mellemkode, der kan køres i en web-browser og er velegnet til at organisere databasearbejde fra web-applikationer i JavaScript. Web-udviklere får en højere niveau objektorienteret grænseflade til at arbejde med data i stil med sql.js eller Node.js, en wrapper over det lavniveau C API og et API baseret på Web Worker-mekanismen, der muliggør oprettelse af asynkrone behandlere, der kører i separate tråde. Data, som web-applikationer gemmer i WASM-versionen af SQLite, kan gemmes på klientsiden ved hjælp af OPFS (Origin-Private FileSystem) eller API window.localStorage.
  • En recovery-udvidelse er blevet tilføjet, der er designet til at genskabe data fra beskadigede databasefiler. Kommandoen «.recover» bruges i kommandolinjegrænsefladen til at genskabe data.
  • Forbedret forespørgselsplanlæggerens funktionalitet. Begrænsningerne ved brug af indekser med tabeller, der har mere end 63 kolonner, er fjernet (tidligere blev indeksering ikke brugt ved operationer på kolonner, hvis rækkefølgeoverskriften var over 63). Indekseringen af værdier, der anvendes i udtryk, er forbedret. Indlæsning af store strenge og blobs fra disk er stoppet ved behandling af NOT NULL- og IS NULL-operatorer. Materialisering af visninger, der kun udføres med én fuld scanning, er udelukket.
  • I kodebasen er der blevet anvendt en separat datatype sqlite3_filename i stedet for typen «char *» til repræsentation af filnavne.
  • Den interne funktion sqlite3_value_encoding() er blevet tilføjet.
  • Tilstand SQLITE_DBCONFIG_DEFENSIVE er blevet tilføjet, der forhindrer ændringer i versionsschemaet for lagringsdata.
  • Implementeringen af parameteren «PRAGMA integrity_check» har fået tilføjet yderligere tjek. For eksempel må tabeller uden betegnelsen STRICT ikke indeholde numeriske værdier i kolonner af typen TEXT og strenge værdier med tal i kolonner af typen NUMERIC. Der er også blevet tilføjet en kontrol af rækkefølgen for rækker i tabeller med betegnelsen «WITHOUT ROWID».
  • I udtrykket «VACUUM INTO» er indstillingerne for «PRAGMA synchronous» taget i betragtning.
  • Der er tilføjet en kompileringsindstilling SQLITE_MAX_ALLOCATION_SIZE, som gør det muligt at begrænse størrelsen af blokke ved hukommelsesallokering.
  • Den indbyggede algoritme til generering af pseudotilfældige tal i SQLite er ændret fra brugen af strømmechiffret RC4 til Chacha20.
  • Det er tilladt at bruge indekser med identiske navne i forskellige dataskemaer.
  • Der er foretaget præstationsoptimeringer, som har reduceret belastningen på CPU'en med cirka 1% under typisk aktivitet.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster