libĂ©ration , un SGBD lĂ©ger conçu comme une bibliothĂšque de plug-ins. Le code SQLite est distribuĂ© dans le domaine public, c'est-Ă -dire peut ĂȘtre utilisĂ© sans restrictions et gratuitement Ă toutes fins. Le soutien financier aux dĂ©veloppeurs SQLite est fourni par un consortium spĂ©cialement créé, qui comprend des sociĂ©tĂ©s telles qu'Adobe, Oracle, Mozilla, Bentley et Bloomberg.
principal :
- Prise en charge supplĂ©mentaire Les colonnes calculĂ©es permettent de dĂ©finir, lors de la crĂ©ation d'une table, une colonne dont la valeur est automatiquement calculĂ©e Ă partir du contenu d'une autre colonne. Ces colonnes peuvent ĂȘtre virtuelles (gĂ©nĂ©rĂ©es Ă la volĂ©e Ă chaque accĂšs Ă la table) ou persistantes (enregistrĂ©es Ă chaque mise Ă jour des colonnes associĂ©es). Le contenu des colonnes calculĂ©es est en lecture seule (toute modification nĂ©cessite de modifier la valeur d'une autre colonne utilisĂ©e dans le calcul). Par exemple :
CRĂER TABLE t1(
une CLĂ PRIMAIRE ENTIĂRE,
b INT,
avec TEXTE,
d INT GĂNĂRĂ TOUJOURS COMME (a*abs(b)) VIRTUEL,
e TEXTE GĂNĂRĂ TOUJOURS COMME (substr(c,b,b+1)) STOCKĂ
); - PRAGMA a ajouté , paramÚtre et l'option de compilation « -DSQLITE_TRUSTED_SCHEMA », qui vous permet de contrÎler l'inclusion de la protection contre En modifiant le schéma de la base de données. Lorsqu'elle est activée, la protection restreint l'utilisation des fonctions SQL (non marquées comme SQLITE_INNOCUOUS) dans les déclencheurs, les vues, les expressions CHECK et DEFAULT, les index et les colonnes générées. L'utilisation des tables virtuelles dans les déclencheurs et les vues est également désactivée, sauf si la table virtuelle est explicitement déclarée avec l'indicateur SQLITE_VTAB_INNOCUOUS.
- Mise en Ćuvre de la possibilitĂ© d'attribuer des propriĂ©tĂ©s aux fonctions SQL dĂ©finies par l'application (fonctions inoffensives qui ne dĂ©pendent pas de paramĂštres externes et ne peuvent pas ĂȘtre utilisĂ©es pour effectuer des actions malveillantes) et (appel direct uniquement dans les requĂȘtes SQL, sans possibilitĂ© d'utilisation dans les dĂ©clencheurs, les vues et les schĂ©mas de structure de donnĂ©es) ;
- Module ajoutĂ© avec la mise en Ćuvre de fonctions pour le traitement des UUID (RFC-4122) ;
- PRAGMA a ajouté et fonction pour contrÎler la taille maximale du tas ;
- Dans PRAGMA ajout de la sortie du type, des propriétés et du nombre d'arguments de chaque fonction ;
- à la table virtuelle DBSTAT mode d'agrégation des données ;
- sqlite3_open_v2() implémente l'option SQLITE_OPEN_NOFOLLOW, qui vous permet de désactiver l'ouverture des liens symboliques ;
- Par hypothĂšse, , transmis aux fonctions JSON, ajout de la prise en charge de la notation de tableau "#-N" ;
- Dans le systĂšme d'allocation de mĂ©moire La prise en charge de deux pools de mĂ©moire distincts a Ă©tĂ© implĂ©mentĂ©e, chacun pouvant ĂȘtre utilisĂ© pour allouer des blocs de tailles diffĂ©rentes (la sĂ©paration permet une utilisation Ă©tendue du systĂšme lookaside, tout en rĂ©duisant la taille du tampon allouĂ© pour chaque connexion de 120 Ă 48 Ko) ;
- Le support PRAGMA a Ă©tĂ© interrompu. , qui Ă©tait incompatible avec VACUUM, les colonnes gĂ©nĂ©rĂ©es et les index descendants (la prise en charge des formats hĂ©ritĂ©s peut ĂȘtre rĂ©tablie via l'indicateur SQLITE_DBCONFIG_LEGACY_FILE_FORMAT dans sqlite3_db_config()).
Source: opennet.ru
