Die Veröffentlichung von SQLite 3.37, einer leichtgewichtigen DBMS-Bibliothek, ist erfolgt. Der Code von SQLite wird als Public Domain bereitgestellt, d.h. er kann ohne EinschrĂ€nkungen und kostenlos fĂŒr beliebige Zwecke verwendet werden. Die finanzielle UnterstĂŒtzung der SQLite-Entwickler erfolgt durch ein eigens gegrĂŒndetes Konsortium, dem Unternehmen wie Adobe, Oracle, Mozilla, Bentley und Bloomberg angehören.
HauptÀnderungen:
- Es wurde UnterstĂŒtzung fĂŒr die Erstellung von Tabellen mit dem Merkmal âSTRICTâ hinzugefĂŒgt, das eine zwingende Angabe des Typs bei der Deklaration von Spalten erfordert und eine strenge TypĂŒberprĂŒfung der in die Spalten eingefĂŒgten Daten anwendet. Bei Aktivierung dieses Flags gibt SQLite einen Fehler aus, wenn die angegebenen Daten nicht in den Spaltentyp konvertiert werden können. Wenn beispielsweise eine Spalte als âINTEGERâ erstellt wurde, fĂŒhrt die Ăbertragung des Stringwerts â123â zur HinzufĂŒgung der Zahl 123, wĂ€hrend der Versuch, âxyzâ anzugeben, mit einem Fehler endet.
- In der Operation âALTER TABLE ADD COLUMNâ wurde eine ĂberprĂŒfung auf das Vorhandensein von Zeilen beim HinzufĂŒgen von Spalten mit ĂberprĂŒfungen auf Basis des Ausdrucks âCHECKâ oder mit âNOT NULLâ-Bedingungen hinzugefĂŒgt.
- Der Ausdruck âPRAGMA table_listâ wurde implementiert, um Informationen ĂŒber Tabellen und Sichten auszugeben.
- Im Befehlszeileninterface wurde der Befehl â.connectionâ implementiert, der die gleichzeitige UnterstĂŒtzung mehrerer Verbindungen zur DB ermöglicht.
- Ein Parameter ââsafeâ wurde hinzugefĂŒgt, der CLI-Befehle und SQL-AusdrĂŒcke deaktiviert, die Operationen mit Datenbankdateien ermöglichen, die von der in der Befehlszeile angegebenen DB abweichen.
- Im CLI wurde die Leistung beim Lesen von SQL-AusdrĂŒcken, die in mehreren Zeilen dargestellt sind, optimiert.
- Die Funktionen sqlite3_autovacuum_pages(), sqlite3_changes64() und sqlite3_total_changes64() wurden hinzugefĂŒgt.
- Im Abfrageplaner wird das Ignorieren von âORDER BYâ-AusdrĂŒcken in Unterabfragen und Sichten unterstĂŒtzt, wenn das Löschen dieser AusdrĂŒcke die Semantik der Abfrage nicht Ă€ndert.
- Die Funktion generate_series(START,END,STEP) wurde geĂ€ndert, wobei der erste Parameter (âSTARTâ) als erforderlich betrachtet wird. Um das alte Verhalten zurĂŒckzugeben, kann mit der Option â-DZERO_ARGUMENT_GENERATE_SERIESâ neu kompiliert werden.
- Der Speicherverbrauch fĂŒr die Speicherung des DB-Schemas wurde reduziert.
Quelle: opennet.ru
