SQLite 3.53.0

SQLite 3.53.0 SQLite 3.53.0

Op 9 april is versie 3.53.0 van de compacte cross-platform ingebedde database uitgerold. SQLiteHet project is geschreven in C en wordt verspreid als openbaar domein.

Wijzigingen:

  • Een fout is verholpen. WAL-reset database corruptie fout.Zie het vorige nieuws. SQLite 3.51.3 met een correctie voor mogelijke databasebeschadiging in WAL-modus.
  • Een bibliotheek voor het formatteren van SQL-queryresultaten is toegevoegd. Query Result Formatter (QRF) voor beter leesgemak op het scherm met een monospaced lettertype.
  • De methode format aan TCL-interface voor toegang tot QRF vanuit TCL.
    • QRF wordt nu gebruikt in de consoletool sqlite voor het formatteren van queryresultaten, wat de weergave heeft verbeterd.
  • Nieuwe mogelijkheden van de SQL-taal:
    • De mogelijkheden van de opdracht zijn verbeterd ALTER TABLE voor de mogelijkheid om NOT NULL- en CHECK-beperkingen toe te voegen en te verwijderen.
    • Operator REINDEX EXPRESSIONS herindexeert de indexen van expressies. Handig voor het herstellen van verv oude indexen van expressies..
    • Nu TEMP-triggers kunnen gegevens wijzigen en/of opvragen uit tabellen van het hoofdschema.
    • De opdracht is verbeterd VACUUM INTO: als een URI-bestandsnaam met het verzoekparameter reserve=N (waarbij N een getal van 0 tot 255 is) als bestemmingsadres wordt gebruikt, wordt het gereserveerde volume voor de aangemaakte databasekopie ingesteld op N.
  • Nieuwe SQL-functies zijn toegevoegd:
  • Updates in de consoletool.:
    • Significante verbeteringen van de opdracht .mode.
    • Dankzij uitbreiding van QRF is verbeterd in het formatteren van resultaten. Bijvoorbeeld, getallen worden nu standaard rechts uitgelijnd in de tabelweergave..
    • Standaard wordt QRF nu gebruikt bij interactieve operaties in de consoletool om queryresultaten weer te geven in blokken die zijn gevormd met Unicode-bloktekening symbolen, wat de leesbaarheid heeft verhoogd. Het verouderde uitvoerformaat wordt gebruikt bij batchuitvoering van opdrachten voor compatibiliteit.
    • Enkele (niet tussen aanhalingstekens) puntkomma's aan het einde van opdrachten met een punt worden zonder waarschuwing genegeerd. Dit is een mogelijke incompatibiliteit!
    • De opdrachten .testcase en .check zijn verbeterd. Ze functioneren nu correct en worden gebruikt in scripts die deel uitmaken van de standaard SQLite-testset in de bronncodes.
    • Opdrachtregelargumenten die overeenkomen met sjablonen *.sql of *.txt en niet-lege bestandsnamen zijn, worden gelezen en geïnterpreteerd als scripts die SQL-opdrachtgevers en/of [punten commando's] bevatten.https://sqlite.org/cli.html#dotcmd).
    • Nu kan het argument once voor de .timer-opdracht worden opgegeven, zodat de timer alleen wordt geactiveerd bij de volgende SQL-opdracht.
    • De nieuwe parameter —timeout S van de .progress-opdracht leidt tot het onderbreken van SQL-query's na S seconden.
    • De .indexes-opdracht is gewijzigd, zodat het argument PATTERN nu overeenkomt met de naam van de index in plaats van de naam van de geïndexeerde tabel (waardoor het argument PATTERN daadwerkelijk nuttig is geworden). Bovendien zijn er verschillende nieuwe opties aan de .indexes-opdracht toegevoegd.
  • Verbeteringen in de C API:
  • Verbeteringen van de queryplanner:
    • Voor EXCEPT, INTERSECT en UNION wordt altijd de sorteermethode gebruikt, aangezien deze bijna altijd sneller is dan het gebruik van hash-tabellen.
    • Verbeteringen in de selectie-mechanismen van de join volgorde bij grote multikantige joins in een stervormig schema.
    • De optimalisatie van het omzetten van EXISTS in JOIN is verbeterd, zodat de toegewijde JOIN-voorwaarden niet noodzakelijk in de interne lussen hoeven te zijn, op voorwaarde dat alle afhankelijkheden voor de lussen die EXISTS in JOIN omzetten zich in de externe lussen bevinden.
    • De optimalisatie van omit-noop-join is verbeterd, zodat het ketens van joins kan overslaan die geen invloed hebben op het resultaat.
    • Optimalisatie van query's die GROUP BY e1 ORDER BY e2 gebruiken, waarbij e1 en e2 identiek zijn, behalve de sorteervolgorde ASC/DESC, met behulp van één index.
    • Optimalisatie van de DISTINCT-opdracht in virtuele tabellen wanneer de resultset van de query niet volledig voldoet aan de ORDER BY-voorwaarde.
  • In sessie-uitbreiding Nieuwe interfaces toegevoegd die de applicatie in staat stellen om wijzigingen één voor één toe te voegen aan het object sqlite3_changegroup:
  • Verbeteringen in de conversie van drijvende komma-getallen ↔ tekst.
    • Code volledig herschreven voor betere prestaties.
    • Ronding gebeurt nu standaard tot 17 significante cijfers in plaats van 15, zoals voorheen in alle vorige versies. Dit aantal kan, indien nodig, worden gewijzigd met behulp van de functie sqlite3_db_config met de optie SQLITE_DBCONFIG_FP_DIGITS (zie punt 6g hierboven).
  • De mogelijkheid is toegevoegd om Zelfherstellend index om het probleem op te lossen verv oude indexen van expressies..
  • In de consoletool sqlite3_rsync is optie -p|—port toegevoegd.
  • Ondersteuning voor Windows RT.
  • JavaScript/WASM
    • Er is VFS opfs-wl toegevoegd, functioneel identiek aan opfs, maar gebruikt Web Locks voor vergrendelingen, waardoor een eerlijkere distributie van vergrendelingen mogelijk is dan in het opfs-protocol. opfs-wl vereist de functie Atomics.waitAsync(), dus voor gebruik zijn nieuwere browserversies nodig dan voor opfs.

Bron: linux.org.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster