Sortie du SGBD SQLite 3.38 et de l'ensemble d'utilitaires sqlite-utils 3.24

La version de SQLite 3.38, un SGBD léger conçu comme une bibliothèque de plug-ins, a été publiée. 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.

Les principaux changements:

  • Ajout de la prise en charge des opérateurs -> et ->> pour faciliter l'extraction de données au format JSON. La nouvelle syntaxe des opérateurs est compatible avec MySQL et PostgreSQL.
  • La structure principale comprend des fonctions permettant de travailler avec des données au format JSON, dont la connexion nécessitait auparavant un assembly avec l'indicateur « -DSQLITE_ENABLE_JSON1 ». L'indicateur "-DSQLITE_OMIT_JSON" a été ajouté pour désactiver la prise en charge JSON.
  • Ajout de la fonction unixepoch() qui renvoie l'heure d'époque (le nombre de secondes depuis le 1er janvier 1970).
  • Pour les fonctions qui fonctionnent avec le temps, les modificateurs « auto » et « julianday » ont été implémentés.
  • La fonction SQL printf() a été renommée format() pour améliorer la compatibilité avec d'autres SGBD (la prise en charge de l'ancien nom est conservée).
  • Ajout de l'interface sqlite3_error_offset() pour faciliter la localisation des erreurs dans une requête.
  • De nouvelles interfaces de programme 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 une gestion correcte des caractères de tabulation et de saut de ligne dans la sortie de texte en modes multi-colonnes. Ajout de la prise en charge de l'utilisation des options "--wrap N", "--wordwrap on" et "-quote" lors de la sortie sur plusieurs colonnes. La commande .import permet de corriger les noms de colonnes.
  • Pour accélérer l'exécution de requêtes analytiques volumineuses, le planificateur de requêtes utilise une structure de filtre bloom probabiliste pour déterminer si un élément est présent dans un ensemble. Un arbre de fusion équilibré est utilisé pour optimiser le traitement des blocs UNION et UNION ALL couvrant les instructions SELECT avec les clauses ORDER BY.

De plus, on peut noter la publication d'une version de l'ensemble sqlite-utils 3.24, qui comprend des utilitaires et une bibliothèque pour manipuler les fichiers de la base de données SQLite. 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, exécution de requêtes SQL sur des fichiers CSV, TSV et JSON, recherche en texte intégral dans la base de données, conversion de données et schémas de stockage dans les situations où ALTER n'est pas applicable, TABLE est prise en charge (par exemple, pour changer le type de colonnes), extrayant les colonnes dans des tables séparées.

Source: opennet.ru

Ajouter un commentaire