Veröffentlichung der SQLite 3.51 DBMS

Die SQLite 3.51 Version wurde veröffentlicht, ein leichtgewichtiges DBMS, das als dynamische Bibliothek bereitgestellt wird. Der Code von SQLite wird als Public Domain veröffentlicht, d.h. er kann ohne EinschrĂ€nkungen und kostenlos fĂŒr beliebige Zwecke verwendet werden. Die finanzielle UnterstĂŒtzung fĂŒr die Entwickler von SQLite wird von einem eigens gegrĂŒndeten Konsortium geleistet.

Wesentliche Änderungen:

  • Neue JSON-Funktionen jsonb_each() und jsonb_tree() wurden hinzugefĂŒgt, die sich von den bisher verfĂŒgbaren Funktionen json_each() und json_tree() unterscheiden, da sie fĂŒr Daten mit den Typen Array oder Objekt JSONB-Werte zurĂŒckgeben.
  • Der Code der Erweiterungen carray und percentile wurde in die Hauptdatei „sqlite3.c“ mit dem integrierten SQLite-Code ĂŒbertragen. StandardmĂ€ĂŸig sind diese Erweiterungen deaktiviert und erfordern bei der Erstellung die Angabe der Parameter „-DSQLITE_ENABLE_CARRAY“ und „-DSQLITE_ENABLE_PERCENTILE“.
  • Die Schnittstelle fĂŒr die Nutzung von SQLite in Tcl-Skripten wurde verbessert. Der Befehl „eval“ erhielt die Option „-asdict“, um Strings im Typ „dict“ anstelle von „array“ darzustellen. Auch die Möglichkeit wurde hinzugefĂŒgt, benutzerdefinierte Funktionen zu unterbrechen, um NULL-Werte zurĂŒckzugeben.
  • Änderungen in der Befehlszeilenschnittstelle:
    • Die Genauigkeit des Befehls „.timer“ wurde auf Mikrosekunden erhöht;
    • In den Formatmodi „box“ und „column“ wurde die UnterstĂŒtzung fĂŒr Symbole mit doppelter Breite implementiert;
    • Der Befehl „.imposter“ kann jetzt nur im Nur-Lese-Modus Imposter-Tabellen bereitstellen (ermöglicht den Zugriff auf Daten im Index wie auf eine Tabelle), die mit der VACUUM-Operation arbeiten und nicht mit dem Flag „—unsafe-testing“ gestartet werden mĂŒssen;
    • Der sqlite-Befehl „.open“ hat die Option „—ifexists“ hinzugefĂŒgt.
    • Die maximale Zeichenbreite, die mit dem Befehl „.width“ festgelegt wird, ist auf 30.000 Zeichen beschrĂ€nkt.
  • Leistungsoptimierungen wurden vorgenommen:
    • Die CPU-Belastung bei Transaktionsfixierungen, die durch Lesezugriff eingeschrĂ€nkt sind, wurde reduziert;
    • Die Erkennung von Merge-Operationen (JOIN), die keine Zeilen zurĂŒckgeben, weil eine oder mehrere Tabellen keine Zeilen enthalten, wurde verbessert;
    • Die AusfĂŒhrung von skalaren Unterabfragen, die keinen Einfluss auf das Ergebnis haben, wurde ausgeschlossen;
    • Die Verarbeitung von Fensterfunktionen in Abfragen mit dem Ausdruck „BETWEEN 😡 FOLLOWING AND :y FOLLOWING“ und einem sehr großen Wert fĂŒr „:y“ wurde beschleunigt.
  • Es wurde die Pragmas „PRAGMA wal_checkpoint=NOOP“ und die API-Funktion sqlite3_wal_checkpoint() zur Fixierung von Änderungen im WAL-Log hinzugefĂŒgt.
  • Im API wurden die Funktionen sqlite3_set_errmsg() und sqlite3_db_status64() hinzugefĂŒgt.
  • In der JavaScript/WASM-Version von SQLite wurde die UnterstĂŒtzung fĂŒr den Build in WebAssembly mit 64-Bit-Pointern implementiert.
  • Die WiderstandsfĂ€higkeit gegen DatenbankbeschĂ€digungen in Anwendungen, die POSIX-Sperren ĂŒber den Close()-Aufruf entfernen, wurde erhöht.
  • Die PlattformunterstĂŒtzung fĂŒr VxWorks wurde verbessert.

Quelle: opennet.ru

ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen đŸ”„ ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster