Veröffentlichung der Datenbank SQLite 3.40

Die Version 3.40 von SQLite, einer leichtgewichtigen Datenbank-Management-System in Form einer dynamischen Bibliothek, wurde veröffentlicht. Der Code von SQLite ist als Public Domain lizenziert, das heißt, er kann ohne Einschränkungen und kostenlos für alle Zwecke verwendet werden. Die finanzielle Unterstützung der SQLite-Entwickler erfolgt durch ein speziell gegründetes Konsortium, zu dem Unternehmen wie Adobe, Oracle, Mozilla, Bentley und Bloomberg gehören.

Wesentliche Änderungen:

  • Es wurde eine experimentelle Möglichkeit zur Kompilierung von SQLite in WebAssembly-Zwischencode implementiert, der im Webbrowser ausgeführt werden kann und sich für die Arbeit mit Datenbanken in Webanwendungen mit JavaScript eignet. Webentwicklern wird eine hochgradig objektorientierte Schnittstelle im Stil von sql.js oder Node.js zur Verfügung gestellt, eine Wrapper über die niedrigstufige C-API und die API, die auf dem Web Worker-Mechanismus basiert. Dies ermöglicht die Erstellung von asynchronen Handlern, die in separaten Threads ausgeführt werden. Die Daten, die Webanwendungen in der WASM-Version von SQLite speichern, können auf der Client-Seite mittels OPFS (Origin-Private FileSystem) oder dem window.localStorage-API gesichert werden.
  • Eine Recovery-Erweiterung wurde hinzugefügt, die zur Wiederherstellung von Daten aus beschädigten Dateien von Datenbanken dient. In der Befehlszeilenoberfläche wird der Befehl „.recover“ für die Wiederherstellung verwendet.
  • Die Funktionsweise des Abfrageplaners wurde verbessert. Einschränkungen bei der Verwendung von Indizes mit Tabellen, die mehr als 63 Spalten haben, wurden aufgehoben (zuvor wurde bei Operationen mit Spalten, deren Seriennummer 63 überschritt, keine Indizierung angewendet). Die Indizierung von Werten, die in Ausdrücken verwendet werden, wurde optimiert. Das Laden großer Zeilen und Blobs von der Festplatte bei der Verarbeitung der Operatoren NOT NULL und IS NULL wurde eingestellt. Die Materialisierung von Ansichten, für die eine vollständige Prüfung nur einmal erfolgt, wurde ausgeschlossen.
  • In der Codebasis wurde anstelle des Typs „char *“ für die Darstellung von Dateinamen ein separater Typ sqlite3_filename verwendet.
  • Eine interne Funktion sqlite3_value_encoding() wurde hinzugefügt.
  • Der Modus SQLITE_DBCONFIG_DEFENSIVE wurde hinzugefügt, der Änderungen an der Version des Datenspeicherformats verbietet.
  • Der Parameter „PRAGMA integrity_check“ wurde um zusätzliche Prüfungen erweitert. Beispielsweise dürfen Tabellen ohne das Attribut STRICT keine numerischen Werte in Spalten vom Typ TEXT und keine Zeichenfolgen mit Zahlen in Spalten vom Typ NUMERIC enthalten. Zudem wurde die Überprüfung der korrekten Reihenfolge der Zeilen in Tabellen mit dem Attribut „WITHOUT ROWID“ hinzugefügt.
  • In dem Ausdruck „VACUUM INTO“ wurden die Einstellungen für „PRAGMA synchronous“ berücksichtigt.
  • Die Konfigurationsoption SQLITE_MAX_ALLOCATION_SIZE wurde hinzugefügt, um die Größe der Blöcke bei der Speicherversion zu begrenzen.
  • Der in SQLite integrierte Algorithmus zur Erzeugung pseudorandomisierter Zahlen wurde von der Verwendung des Stromchiffrierverfahrens RC4 auf Chacha20 umgestellt.
  • Die Verwendung von Indizes mit identischen Namen in verschiedenen Datenschemata wurde erlaubt.
  • Leistungsoptimierungen wurden vorgenommen, die die CPU-Auslastung bei typischen Aktivitäten um etwa 1 % reduzieren.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster