Publication de la base de données SQLite 3.51

La version 3.51 de SQLite a été publiée, une base de données légère sous forme de bibliothèque dynamique. Le code de SQLite est distribué dans le domaine public, c'est-à-dire qu'il peut être utilisé sans restrictions et gratuitement à des fins diverses. Le soutien financier aux développeurs de SQLite est assuré par un consortium spécialement créé.

Principales modifications :

  • De nouvelles fonctions JSON jsonb_each() et jsonb_tree() ont été ajoutées, qui diffèrent des fonctions précédemment disponibles json_each() et json_tree() en ce qu'elles retournent des valeurs JSONB pour des données de type tableau ou objet.
  • Le code des extensions carray et percentile a été transféré vers le fichier de base «sqlite3.c» contenant le code intégré de SQLite. Par défaut, ces fonctionnalités sont désactivées et nécessitent l'indication des paramètres «-DSQLITE_ENABLE_CARRAY» et «-DSQLITE_ENABLE_PERCENTILE» lors de la compilation.
  • L'interface pour utiliser SQLite dans des scripts Tcl a été améliorée. Un nouveau drapeau «-asdict» a été ajouté à la commande «eval» pour renvoyer des chaînes en utilisant le type «dict» au lieu de «array». La possibilité d'interrompre des fonctions utilisateur pour retourner une valeur NULL a également été ajoutée.
  • Modifications de l'interface de ligne de commande :
    • La précision de la commande «.timer» a été augmentée à la microseconde ;
    • Le formatage «box» et «column» prend désormais en charge les caractères à largeur double ;
    • La commande «.imposter» peut désormais fournir des tables imposteurs en mode lecture seule (permettant d'accéder aux données d'un index comme à une table), fonctionnant avec l'opération VACUUM et ne nécessitant pas d'être lancée avec le drapeau «—unsafe-testing» ;
    • Une option «—ifexists» a été ajoutée au utilitaire sqlite et à la commande «.open».
    • La largeur maximale de ligne spécifiée par la commande «.width» est limitée à 30000 caractères.
  • Des optimisations de performance ont été apportées :
    • La charge du CPU lors de la validation des transactions à accès en lecture a été réduite ;
    • L'optimisation des opérations de jointure (JOIN) a été améliorée pour ne pas retourner de lignes lorsque une ou plusieurs tables ne contiennent pas de lignes ;
    • L'exécution de sous-requêtes scalaires n'impactant pas le résultat a été exclue ;
    • Les fonctions de fenêtre sont maintenant plus rapides dans les requêtes avec l'expression «BETWEEN 😡 FOLLOWING AND :y FOLLOWING» et une valeur «:y» très élevée.
  • La pragma «PRAGMA wal_checkpoint=NOOP» et la fonction API sqlite3_wal_checkpoint() pour valider les changements dans le journal WAL ont été ajoutées.
  • Les fonctions sqlite3_set_errmsg() et sqlite3_db_status64() ont été ajoutées à l'API.
  • Dans la version JavaScript/WASM de SQLite, un support pour la compilation en vue WebAssembly avec des pointeurs 64 bits a été mis en œuvre.
  • La résistance aux dommages de la base de données dans les applications utilisant des verrouillages POSIX via l'appel close() a été améliorée.
  • Le support de la plateforme VxWorks a été amélioré.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster