Utgivelse av DBMS SQLite 3.31 med støtte for genererte kolonner
publisert utgivelse SQLite 3.31.0, et lett DBMS designet som et plugin-bibliotek. SQLite-koden distribueres som et offentlig domene, dvs. kan brukes uten begrensninger og gratis til ethvert formål. Økonomisk støtte til SQLite-utviklere leveres av et spesiallaget konsortium, som inkluderer selskaper som Adobe, Oracle, Mozilla, Bentley og Bloomberg.
Lagt til støtte genererte kolonner (kalkulerte kolonner), som lar deg definere en kolonne når du oppretter en tabell hvis verdi automatisk beregnes basert på innholdet i en annen kolonne. De genererte kolonnene kan enten være virtuelle (generert på farten med hver tilgang) eller lagret i databasen (lagres hver gang de relaterte kolonnene oppdateres). Innholdet i de genererte kolonnene er kun tilgjengelig i lesemodus (endringer gjøres kun gjennom endring av verdien i en annen kolonne som er involvert i beregningen). For eksempel:
LAG TABELL t1(
en HELTALS PRIMÆR NØKKEL,
b INT,
c TEXT,
d INT GENERERT ALLTID SOM (a*abs(b)) VIRTUELL,
e TEKST GENERERT ALLTID SOM (substr(c,b,b+1)) LAGRE
);
Lagt til PRAGMA pålitelig_skjema, innstilling SQLITE_DBCONFIG_TRUSTED_SCHEMA og monteringsalternativet "-DSQLITE_TRUSTED_SCHEMA", som lar deg kontrollere inkluderingen av beskyttelse mot angrep gjennom modifikasjon av dataskjemaet i databasen. Aktiv beskyttelse begrenser bruken av SQL-funksjoner (ikke merket SQLITE_INNOCUOUS) i utløsere, visninger, CHECK- og DEFAULT-setninger, indekser og genererte kolonner. Bruken av virtuelle tabeller i triggere og visninger er også deaktivert med mindre den virtuelle tabellen er eksplisitt erklært med flagget SQLITE_VTAB_INNOCUOUS.
Implementerte muligheten til å tilordne egenskaper til SQL-funksjoner definert i applikasjoner SQLITE_INNOCUOUUS (ufarlige funksjoner som ikke er avhengige av eksterne parametere og ikke kan brukes til å utføre ondsinnede handlinger) og SQLITE_DIRECTONLY (kun direkte anrop i SQL-spørringer, uten mulighet for bruk i triggere, visninger og datastrukturdiagrammer);
Lagt til modul uuid med implementering av funksjoner for behandling av UUID (RFC-4122);
I PRAGMA funksjonsliste lagt til utdata av type, egenskaper og antall argumenter for hver funksjon;
Til virtuell tabell DBSTAT la til dataaggregeringsmodus;
sqlite3_open_v2() implementerer alternativet SQLITE_OPEN_NOFOLLOW, som lar deg deaktivere åpningen av symbolske lenker;
For argument PATH, sendt til JSON-funksjoner, lagt til støtte for "#-N" matrisenotasjon;
I minnedistribusjonssystemet se til siden støtte for to separate minnepooler er implementert, som hver kan brukes til å allokere blokker av forskjellige størrelser (separasjon lar deg utvide bruken av lookaside-systemet, mens du reduserer størrelsen på bufferen som er allokert til hver tilkobling fra 120 til 48 KB);
PRAGMA-støtte er avviklet legacy_file_format, som var inkompatibelt med VACUUM, genererte kolonner og synkende indekser (støtte for eldre formater kan returneres via SQLITE_DBCONFIG_LEGACY_FILE_FORMAT-flagget i sqlite3_db_config()).