Az SQLite 3.31-es adatbázis-kezelő rendszer kiadása, amely támogatja a generált oszlopokat

Megjelent kiadás SQLite 3.31.0, egy könnyűsúlyú adatbázis-kezelő rendszer, amely csatolható könyvtár formájában érhető el. Az SQLite kódja közvagyonnak minősül, azaz korlátozások nélkül, ingyenesen felhasználható bármilyen célra. Az SQLite fejlesztőinek pénzügyi támogatását egy kifejezetten létrehozott konzorcium biztosítja, amelynek tagjai olyan cégek, mint az Adobe, az Oracle, a Mozilla, a Bentley és a Bloomberg.

Fő változások:

  • Támogatás került hozzáadásra generált oszlopokhoz (számított oszlopok), amelyek lehetővé teszik egy oszlop automatikus értékének kiszámítását egy másik oszlop tartalma alapján. A generált oszlopok lehetnek virtuálisak (melyeket minden egyes lekérdezéskor számítanak) és tároltak (melyek a kapcsolódó oszlopok minden frissítésekor eltárolásra kerülnek) a DB-ben. A generált oszlopok tartalma csak olvasási módban érhető el (a módosítást egy másik oszlop értékének megváltoztatásán keresztül végezhetjük el, amely szerepet játszik a számításban). Például:

    CREATE TABLE t1 (
    a INTEGER PRIMARY KEY,
    b INT,
    c TEXT,
    d INT GENERÁLT MINDIG (a*abs(b)) VIRTUÁLIS,
    e TEXT GENERÁLT MINDIG (substr(c,b,b+1)) TÁROLT
    );

  • PRAGMA hozzáadva trusted_schema, beállítás SQLITE_DBCONFIG_TRUSTED_SCHEMA és a „-DSQLITE_TRUSTED_SCHEMA” fordítási opció, amelyek lehetővé teszik a védelem aktiválását az attacks adatmodell módosításán keresztül a DB-ben. Az aktív védelem esetén korlátozódik az SQL-funkciók használata (amelyek nincsenek megjelölve, mint SQLITE_INNOCUOUS) a triggereknél, nézeteknél, CHECK és DEFAULT kifejezéseknél, indexeknél és generált oszlopoknál. A virtuális táblák használata szintén letiltásra kerül triggereknél és nézeteknél, ha a virtuális táblát kifejezetten nem nyilvánítják az SQLITE_VTAB_INNOCUOUS flaggel.
  • Lehetővé vált, hogy bizonyos SQL-funkciókhoz tulajdonságokat rendeljenek SQLITE_INNOCUOUS (ártalmatlan funkciók, amelyek nem függenek külső paraméterektől, és nem használhatók rosszindulatú cselekmények elkövetésére) és SQLITE_DIRECTONLY (csak közvetlen hívás SQL lekérdezésekben, triggereknél, nézeteknél és adatstruktúrákban való felhasználás nélkül);
  • Új modul került hozzáadásra uuid UUID-k (RFC-4122) feldolgozására szolgáló funkciók megvalósítása;
  • PRAGMA hozzáadva hard_heap_limit és a sqlite3_hard_heap_limit64() funkció a maximális halomméret kezelésére;
  • A PRAGMA function_list kibővítve az összes funkció típusának, tulajdonságának és argumentumainak számának megjelenítésével;
  • A DBSTAT virtuális táblába hozzáadva adataggregálási módot adtak hozzá;
  • A sqlite3_open_v2()-ben megvalósult az SQLITE_OPEN_NOFOLLOW opció, amely lehetővé teszi a szimbolikus linkek megnyitásának megakadályozását;
  • A paraméterhez PATH, amelyet a JSON-funkciókhoz adtak át, hozzáadták a tömböket támogató "#-N" jelölést;
  • A memóriaelosztó rendszerben lookaside két külön memóriahalmaz támogatása valósult meg, amelyeket különböző méretű blokkok elosztására használhatunk (a felosztás lehetővé teszi a lookaside rendszer alkalmazásának bővítését, miközben csökkenti az egyes csatlakozásokra allokált puffer méretét 120-ról 48 KB-ra);
  • A PRAGMA támogatása megszűnt legacy_file_format, amely inkompatibilis volt a VACUUM-mal, a generálható oszlopokkal és a csökkenő indexekkel (az elavult formátum támogatását az sqlite3_db_config()-ben az SQLITE_DBCONFIG_LEGACY_FILE_FORMAT kapcsolóval lehet visszaállítani).

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster