SQLite 3.53.0

SQLite 3.53.0 SQLite 3.53.0

Den 9. april blev version 3.53.0 af den kompakte, tværplatforme indlejrede database management system (DBMS) udgivet. SQLite. Projektkoden er skrevet i C og distribueres som public domain.

Ændringer:

  • Fejl rettet WAL-reset database korrumpering fejl. Se den tidligere nyhed SQLite 3.51.3 med en rettelse til en potentiel databasebeskadigelse i WAL-tilstand.
  • Tilføjet bibliotek til formatering af SQL-forespørgselsresultater Query Result Formatter (QRF) for at sikre læsevenlighed på skærmen med fast bredde skrifttype.
  • En metode er tilføjet format pull-requesten på GitHub TCL-grænsefladen for at få adgang til QRF fra TCL.
    • QRF bruges nu i kommandolinjeværktøjet sqlite til at formatere forespørgselsresultater, hvilket forbedrer deres visning.
  • Nye funktioner i SQL:
    • Forbedret kommandoen ALTER TABLE for at muliggøre tilføjelse og fjernelse af NOT NULL og CHECK begrænsninger.
    • Operator REINDEX EXPRESSIONS udfører reindeksering af udtryksindekser. Nyttig til genopretning forældede udtryksindekser.
    • Now TEMP triggers kan ændre og/eller forespørge data fra hovedskemaets tabeller.
    • Forbedret kommandoen VACUUM INTO: hvis den bruges som destinationsadresse for et filnavn i URI-format, der indeholder forespørgselsparameteren reserve=N (hvor N er et tal fra 0 til 255), sættes mængden af reservering for den oprettede kopi af databasen til N.
  • Nye SQL-funktioner tilføjet:
  • Opdateringer i kommandolinjeværktøjet:
    • Betydelige forbedringer i kommandoen .mode.
    • Takket være QRF-udvidelsen forbedret resultatformattering. For eksempel justeres tal nu til højre som standard i tabeludskrivning.
    • Som standard bruges QRF nu under interaktiv brug af kommandolinjeværktøjet til at vise forespørgselsresultater i blokke dannet med Unicode bloktegnesymboler, hvilket har forbedret læsbarheden. Den forældede udskrivningsformat bruges ved batchudførelse af kommandoer for at sikre kompatibilitet.
    • Enkelt (ikke-omsluttede i citationstegn) semikolon i slutningen kommandoer med punkt ignoreres uden advarsel. Dette kan føre til inkompatibilitet!
    • Kommandoerne .testcase og .check er rettet. De fungerer nu faktisk og bruges i scripts, der er en del af det standard testkit for SQLite, der følger med kildeteksten.
    • Kommando arguments, der matcher mønstrene *.sql eller *.txt og repræsenterer navne på ikke-tomme filer, læses og fortolkes som scripts, der indeholder SQL-operatører og/eller [kommandoer med punkt]((https://sqlite.org/cli.html#dotcmd).
    • Nu kan .timer kommandoen tage 'once' som argument for at aktivere timeren kun ved udførelsen af den næste SQL-forespørgsel.
    • Den nye parameter —timeout S i .progress kommandoen medfører, at SQL-forespørgsler afbrydes efter S sekunder.
    • .indexes kommandoen er ændret, så argumentet PATTERN nu matcher navnet på indekset i stedet for navnet på den indekserede tabel (hvilket gør, at argumentet PATTERN nu er virkelig nyttigt). Desuden er der tilføjet flere nye muligheder til .indexes kommandoen.
  • Forbedringer i C API:
  • Forbedringer i forespørgselsplanlæggeren:
    • For EXCEPT, INTERSECT og UNION anvendes altid sorterings- og sammensmeltning algoritmen, da den næsten altid fungerer hurtigere end brugen af hash-tabeller.
    • Forbedringer i mekanismen til valg af join rækkefølge ved udførelse af store, flerlede forbindelser i stjerneopstillingen.
    • Optimering af konvertering af EXISTS til JOIN er blevet forbedret, så indlagte join-betingelser ikke nødvendigvis skal befinde sig i de indre løkker, så længe alle afhængigheder til løkkerne for konvertering af EXISTS til JOIN findes i de ydre løkker.
    • Optimering af omit-noop-join, så den kan springe en kæde af forbindelser over, der ikke påvirker resultatet.
    • Optimering af forespørgsler, der bruger GROUP BY e1 ORDER BY e2, hvor e1 og e2 er ens, undtagen rækkefølge af sorteringen ASC/DESC, ved hjælp af et enkelt indeks.
    • Optimering af DISTINCT operatoren i virtuelle tabeller i de tilfælde, hvor resultatmængden fra forespørgslen ikke helt svarer til betingelsen ORDER BY.
  • I sessionsudvidelse nye grænseflader er blevet tilføjet, der gør det muligt for applikationen at tilføje ændringer enkeltvis til sqlite3_changegroup objektet:
  • Forbedringer i konvertering mellem flydende tal ↔ tekst.
    • Koden er fuldstændig omskrevet for at forbedre ydeevnen.
    • Nu rundes der som standard op til 17 signifikante cifre i stedet for 15, som det var i alle tidligere versioner. Dette tal kan ændres ved hjælp af funktionen sqlite3_db_config med indstillingen SQLITE_DBCONFIG_FP_DIGITS (se punkt 6g ovenfor).
  • Muligheden for selvgenoprettelse af indeks for at løse problemet. forældede udtryksindekser.
  • I kommandolinjeværktøjet sqlite3_rsync tilføjet indstillingen -p|—port.
  • Supporten til Windows RT.
  • JavaScript/WASM
    • VFS opfs-wl er tilføjet, funktionsmæssigt identisk med opfs, men bruger Web Locks til låsninger, hvilket muliggør en mere retfærdig fordeling af låsninger end i opfs-protokollen. opfs-wl kræver funktionen Atomics.waitAsync(), så nyere versioner af browsere er nødvendige for at få det til at fungere sammenlignet med opfs.

Kilde: linux.org.ru

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