SQLite 3.53.0

SQLite 3.53.0 SQLite 3.53.0

Le 9 avril, la version 3.53.0 de la base de données embarquée multiplateforme a été publiée. SQLite. Le code du projet est écrit en C et est distribué comme domaine public.

Modifications :

  • Correction d'un bogue de corruption de la base de donnĂ©es WAL-reset. Voir la news prĂ©cĂ©dente SQLite 3.51.3 avec correction d'un possible endommagement de la base de donnĂ©es en mode WAL.
  • Ajout d'une bibliothĂšque de mise en forme des rĂ©sultats des requĂȘtes SQL Query Result Formatter (QRF) pour assurer une lecture aisĂ©e Ă  l'Ă©cran avec une police Ă  largeur fixe.
  • MĂ©thode ajoutĂ©e format sur interface TCL pour accĂ©der Ă  QRF depuis TCL.
    • QRF est maintenant utilisĂ© dans l'outil console sqlite pour le formatage des rĂ©sultats des requĂȘtes, ce qui amĂ©liore leur affichage.
  • Nouvelles fonctionnalitĂ©s du langage SQL :
    • AmĂ©liorations des capacitĂ©s de la commande ALTER TABLE pour permettre l'ajout et la suppression de contraintes NOT NULL et CHECK.
    • OpĂ©rateur REINDEX EXPRESSIONS effectue la rĂ©indexation des index d'expressions. Utile pour la rĂ©cupĂ©ration des index d'expressions obsolĂštes..
    • Maintenant les dĂ©clencheurs TEMP peuvent modifier et/ou interroger des donnĂ©es provenant des tables du schĂ©ma principal.
    • AmĂ©lioration de la commande VACUUM INTO: lorsqu'un nom de fichier au format URI est utilisĂ© comme adresse de destination, contenant le paramĂštre de requĂȘte reserve=N (oĂč N est un nombre entre 0 et 255), le volume de rĂ©servation pour la copie de la base de donnĂ©es créée est dĂ©fini sur N.
  • Nouvelles fonctions SQL ajoutĂ©es :
  • Mises Ă  jour dans l'outil console:
    • AmĂ©liorations significatives de la commande .mode.
    • GrĂące Ă  pour l'extension QRF amĂ©lioration de la mise en forme des rĂ©sultats. Par exemple, les nombres sont dĂ©sormais alignĂ©s Ă  droite par dĂ©faut en mode de sortie tabulaire..
    • Par dĂ©faut, QRF est maintenant utilisĂ© lors de l'utilisation interactive de l'outil console pour afficher les rĂ©sultats des requĂȘtes dans des blocs formĂ©s Ă  l'aide de caractĂšres Unicode de dessin de blocs, ce qui a amĂ©liorĂ© la lisibilitĂ©. Le format de sortie obsolĂšte est utilisĂ© lors de l'exĂ©cution par lots pour garantir la compatibilitĂ©.
    • Les points virgules simples (non entourĂ©s de guillemets) Ă  la fin des commandes avec un point sont ignorĂ©s sans avertissement. C'est une possible incompatibilitĂ© !
    • Les commandes .testcase et .check ont Ă©tĂ© corrigĂ©es. Elles fonctionnent maintenant correctement et sont utilisĂ©es dans les scripts faisant partie de l'ensemble de tests standard de SQLite inclus dans les sources.
    • Les arguments de ligne de commande correspondant aux modĂšles *.sql ou *.txt et reprĂ©sentant des noms de fichiers non vides sont lus et interprĂ©tĂ©s comme des scripts contenant des opĂ©rateurs SQL et/ou des [commandes Ă  point]((https://sqlite.org/cli.html#dotcmd).
    • DĂ©sormais, l'argument de la commande .timer peut ĂȘtre dĂ©fini sur once pour que le minuteur ne dĂ©clenche que lors de l'exĂ©cution de la prochaine requĂȘte SQL.
    • Le nouveau paramĂštre —timeout S de la commande .progress interrompt l'exĂ©cution des requĂȘtes SQL aprĂšs S secondes.
    • La commande .indexes a Ă©tĂ© modifiĂ©e pour que l'argument PATTERN corresponde dĂ©sormais au nom de l'index, et non au nom de la table indexĂ©e (ce qui rend l'argument PATTERN vĂ©ritablement utile). De plus, plusieurs nouvelles options ont Ă©tĂ© ajoutĂ©es Ă  la commande .indexes.
  • AmĂ©liorations de l'API C :
  • AmĂ©liorations du planificateur de requĂȘtes :
    • Pour EXCEPT, INTERSECT et UNION, l'algorithme de tri et de fusion est toujours utilisĂ©, car il fonctionne presque toujours plus rapidement que l'utilisation de tables de hachage.
    • AmĂ©liorations du mĂ©canisme de sĂ©lection de l'ordre des jointures lors de l'exĂ©cution de grandes jointures multi-tiers dans un schĂ©ma en Ă©toile.
    • Optimisation amĂ©liorĂ©e de la transformation d'EXISTS en JOIN, de sorte que les conditions JOIN insĂ©rĂ©es ne doivent pas nĂ©cessairement ĂȘtre dans des boucles internes, Ă  condition que toutes les dĂ©pendances pour les boucles de transformation d'EXISTS en JOIN soient dans des boucles externes.
    • Optimisation amĂ©liorĂ©e de omit-noop-join, permettant d'omettre une chaĂźne de jointures qui n'affectent pas le rĂ©sultat.
    • Optimisation des requĂȘtes utilisant GROUP BY e1 ORDER BY e2, oĂč e1 et e2 sont identiques, Ă  l'exception de l'ordre de tri ASC/DESC, Ă  l'aide d'un seul index.
    • Optimisation de l'opĂ©rateur DISTINCT dans les tables virtuelles dans les cas oĂč le jeu de rĂ©sultats de la requĂȘte ne correspond pas entiĂšrement Ă  la condition ORDER BY.
  • Dans extension de session des nouvelles interfaces ont Ă©tĂ© ajoutĂ©es, permettant Ă  l'application d'ajouter des modifications une par une dans l'objet sqlite3_changegroup :
  • AmĂ©liorations dans la conversion entre les nombres Ă  virgule flottante ↔ texte.
    • Le code a Ă©tĂ© entiĂšrement réécrit pour amĂ©liorer les performances.
    • L'arrondi se fait dĂ©sormais par dĂ©faut Ă  17 chiffres significatifs au lieu de 15, comme c'Ă©tait le cas dans toutes les versions prĂ©cĂ©dentes. Si nĂ©cessaire, cette valeur peut ĂȘtre modifiĂ©e en utilisant la fonction sqlite3_db_config avec l'option SQLITE_DBCONFIG_FP_DIGITS (voir point 6g ci-dessus).
  • Ajout de la possibilitĂ© rĂ©cupĂ©ration automatique de l'index pour rĂ©soudre le problĂšme des index d'expressions obsolĂštes..
  • Dans l'utilitaire console sqlite3_rsync une option -p|—port a Ă©tĂ© ajoutĂ©e.
  • Le support de Windows RT.
  • JavaScript/WASM
    • VFS opfs-wl a Ă©tĂ© ajoutĂ©e, fonctionnellement identique Ă  opfs, mais utilisant pour les verrouillages Web Locks, permettant une distribution des verrouillages plus Ă©quitable qu'avec le protocole opfs. opfs-wl requiert la fonction Atomics.waitAsync(), donc des versions plus rĂ©centes des navigateurs sont nĂ©cessaires pour son fonctionnement par rapport Ă  opfs.

Source : linux.org.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