utgivning , 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 :
- Stöd för (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 , instÀllning och kompilationsalternativet "-DSQLITE_TRUSTED_SCHEMA", som gör det möjligt att hantera aktiveringen av skydd mot 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 (ofarliga funktioner som inte Àr beroende av externa parametrar och inte kan anvÀndas för skadliga handlingar) och (endast direkt anrop i SQL-frÄgor, utan möjlighet till anvÀndning i triggar, vyer och databasstrukturscheman);
- Tillagd modul med implementering av funktioner för hantering av UUID (RFC-4122);
- Tillagd PRAGMA och funktionen för att hantera maximal storlek pÄ heapen;
- I PRAGMA har utdata av typ, egenskaper och antal argument för varje funktion lagts till;
- I den virtuella tabellen DBSTAT dataschema;
- I sqlite3_open_v2() har en funktion ŃДалОзаŃĐžŃ SQLITE_OPEN_NOFOLLOW, som tillĂ„ter att öppna symboliska lĂ€nkar.
- För argumentet , som överförs till JSON-funktioner, har stöd för array-notationen "#-N" lagts till;
- I minnesfördelningssystemet 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 , 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
