La sortie de SQLite 3.38 a Ă©tĂ© publiĂ©e, un SGBD lĂ©ger sous forme de bibliothĂšque dynamique. Le code SQLite est distribuĂ© dans le domaine public, c'est-Ă -dire qu'il peut ĂȘtre utilisĂ© sans restrictions et gratuitement Ă des fins diverses. Le financement des dĂ©veloppeurs de SQLite est assurĂ© par un consortium spĂ©cialement créé, incluant des entreprises telles qu'Adobe, Oracle, Mozilla, Bentley et Bloomberg.
Principales modifications :
- La prise en charge des opérateurs -> et ->>, facilitant l'extraction de données au format JSON, a été ajoutée. La syntaxe des nouveaux opérateurs est compatible avec MySQL et PostgreSQL.
- Des fonctions pour travailler avec des données au format JSON ont été intégrées dans la version principale, pour lesquelles une compilation avec le drapeau « -DSQLITE_ENABLE_JSON1 » était auparavant requise. Un drapeau « -DSQLITE_OMIT_JSON » a été ajouté pour désactiver le support JSON.
- La fonction unixepoch() a été ajoutée, retournant le temps epoch (le nombre de secondes depuis le 1er janvier 1970).
- Des modificateurs « auto » et « julianday » ont Ă©tĂ© mis en Ćuvre pour des fonctions de gestion du temps.
- La fonction SQL printf() a été renommée en format() pour améliorer la compatibilité avec d'autres SGBDs (le nom précédent est toujours pris en charge).
- Une interface sqlite3_error_offset() a Ă©tĂ© ajoutĂ©e pour faciliter la localisation des erreurs dans une requĂȘte.
- De nouvelles interfaces de programmation ont été ajoutées à l'implémentation des tables virtuelles : sqlite3_vtab_distinct(), sqlite3_vtab_rhs_value() et sqlite3_vtab_in(), ainsi que de nouveaux types d'opérateurs SQLITE_INDEX_CONSTRAINT_LIMIT et SQLITE_INDEX_CONSTRAINT_OFFSET.
- L'interface de ligne de commande garantit un traitement correct des caractĂšres de tabulation et de retour Ă la ligne dans le texte affichĂ© en modes multicolonnes. La prise en charge des options « âwrap N », « âwordwrap on » et « âquote » pour l'affichage en plusieurs colonnes a Ă©tĂ© ajoutĂ©e. Dans la commande .import, le rĂ©glage des noms de colonnes a Ă©tĂ© assurĂ©.
- Dans le planificateur de requĂȘtes, une structure probabiliste de filtre de Bloom a Ă©tĂ© mise en Ćuvre pour accĂ©lĂ©rer l'exĂ©cution de grandes requĂȘtes analytiques, utilisĂ©e pour dĂ©terminer la prĂ©sence d'un Ă©lĂ©ment dans un ensemble. Un arbre d'Ă©quilibrage a Ă©tĂ© utilisĂ© pour optimiser le traitement des blocs UNION et UNION ALL couvrant des expressions SELECT avec des sections ORDER BY.
On peut Ă©galement noter la publication de la version 3.24 de sqlite-utils, qui comprend des utilitaires et une bibliothĂšque pour manipuler des fichiers de base de donnĂ©es SQLite. Des opĂ©rations telles que le chargement direct de donnĂ©es JSON, CSV ou TSV dans un fichier de base de donnĂ©es avec crĂ©ation automatique du schĂ©ma de stockage nĂ©cessaire, l'exĂ©cution de requĂȘtes SQL sur des fichiers CSV, TSV et JSON, la recherche en texte intĂ©gral dans la base de donnĂ©es, la transformation des donnĂ©es et du schĂ©ma de stockage dans des situations oĂč ALTER TABLE ne peut pas ĂȘtre appliquĂ© (par exemple, pour changer le type de colonnes), et l'extraction de colonnes dans des tables sĂ©parĂ©es sont prises en charge.
Source : opennet.ru
