SQLite 3.45 veröffentlicht

Die Veröffentlichung von SQLite 3.45, einer leichtgewichtigen Datenbank, die als dynamische Bibliothek bereitgestellt wird, wurde bekannt gegeben. Der Code von SQLite wird als Gemeineigentum (public domain) verbreitet, d.h. er kann ohne EinschrĂ€nkungen und kostenlos zu allen Zwecken verwendet werden. Die finanzielle UnterstĂŒtzung der SQLite-Entwickler erfolgt durch ein eigens gegrĂŒndetes Konsortium, zu dem Unternehmen wie Bentley, Bloomberg, Expensify und Navigation Data Standard gehören.

HauptÀnderungen:

  • Alle SQL-Funktionen zur Arbeit mit dem JSON-Format wurden ĂŒberarbeitet und auf ein neues internes Format des JSONB-Parsers umgestellt, das serialisiert werden kann und in der Datenbank gespeichert wird, um eine wiederholte Analyse bei der Verwendung von JSON-Werten zu vermeiden. Neue Versionen der JSON-generierenden Funktionen erzeugen jetzt ein binĂ€res JSONB-Format anstelle eines Textformats. Der Funktion json_valid() wurde ein optionales zweites Argument hinzugefĂŒgt, ĂŒber das eine Bitmaske angegeben werden kann, die die Merkmale eines gĂŒltigen JSON definiert (zum Beispiel gilt bei Angabe von 0x04 ein JSONB-Blob als gĂŒltig, bei 0x01 ein Text-JSON im RFC-8259-Format, und bei 0x05 sind beide Varianten gĂŒltig).
  • Der virtuellen Tabelle FTS5, die fĂŒr die Volltextsuche verwendet wird, wurde die Option tokendata hinzugefĂŒgt, die die Verwendung eigener Tokenizer ermöglicht.
  • StandardmĂ€ĂŸig ist die Optimierung SQLITE_DIRECT_OVERFLOW_READ aktiviert, bei der Overflow-Seiten, die grĂ¶ĂŸer sind als die StandardgrĂ¶ĂŸe einer B-Baum-Seite, direkt aus der Datei gelesen werden, wobei der Cache umgangen wird. Zum Deaktivieren bei der Kompilierung kann die Option "-DSQLITE_DIRECT_OVERFLOW_READ=0" verwendet werden.
  • Im Abfrageplaner wurde die Effizienz der Optimierung transitativer EinschrĂ€nkungen (transitive constraint) erhöht und das Ignorieren von Indizes verbessert, die bei der AusfĂŒhrung der Operation ANALYZE als minderwertig betrachtet werden.
  • Im Befehlszeilen-Interface wurde die Anzeige des Inhalts in UTF-8-Codierung auf der Windows-Plattform verbessert. Die automatische Erkennung der Verwendung des CLI-Interfaces beim AusfĂŒhren von „.dump“-Skripten wurde umgesetzt, und es wurden entsprechende Änderungen an den Einstellungen vorgenommen, wie „.dbconfig defensive off“ und „.dbconfig dqs_dll on“.
  • In den auf Anwendungsebene definierten SQL-Funktionen wurde die Eigenschaft SQLITE_RESULT_SUBTYPE hinzugefĂŒgt, die es ermöglicht, die Funktion sqlite3_result_subtype() zur Inspektion der Argumentuntertypen aufzurufen.

ZusĂ€tzlich kann die Entwicklung eines neuen Transaktionsprotokollmodus - WAL2 („PRAGMA journal_mode = wal2“), der in experimentellen SQLite-Bauten verwendet wird, hervorgehoben werden. Bei diesem Modus werden zwei wal-Dateien („database-wal“ und „database-wal2“) anstelle von einer verwendet. Beim Schreiben von Daten in die Datenbank werden neue Daten in die erste wal-Datei hinzugefĂŒgt. Wenn die erste wal-Datei eine ausreichende GrĂ¶ĂŸe erreicht, wird auf die zweite Datei umgeschaltet. Nach dem Umschalten auf die zweite wal-Datei wird die erste fĂŒr das Festschreiben von Änderungen (Checkpoint) und das Überschreiben verfĂŒgbar. Dementsprechend, wenn die zweite wal-Datei eine große GrĂ¶ĂŸe erreicht, wird wieder auf die erste umgeschaltet usw. Dies löst das Problem des unkontrollierten Wachstums der wal-Datei in Situationen, in denen Transaktionen lange nicht festgeschrieben werden oder langwierige Leseprozesse durchgefĂŒhrt werden.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster