Veröffentlichung der DBMS SQLite 3.53

Die Version SQLite 3.53 wurde veröffentlicht, ein leichtgewichtiges DBMS, das als Plug-in-Bibliothek gestaltet ist. Die Version 3.52 wurde zurĂŒckgezogen. Der Code von SQLite wird als Gemeinfreiheit (public domain) verbreitet, d.h. er kann ohne EinschrĂ€nkungen und kostenlos fĂŒr beliebige Zwecke genutzt werden. Die finanzielle UnterstĂŒtzung der Entwickler von SQLite erfolgt durch ein speziell gegrĂŒndetes Konsortium.

HauptÀnderungen:

  • Ein Fehler wurde behoben, der zur BeschĂ€digung von Datenbanken fĂŒhrte. Das Problem trat seit Version SQLite 3.7.0 (2010) auf, betraf Datenbanken im WAL-Modus (Write-Ahead Logging) und wurde durch einen Wettlauf zwischen zwei oder mehr Verbindungen zu einer Datenbank verursacht, die versuchten, Transaktionen in einer einzigen Instanz der Datenbank zu schreiben oder zu bestĂ€tigen. Es wird behauptet, dass die UmstĂ€nde, die zu einem Ausfall fĂŒhren, Ă€ußerst selten sind und nur in einem speziell erstellten Test-Szenario reproduziert werden konnten.
  • Im Befehl „ALTER TABLE“ ist es jetzt erlaubt, „NOT NULL“-Bedingungen und „CHECK“-Bedingungen zu entfernen.
  • Der Befehl „REINDEX EXPRESSIONS“ wurde hinzugefĂŒgt, um Indizes basierend auf AusdrĂŒcken neu aufzubauen, bei denen eine Funktion auf einer Spalte oder Operationen auf Spalten als Indexelement verwendet werden. Der Befehl kann verwendet werden, um veraltete Indizes wiederherzustellen.
  • Innerhalb von temporĂ€ren Triggern, die mit dem Befehl „CREATE TEMP TRIGGER“ erstellt und auf Tabellen in anderen Datenbanken angewendet werden, ist es erlaubt, Tabellen zu Ă€ndern oder Daten aus Tabellen abzufragen.
  • Im Befehl „VACUUM INTO“ kann beim Angabe einer Zieldatei ĂŒber eine URL der Parameter „reserve=N“ verwendet werden, um die Anzahl der zu erstellenden Sicherungskopien der Datenbank festzulegen.
  • Neue SQL-Funktionen json_array_insert() und jsonb_array_insert() wurden implementiert, um Elemente in JSON-Arrays einzufĂŒgen.
  • Die QRF-Bibliothek (Query Result Formatter) wurde zur Befehlszeilenanwendung hinzugefĂŒgt, um die Ergebnisse von SQL-Abfragen in ein leserfreundliches Format zu formatieren.
  • Änderungen in der Befehlszeilenanwendung:
    • Der Befehl „.mode“ wurde erheblich erweitert.
    • Die Ausgabeformatierung wurde verbessert; beispielsweise wird standardmĂ€ĂŸig die Rahmenzeichnung aktiviert, und numerische Werte werden nun bei tabellarischer Ausgabe rechtsbĂŒndig ausgerichtet.
    • Es wird sichergestellt, dass das Zeichen „;“ nach Befehlen ignoriert wird.
    • Der Inhalt von Dateien mit den Erweiterungen *.sql und *.txt, die in der Befehlszeile angegeben sind, wird jetzt als Satz von SQL-AusdrĂŒcken und Punktbefehlen gelesen und interpretiert.
    • Der Befehl „.timer“ unterstĂŒtzt jetzt den Wert „once“, um den Timer nur auf den nĂ€chsten SQL-Ausdruck anzuwenden.
    • Dem Befehl „.progress“ wurde die Option „—timeout S“ hinzugefĂŒgt, um den SQL-Ausdruck nach Ablauf des Zeitlimits zwangsweise abzubrechen.
    • Im Befehl „.indexes“ wurde das Verhalten der Muster geĂ€ndert, die jetzt auf die Namen der Indizes und nicht auf die Namen der indizierten Tabellen angewendet werden.
  • Optimierungen im Abfrage-Planer wurden vorgenommen, die die Leistung bei der ZusammenfĂŒhrung von Tabellen sowie bei den Operationen EXCEPT, INTERSECT und UNION verbessert haben.
  • Die Leistung der Funktionen zur Umwandlung von Fließkommazahlen in die textliche Darstellung wurde erhöht.
  • In der in WebAssembly kompilierten Implementierung wurde das VFS „opfs-wl“ hinzugefĂŒgt, das identisch mit dem VFS „opfs“ ist, aber die API Web Locks fĂŒr die Arbeit mit Sperren verwendet.
  • Dem Dienstprogramm sqlite3_rsync wurde die Option „-p|—port“ hinzugefĂŒgt.
  • Die UnterstĂŒtzung fĂŒr die Plattform Windows RT wurde eingestellt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4