Veröffentlichung von DBMS SQLite 3.31 mit UnterstĂŒtzung fĂŒr generierte Spalten

Veröffentlicht freigeben SQLite 3.31.0, ein leichtes DBMS, das als Plug-in-Bibliothek konzipiert ist. Der SQLite-Code wird als Public Domain verteilt, d. h. dĂŒrfen uneingeschrĂ€nkt und unentgeltlich fĂŒr jeden Zweck genutzt werden. Die finanzielle UnterstĂŒtzung fĂŒr SQLite-Entwickler erfolgt durch ein eigens gegrĂŒndetes Konsortium, dem Unternehmen wie Adobe, Oracle, Mozilla, Bentley und Bloomberg angehören.

Haupt- VerÀnderungen:

  • UnterstĂŒtzung hinzugefĂŒgt generierte Spalten (berechnete Spalten), mit denen Sie beim Erstellen einer Tabelle eine Spalte definieren können, deren Wert automatisch basierend auf dem Inhalt einer anderen Spalte berechnet wird. Die generierten Spalten können entweder virtuell (bei jedem Zugriff spontan generiert) oder in der Datenbank gespeichert (bei jeder Aktualisierung der zugehörigen Spalten gespeichert) sein. Der Inhalt der generierten Spalten ist nur im Lesemodus verfĂŒgbar (Änderungen erfolgen nur durch Änderung des Werts in einer anderen an der Berechnung beteiligten Spalte). Zum Beispiel:

    ERSTELLEN SIE TABELLE t1(
    ein ganzzahliger PrimĂ€rschlĂŒssel,
    b INT,
    c TEXT,
    d INT IMMER ALS (a*abs(b)) VIRTUELL GENERIERT,
    e TEXT WIRD IMMER ALS (substr(c,b,b+1)) GESPEICHERT GENERIERT
    );

  • PRAGMA hinzugefĂŒgt vertrauenswĂŒrdiges_schema, Einstellung SQLITE_DBCONFIG_TRUSTED_SCHEMA und die Assembly-Option „-DSQLITE_TRUSTED_SCHEMA“, mit der Sie die Einbeziehung des Schutzes steuern können AnschlĂ€ge durch Änderung des Datenschemas in der Datenbank. Aktiver Schutz schrĂ€nkt die Verwendung von SQL-Funktionen (nicht als SQLITE_INNOCUOUS gekennzeichnet) in Triggern, Ansichten, CHECK- und DEFAULT-Anweisungen, Indizes und generierten Spalten ein. Die Verwendung virtueller Tabellen in Triggern und Ansichten ist ebenfalls deaktiviert, es sei denn, die virtuelle Tabelle wird explizit mit dem Flag SQLITE_VTAB_INNOCUOUS deklariert.
  • Die Möglichkeit, Eigenschaften zu in Anwendungen definierten SQL-Funktionen zuzuweisen, wurde implementiert SQLITE_INNOCUOUS (harmlose Funktionen, die nicht von externen Parametern abhĂ€ngen und nicht zur DurchfĂŒhrung böswilliger Aktionen verwendet werden können) und SQLITE_DIRECTONLY (nur direkter Aufruf in SQL-Abfragen, ohne Möglichkeit der Verwendung in Triggern, Ansichten und Datenstrukturdiagrammen);
  • Modul hinzugefĂŒgt uuid mit Implementierung von Funktionen zur Verarbeitung von UUID (RFC-4122);
  • PRAGMA hinzugefĂŒgt hard_heap_limit und Funktion sqlite3_hard_heap_limit64() um die maximale Heap-GrĂ¶ĂŸe zu steuern;
  • In PRAGMA Funktionsliste Ausgabe von Typ, Eigenschaften und Anzahl der Argumente jeder Funktion hinzugefĂŒgt;
  • Zur virtuellen Tabelle DBSTAT hinzugefĂŒgt Datenaggregationsmodus;
  • sqlite3_open_v2() implementiert die Option SQLITE_OPEN_NOFOLLOW, mit der Sie das Öffnen symbolischer Links deaktivieren können;
  • Zur Argumentation PATH, an JSON-Funktionen ĂŒbergeben, UnterstĂŒtzung fĂŒr „#-N“-Array-Notation hinzugefĂŒgt;
  • Im Speicherverteilungssystem sieh zur Seite Es wurde UnterstĂŒtzung fĂŒr zwei separate Speicherpools implementiert, von denen jeder zum Zuweisen von Blöcken unterschiedlicher GrĂ¶ĂŸe verwendet werden kann (durch die Trennung können Sie die Verwendung des Lookaside-Systems erweitern und gleichzeitig die GrĂ¶ĂŸe des jeder Verbindung zugewiesenen Puffers von 120 auf 48 reduzieren KB);
  • Der PRAGMA-Support wurde eingestellt Legacy-Dateiformat, das mit VACUUM, generierten Spalten und absteigenden Indizes nicht kompatibel war (UnterstĂŒtzung fĂŒr Ă€ltere Formate kann ĂŒber das Flag SQLITE_DBCONFIG_LEGACY_FILE_FORMAT in sqlite3_db_config() zurĂŒckgegeben werden).

Source: opennet.ru

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz und VPS-VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster