Utgivningen av databashanteraren SQLite 3.31 med stöd för berÀknade kolumner

Publicerad utgivning SQLite 3.31.0, en lÀttviktsdatabas som presenteras som ett plugin-bibliotek. Koden för SQLite distribueras som allmÀn egendom (public domain), vilket betyder att den kan anvÀndas utan begrÀnsningar och kostnadsfritt för alla ÀndamÄl. Utvecklarna av SQLite fÄr ekonomiskt stöd frÄn ett sÀrskilt konsortium, som inkluderar företag som Adobe, Oracle, Mozilla, Bentley och Bloomberg.

Huvud för:

  • Stöd för berĂ€knade kolumner (genererade kolumner), som gör det möjligt att vid skapandet av en tabell definiera en kolumn vars vĂ€rde automatiskt berĂ€knas baserat pĂ„ innehĂ„llet i en annan kolumn. BerĂ€knade kolumner kan vara antingen virtuella (genererade vid varje Ă„tkomst) eller lagrade i databasen (lagras vid varje uppdatering av de relaterade kolumnerna). InnehĂ„llet i genererade kolumner Ă€r endast tillgĂ€ngligt i lĂ€slĂ€ge (Ă€ndringar görs endast genom att modifiera vĂ€rdet i en annan kolumn som Ă€r inblandad i berĂ€kningen). Till exempel:

    CREATE TABLE t1(
    a INTEGER PRIMARY KEY,
    b INT,
    c TEXT,
    d INT GENERATED ALWAYS AS (a*abs(b)) VIRTUAL,
    e TEXT GENERATED ALWAYS AS (substr(c,b,b+1)) STORED
    );

  • Tillagda PRAGMA trusted_schema, instĂ€llning SQLITE_DBCONFIG_TRUSTED_SCHEMA och kompilationsalternativet "-DSQLITE_TRUSTED_SCHEMA", som gör det möjligt att hantera aktiveringen av skydd mot attacker genom att modifiera databasens schema. Vid aktivt skydd begrĂ€nsas anvĂ€ndningen av SQL-funktioner (som inte Ă€r mĂ€rkta som SQLITE_INNOCUOUS) i triggar, vyer, CHECK- och DEFAULT-uttryck, index och berĂ€knade kolumner. AnvĂ€ndning av virtuella tabeller i triggar och vyer inaktiveras ocksĂ„, om inte den virtuella tabellen uttryckligen deklareras med flaggan SQLITE_VTAB_INNOCUOUS.
  • Möjligheten att tilldela vissa SQL-funktioner i applikationer egenskaper SQLITE_INNOCUOUS (ofarliga funktioner som inte Ă€r beroende av externa parametrar och inte kan anvĂ€ndas för skadliga handlingar) och SQLITE_DIRECTONLY (endast direkt anrop i SQL-frĂ„gor, utan möjlighet till anvĂ€ndning i triggar, vyer och databasstrukturscheman);
  • Tillagd modul uuid med implementering av funktioner för hantering av UUID (RFC-4122);
  • Tillagd PRAGMA hard_heap_limit och funktionen sqlite3_hard_heap_limit64() för att hantera maximal storlek pĂ„ heapen;
  • I PRAGMA function_list har utdata av typ, egenskaper och antal argument för varje funktion lagts till;
  • I den virtuella tabellen DBSTAT tillagd dataschema;
  • I sqlite3_open_v2() har en funktion Ń€Đ”Đ°Đ»ĐžĐ·Đ°Ń†ĐžŃ SQLITE_OPEN_NOFOLLOW, som tillĂ„ter att öppna symboliska lĂ€nkar.
  • För argumentet PATH, som överförs till JSON-funktioner, har stöd för array-notationen "#-N" lagts till;
  • I minnesfördelningssystemet lookaside har stöd för tvĂ„ separata minnespooler implementerats, varav varje kan anvĂ€ndas för att allokera block av olika storlek (delningen gör det möjligt att utöka anvĂ€ndningen av lookaside-systemet, samtidigt som storleken pĂ„ den allokerade buffern för varje anslutning minskas frĂ„n 120 till 48 KB);
  • Stödet för PRAGMA legacy_file_format, som var inkompatibelt med VACUUM, genererade kolumner och fallande index (stöd för det förĂ„ldrade formatet kan Ă„terstĂ€llas via flaggan SQLITE_DBCONFIG_LEGACY_FILE_FORMAT i sqlite3_db_config()).

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster