La version 3.37 de SQLite, une base de donnĂ©es lĂ©gĂšre, a Ă©tĂ© publiĂ©e sous forme de bibliothĂšque dynamique. Le code de SQLite est disponible dans le domaine public, c'est-Ă -dire qu'il peut ĂȘtre utilisĂ© sans restrictions et gratuitement pour tous les objectifs. Le soutien financier des dĂ©veloppeurs de SQLite est assurĂ© par un consortium spĂ©cialement créé, qui comprend des entreprises telles qu'Adobe, Oracle, Mozilla, Bentley et Bloomberg.
Principales modifications :
- La prise en charge de la crĂ©ation de tables avec le drapeau «STRICT» a Ă©tĂ© ajoutĂ©e, nĂ©cessitant de spĂ©cifier un type lors de la dĂ©claration des colonnes et appliquant une vĂ©rification stricte de la conformitĂ© des types de donnĂ©es ajoutĂ©es aux colonnes. Avec ce drapeau activĂ©, SQLite renverra une erreur si les donnĂ©es fournies ne peuvent pas ĂȘtre converties au type de colonne. Par exemple, si une colonne est créée en tant que «INTEGER», la transmission d'une valeur de chaĂźne â123â entraĂźnera l'ajout du nombre 123, mais la tentative de spĂ©cifier âxyzâ se terminera par une erreur.
- Dans l'opération «ALTER TABLE ADD COLUMN», une vérification des conditions d'existence des lignes a été ajoutée lors de l'ajout de colonnes avec des vérifications basées sur l'expression «CHECK» ou avec des conditions «NOT NULL».
- L'expression «PRAGMA table_list» a été réalisée pour afficher des informations sur les tables et les vues.
- Dans l'interface de ligne de commande, la commande «.connection» a été implémentée, permettant de maintenir plusieurs connexions à la base de données simultanément.
- Un paramĂštre «âsafe» a Ă©tĂ© ajoutĂ©, dĂ©sactivant les commandes CLI et les expressions SQL qui permettent d'effectuer des opĂ©rations avec des fichiers de base de donnĂ©es diffĂ©rents de celui spĂ©cifiĂ© dans la ligne de commande.
- Des optimisations des performances de lecture des expressions SQL, réparties sur plusieurs lignes, ont été effectuées dans le CLI.
- Les fonctions sqlite3_autovacuum_pages(), sqlite3_changes64() et sqlite3_total_changes64() ont été ajoutées.
- Dans le planificateur de requĂȘtes, les expressions «ORDER BY» dans les sous-requĂȘtes et les vues sont ignorĂ©es si la suppression de ces expressions ne modifie pas la sĂ©mantique de la requĂȘte.
- L'extension generate_series(START, END, STEP) a été modifiée, le premier paramÚtre («START») étant devenu obligatoire. Pour retrouver l'ancien comportement, une recompilation avec l'option «-DZERO_ARGUMENT_GENERATE_SERIES» est possible.
- La consommation de mémoire pour stocker le schéma de la base de données a été réduite.
Source : opennet.ru
