versjon , en lettvekts DB, utformet som et tilleggsbibliotek. Koden til SQLite distribueres som offentlig eiendom, dvs. den kan brukes fritt og gratis til alle formål. Utviklerne av SQLite får økonomisk støtte fra et spesielt opprettet konsortium som inkluderer selskaper som Adobe, Oracle, Mozilla, Bentley og Bloomberg.
Viktige :
- Støtte lagt til (beregnede kolonner), som gjør at man ved opprettelse av tabellen kan definere en kolonne, hvor verdien automatisk beregnes basert på innholdet i en annen kolonne. Genererte kolonner kan være både virtuelle (som genereres på stedet ved hvert kall) og lagret i databasen (som lagres ved oppdatering av relaterte kolonner). Innholdet i genererte kolonner er kun tilgjengelig i lesemodus (endrelse skjer kun ved modifikasjon av verdien i en annen kolonne som er involvert i beregningen). For eksempel:
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
); - PRAGMA er lagt til , konfigurasjon og byggalternativet «-DSQLITE_TRUSTED_SCHEMA», som muliggjør styring av aktivering av beskyttelse mot gjennom modifikasjon av datamodellen i databasen. Når beskyttelsen er aktiv, begrenses bruken av SQL-funksjoner (som ikke er merket som SQLITE_INNOCUOUS) i triggere, visninger, CHECK-uttrykk og DEFAULT, indekser og genererte kolonner. Bruken av virtuelle tabeller i triggere og visninger deaktiveres også, med mindre den virtuelle tabellen er eksplisitt erklært med flagget SQLITE_VTAB_INNOCUOUS.
- Muligheten for å tildele visse funksjoner i SQL-applikasjoner egenskaper har blitt implementert (ufarlige funksjoner som ikke er avhengige av eksterne parametere og ikke kan brukes til å utføre skadelige handlinger) og (kun direkte kald i SQL-spørsmål, uten mulighet for bruk i triggere, visninger og datamodeller);
- Modul lagt til implementering av funksjoner for håndtering av UUID (RFC-4122);
- PRAGMA er lagt til og funksjonen for å håndtere maksimal størrelse på heap-en;
- I PRAGMA er det lagt til utdata om typen, egenskapene og antallet argumenter for hver funksjon;
- I den virtuelle tabellen DBSTAT data aggregasjonsmodus;
- I sqlite3_open_v2() er det implementert et alternativ SQLITE_OPEN_NOFOLLOW, som forhindrer åpning av symbolske lenker;
- For argumentet , som blir sendt til JSON-funksjonen, er støtte for array-notasjonen «#-N» lagt til;
- I minnehåndteringssystemet det er implementert støtte for to separate minnepuljer, hver av dem kan brukes til å tildele blokker av forskjellig størrelse (deling gjør det mulig å utvide bruken av lookaside-systemet, samtidig som størrelsen på bufferen som tildeles hver forbindelse reduseres fra 120 til 48 KB);
- Støtte for PRAGMA er avsluttet , som var inkompatibel med VACUUM, genererte kolonner og synkende indekser (støtten for det utdaterte formatet kan gjenopprettes via flagget SQLITE_DBCONFIG_LEGACY_FILE_FORMAT i sqlite3_db_config()).
Kilde: opennet.ru
