Release van database SQLite 3.45

De release van SQLite 3.45 is gepubliceerd, een lichte databasebeheersysteem (DBMS) dat wordt aangeboden als een koppelbare bibliotheek. De code van SQLite is beschikbaar als openbaar domein, wat betekent dat deze zonder beperkingen en gratis voor elk doel kan worden gebruikt. De financiële ondersteuning voor de ontwikkelaars van SQLite wordt verzorgd door een speciaal opgericht consortium, dat bedrijven omvat zoals Bentley, Bloomberg, Expensify en Navigation Data Standard.

Belangrijkste wijzigingen:

  • Alle SQL-functies voor het werken met het JSON-formaat zijn herschreven en vertaald naar een nieuw intern JSONB-parsingsformaat, dat geserialiseerd kan worden en in de database kan worden opgeslagen om herhaling van parsing bij het gebruik van JSON-waarden te vermijden. Nieuwe versies van de functies die JSON genereren, produceren nu het binaire formaat JSONB in plaats van tekst. Een optioneel tweede argument is toegevoegd aan de functie json_valid(), waarmee een bitmasker kan worden opgegeven dat de kenmerken van geldige JSON definieert (bijvoorbeeld, met 0x04 wordt een JSONB-blok als geldig beschouwd, met 0x01 wordt tekst JSON in RFC-8259-formaat als geldig beschouwd, en met 0x05 beide versies).
  • De virtuele tabel FTS5, die wordt gebruikt voor full-text search, heeft de optie tokendata gekregen, waarmee eigen tokenizers kunnen worden gebruikt.
  • De optimalisatie SQLITE_DIRECT_OVERFLOW_READ is standaard ingeschakeld, waarbij overflow-pagina's, die groter zijn dan de standaard b-tree pagina-grootte, rechtstreeks uit het bestand worden gelezen, waarbij de cache wordt omzeild. Om deze functie bij het bouwen uit te schakelen, kan de optie '-DSQLITE_DIRECT_OVERFLOW_READ=0' worden gebruikt.
  • De efficiëntie van de optimalisatie van transitive constraints in de query-planner is verbeterd, evenals het negeren van indexen die als van lage kwaliteit zijn beschouwd tijdens de uitvoer van de ANALYZE-operatie.
  • De commandoregelinterface heeft een verbeterde weergave van inhoud in UTF-8-codering op het Windows-platform gekregen. Automatische detectie van het gebruik van de CLI-interface bij het afspelen van '.dump'-scripts is mogelijk gemaakt, en de betreffende instellingen zoals '.dbconfig defensive off' en '.dbconfig dqs_dll on' zijn aangepast.
  • In de op applicatieniveau gedefinieerde SQL-functies is de eigenschap SQLITE_RESULT_SUBTYPE toegevoegd, waarmee kan worden aangeroepen uit de functie sqlite3_result_subtype() om de subtypen van argumenten te inspecteren.

Daarnaast kan worden opgemerkt dat in de experimentele builds van SQLite een nieuwe modus voor transactioneel loggen is ontwikkeld — WAL2 («PRAGMA journal_mode = wal2»), waarbij twee wal-bestanden («database-wal» en «database-wal2») in plaats van één worden gebruikt. Bij het schrijven van gegevens naar de database worden nieuwe gegevens aan het eerste wal-bestand toegevoegd. Als het eerste wal-bestand een voldoende grote grootte bereikt, wordt er overgeschakeld naar het tweede bestand. Na de omschakeling naar het tweede wal-bestand, wordt het eerste beschikbaar voor het vastleggen van wijzigingen (checkpoint) en overschrijving. Dienovereenkomstig, wanneer het tweede wal-bestand een grote grootte bereikt, wordt er weer overgeschakeld naar het eerste, enzovoorts, waardoor het probleem van ongecontroleerde groei van het wal-bestand wordt opgelost in situaties waarin lange tijd geen transacties worden vastgelegd of wanneer langdurige leesprocessen worden uitgevoerd.

Bron: opennet.ru

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