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
