alliberament , un SGBD lleuger dissenyat com a biblioteca de connectors. El codi SQLite es distribueix com a domini públic, és a dir. es pot utilitzar sense restriccions i de forma gratuïta per a qualsevol propòsit. El suport financer per als desenvolupadors de SQLite és proporcionat per un consorci creat especialment, que inclou empreses com Adobe, Oracle, Mozilla, Bentley i Bloomberg.
El principal :
- Suport afegit (columnes calculades), que permeten definir una columna quan es crea una taula el valor de la qual es calcula automàticament en funció del contingut d'una altra columna. Les columnes generades poden ser virtuals (generades sobre la marxa amb cada accés) o emmagatzemades a la base de dades (desades cada vegada que s'actualitzen les columnes relacionades). El contingut de les columnes generades només està disponible en mode de lectura (els canvis només es realitzen mitjançant la modificació del valor en una altra columna implicada en el càlcul). Per exemple:
CREA LA TAULA t1(
una CLAU PRIMÀRIA ENTERA,
b INT,
c TEXT,
d INT GENERAT SEMPRE COM (a*abs(b)) VIRTUAL,
e TEXT GENERAT SEMPRE COM (substr(c,b,b+1)) emmagatzemat
); - S'ha afegit PRAGMA , configuració i l'opció de muntatge “-DSQLITE_TRUSTED_SCHEMA”, que permeten controlar la inclusió de protecció contra mitjançant la modificació de l'esquema de dades a la base de dades. La protecció activa restringeix l'ús de funcions SQL (no marcades SQLITE_INNOCUOUS) en activadors, visualitzacions, sentències CHECK i DEFAULT, índexs i columnes generades. L'ús de taules virtuals en activadors i vistes també està desactivat tret que la taula virtual es declari explícitament amb el senyalador SQLITE_VTAB_INNOCUOUS.
- S'ha implementat la capacitat d'assignar propietats a les funcions SQL definides a les aplicacions (funcions inofensives que no depenen de paràmetres externs i que no es poden utilitzar per realitzar accions malicioses) i (només trucada directa en consultes SQL, sense possibilitat d'utilitzar en activadors, vistes i diagrames d'estructura de dades);
- Mòdul afegit amb implementació de funcions per processar UUID (RFC-4122);
- S'ha afegit PRAGMA i la funció per controlar la mida màxima del munt;
- A PRAGMA sortida afegida del tipus, propietats i nombre d'arguments de cada funció;
- A la taula virtual DBSTAT mode d'agregació de dades;
- sqlite3_open_v2() implementa l'opció SQLITE_OPEN_NOFOLLOW, que permet desactivar l'obertura d'enllaços simbòlics;
- Per argumentar , passat a les funcions JSON, va afegir suport per a la notació de matriu "#-N";
- En el sistema de distribució de la memòria S'ha implementat suport per a dues agrupacions de memòria separades, cadascuna de les quals es pot utilitzar per assignar blocs de diferents mides (la separació permet ampliar l'ús del sistema Lookaside, alhora que redueix la mida de la memòria intermèdia assignada a cada connexió de 120 a 48). KB);
- El suport de PRAGMA s'ha interromput , que era incompatible amb VACUUM, columnes generades i índexs descendents (el suport de format heretat es pot retornar mitjançant el senyalador SQLITE_DBCONFIG_LEGACY_FILE_FORMAT a sqlite3_db_config()).
Font: opennet.ru
