Verëffentlechung vun DBMS SQLite 3.31 mat Ënnerstëtzung fir generéiert Kolonnen

publizéiert Fräisetzung SQLite 3.31.0, e liicht DBMS entworf als Plug-in Bibliothéik. De SQLite Code gëtt als Public Domain verdeelt, d.h. kann ouni Restriktiounen a gratis fir all Zweck benotzt ginn. Finanziell Ënnerstëtzung fir SQLite Entwéckler gëtt vun engem speziell erstallte Konsortium geliwwert, deen Firmen wéi Adobe, Oracle, Mozilla, Bentley a Bloomberg enthält.

Haaptstrooss änneren:

  • Zousätzlech Ënnerstëtzung generéiert Kolonnen (berechent Kolonnen), déi Iech erlaabt eng Kolonn ze definéieren wann Dir en Dësch erstellt, deem säi Wäert automatesch op Basis vun den Inhalter vun enger anerer Kolonn berechent gëtt. Déi generéiert Sailen kënnen entweder virtuell sinn (op der Flucht mat all Zougang generéiert) oder an der Datebank gespäichert (all Kéier wann d'Zesummenhang Spalten aktualiséiert ginn). D'Inhalter vun de generéierte Spalten sinn nëmmen am Liesmodus verfügbar (Ännerunge ginn nëmmen duerch Ännerung vum Wäert an enger anerer Kolonn an der Berechnung involvéiert). Zum Beispill:

    TABLE CREATE t1(
    en INTEGER PRIMARY KEY,
    b INT,
    c TEXT,
    d INT ËMMER GENERERT AS (a*abs(b)) VIRTUAL,
    e TEXT ËMMER GENERÉIERT AS (substr(c,b,b+1)) GESPORAERT
    );

  • Zousätzlech PRAGMA vertraut_schema, Astellung SQLITE_DBCONFIG_TRUSTED_SCHEMA an d'Versammlungsoptioun "-DSQLITE_TRUSTED_SCHEMA", déi Iech erlaabt d'Inklusioun vum Schutz géint Attacken duerch Ännerung vum Dateschema an der Datebank. Aktive Schutz beschränkt d'Benotzung vu SQL Funktiounen (net markéiert SQLITE_INNOCUOUS) an Ausléiser, Meenungen, CHECK an DEFAULT Aussoen, Indizes a generéiert Kolonnen. D'Benotzung vu virtuellen Dëscher an Ausléiser a Meenungen ass och behënnert, ausser datt de virtuelle Dësch explizit mam SQLITE_VTAB_INNOCUOUS Fändel deklaréiert ass.
  • Implementéiert d'Kapazitéit fir Eegeschaften un SQL Funktiounen ze ginn, déi an Uwendungen definéiert sinn SQLITE_INNOCUOUS (harmlos Funktiounen déi net vun externen Parameteren ofhänken an net kënne benotzt ginn fir béiswëlleg Handlungen auszeféieren) an SQLITE_DIRECTONLY (nëmmen direkten Uruff an SQL Ufroen, ouni d'Méiglechkeet an Ausléiser, Meenungen an Daten Struktur Diagrammer ze benotzen);
  • Zousätzlech Modul uuid mat Ëmsetzung vun Funktiounen fir Veraarbechtung UUID (RFC-4122);
  • Zousätzlech PRAGMA hard_heap_limit a Funktioun sqlite3_hard_heap_limit64() déi maximal Koup Gréisst ze kontrolléieren;
  • An der PRAGMA function_list dobäi Ausgang vun Typ, Eegeschaften an Zuel vun Argumenter vun all Funktioun;
  • Fir virtuell Dësch DBSTAT dobäigesat Donnéeën Aggregatioun Modus;
  • sqlite3_open_v2 () implementéiert d'Optioun SQLITE_OPEN_NOFOLLOW, déi Iech erlaabt d'Ouverture vu symbolesche Linken auszeschalten;
  • Fir Argument PATH, op JSON Funktiounen iwwerginn, huet Ënnerstëtzung fir "#-N" Array Notatioun bäigefüügt;
  • Am Erënnerung Verdeelung System kucken op Ënnerstëtzung fir zwee getrennte Gedächtnispools gouf implementéiert, jidderee vun deenen ka benotzt ginn fir Blöcke vu verschiddene Gréissten ze verdeelen (Trennung erlaabt Iech d'Benotzung vum Lookaside System auszebauen, wärend d'Gréisst vum Puffer reduzéiert gëtt, deen un all Verbindung zougewisen ass vun 120 op 48 KB);
  • PRAGMA Ënnerstëtzung gouf gestoppt legacy_file_format, déi mat VACUUM inkompatibel war, generéiert Kolonnen, an erofgaang Indexen (legacy Format Ënnerstëtzung kann iwwer de SQLITE_DBCONFIG_LEGACY_FILE_FORMAT Fändel an sqlite3_db_config () zréckginn).

Source: opennet.ru

Setzt e Commentaire