DataGrip 2023.3 est disponible : aperçu des améliorations
de l'EDI de JetBrains pour les développeurs SQL

JetBrains annonce la sortie de DataGrip 2023.3. Il s'agit de la troisième mise à jour majeure de 2023 pour son EDI destiné aux administrateurs de bases de données et développeurs SQL. Cette version apporte un bon lot de nouveautés et améliorations dans divers domaines : visualisation de données, exécution des requêtes, introspection, prise en charge de DynamoDB, génération de code, etc. Nous présentons dans la suite ces nouveautés avec plus de détails.

Visualisation des données

Depuis la sortie de DataGrip 2023.3, il est possible de visualiser des données grâce à l'intégration de la bibliothèque Lets-Plot, avec ses possibilités de base de visualisation de données no-code. La visualisation est disponible sur les trois types de grilles :

  • Onglet principal : lorsque vous ouvrez la table, la vue ou le fichier CSV, le graphique s'affiche en mode fractionné.
  • Onglet Result : lorsque vous observez le résultat d'une requête dans la fenêtre d'outil Services, le graphique peut s’afficher à la place de la grille.
  • Résultats dans l'éditeur : vous pouvez afficher le graphique au lieu de la grille.


Notez qu'il existe un problème connu : les paramètres de visualisation ne sont pas enregistrés, ce qui signifie que si vous rouvrez la grille, le graphique reviendra à son état par défaut. Cette fonctionnalité est encore en développement et JetBrains aimerais donc connaître votre avis.

Nouvelle fonctionnalité d'importation

JetBrains a passé beaucoup de temps à repenser sa fonctionnalité d'importation, mais pense que cela en valait la peine pour les raisons suivantes :

  • C'était le dernier chapitre de la grande transition vers l'interface utilisateur que JetBrains a générée pour Modify Object.
  • La fonctionnalité vous permet désormais d'importer vers plusieurs cibles.
  • Il est maintenant possible de modifier plusieurs choses en même temps. Par exemple, vous pouvez modifier des formats ou encoder pour plusieurs fichiers en modifiant le schéma de plusieurs cibles.

Quelques fonctionnalités à souligner :

Mapping

L'entité cible par défaut est appelée mapping. Vous pouvez y définir la table cible et mapper les colonnes du fichier avec celles de la table cible. Si vous devez modifier la table elle-même, cliquez sur le bouton Edit. La table s'affichera dans l'arborescence de l'interface utilisateur sur la droite. Cette interface utilisateur reprend entièrement l'interface utilisateur de Modify Object, pour vous permettre de manipuler la table et ses objets de plusieurs façons.


Auto-generate table names

Ce bouton génère automatiquement le nom de la table à partir du fichier source. Il peut être utile si vous renommez une table, mais que vous souhaitez ensuite revenir à son nom par défaut.

Simplify column name

Cette action peut être pratique si les noms de colonnes d'origine contiennent des espaces.

Possibilité de revenir à l'ancienne interface utilisateur

JetBrains comprend que ce remaniement représente un énorme changement qui peut être gênant pour certaines personnes. L'éditeur de logiciels pour développeurs serait donc ravi de recevoir vos retours pour comprendre comment rendre la nouvelle interface plus performante et plus claire pour tous les cas d'utilisation.

Si, pour une raison quelconque, vous souhaitez revenir à l'ancienne interface utilisateur, vous pouvez utiliser cette option. Elle restera disponible jusqu'à ce que JetBrains traite tous les commentaires reçus à propos de la nouvelle interface utilisateur.

Travailler avec des données

Formats de nombres personnalisables dans l'éditeur de données

L'affichage des nombres dans l'éditeur de données a beaucoup gagné en souplesse. Plus important encore, vous pouvez spécifier des séparateurs décimaux et de regroupement. Parmi les autres options se trouve aussi la possibilité de définir le rendu de l'infini et de NaN.

Possibilité d'afficher des nombres sous forme d'horodatages UNIX

Au format UNIX timestamp, les horodatages sont stockés sous forme de nombres, correspondant au nombre de millisecondes écoulées depuis le 1er janvier 1970 (UTC). Ce format est désormais pris en charge dans DataGrip.

[SQL Server] Prise en charge de l'importation/exportation des tables via BCP

JetBrains a ajouté la prise en charge de BCP, qui vous permet d'exporter et d'importer des tables dans SQL Server.

Prise en charge de DynamoDB

La prise en charge de DynamoDB arrive dans les EDI JetBrains ! Voici ce que JetBrains a implémenté jusqu'ici :

  • Les données DynamoDB peuvent être visualisées dans la visionneuse de données de DataGrip.
  • Prise en charge de PartiQL pour DynamoDB dans l'éditeur de code.
  • Les tables avec clés et index sont désormais introspectées.

Si vous pensez que quelque chose doit être pris en charge en priorité, n'hésitez pas à le signaler à JetBrains.

Introspection

Planificateur d'introspection

Vous pouvez désormais définir un intervalle d'introspection pour chaque source de données.

[Oracle] Niveau d'introspection par défaut

L'introspection des schémas dans Oracle par DataGrip est très longue, car les catalogues Oracle sont généralement assez lents. Les niveaux d'introspection ont été introduits pour résoudre ce problème.

Le niveau le plus élevé était sélectionné par défaut. L'introspection ne commençait donc qu'au troisième niveau pour les schémas sélectionnés, ce qui était lent. De plus, certaines personnes ignoraient totalement l'existence de ce paramètre de niveau d'introspection.

DataGrip 2023.3 privilégie l'expérience utilisateur et la performance plutôt que l'exhaustivité des fonctionnalités. La valeur du niveau d'introspection par défaut est désormais définie sur Auto Select.


La nouvelle approche définit le niveau d'introspection par défaut pour chaque schéma en fonction du type de schéma et du nombre d'objets. JetBrains a supposé que les utilisateurs travaillent le plus souvent avec le schéma actuel (celui auquel la session Oracle est connectée), moins souvent avec d'autres schémas que le schéma actuel, et très rarement avec des schémas système.

Pour chaque schéma, l'introspecteur compte les objets et sélectionne le niveau d'introspection à l'aide des seuils suivants (où N correspond au nombre d'objets).


JetBrains a également implémenté l'introspection fragmentaire, soit la possibilité de récupérer les métadonnées pour un seul objet. C'est utile dans les situations où les métadonnées (généralement le code source) sont explicitement demandées par l'utilisateur. Par exemple, si vous double-cliquez sur une vue, mais que le niveau d'introspection est faible, DataGrip demande le code source au même moment. Ce fonctionnement ressemble davantage à celui de tous les autres outils de base de données.

La détection automatique du niveau est activée par défaut. Si vous souhaitez revenir au fonctionnement antérieur de DataGrip, allez dans Data Source properties | Options | Introspection | Default level et sélectionnez Level 3.

[SQL Server] Prise en charge de nouveaux objets

De nouveaux objets sont pris en charge dans SQL Server :

  • Fonctions de partition et schémas de partition
  • Partitions et propriétés de table/index associées
  • Tables de comptabilité
  • Groupes de fichiers

[Redshift] Prise en charge des vues matérialisées

Les vues matérialisées dans Redshift sont désormais introspectées et s'affichent dans un nœud dédié dans Database Explorer.

Exécution de requêtes

[Oracle] Prise en charge des curseurs de référence dans la console de requête

Vous pouvez désormais obtenir le résultat des curseurs de référence si vous exécutez la requête dans la console ou dans le fichier SQL.

  • Si la fonction que vous exécutez renvoie un résultat contenant un seul curseur de référence, DataGrip accède immédiatement au résultat à partir du curseur de référence.
  • Dans les cas plus complexes où le résultat contient plusieurs curseurs de référence ou autre chose qu'un curseur de référence, DataGrip affiche le résultat principal et vous donne la possibilité de visualiser les résultats des autres curseurs de référence. À partir de la cellule du curseur de référence, vous pouvez accéder à l'ensemble de résultats correspondant (Entrée/Double-clic) et inversement (Ctrl+B).

Génération de code

Activer/désactiver les objets des bases de données

Certains types d'objets peuvent être activés et désactivés. À partir de maintenant, DataGrip prend en charge cette opération depuis l'interface utilisateur et vous permet de générer et d'exécuter les éléments de code correspondants.

Cette fonctionnalité s'applique aux éléments suivants :

  • [MySQL] Événements.
  • [PostgreSQL] Règles, déclencheurs et déclencheurs d'événements.
  • [MS SQL] Index, clés étrangères, contraintes de vérification et déclencheurs.
  • [Oracle] Clés, contraintes uniques, clés étrangères, contraintes de vérification, déclencheurs, espaces de table et comptes utilisateurs.

Divers

[SQLite] Avertissement si vous utilisez le chemin WSL

Malheureusement, il est impossible de travailler avec une base de données SQLite située sous un chemin WSL. En effet, WSL ne respecte pas le mécanisme de verrouillage des fichiers SQLite. Pour l'instant, la seule solution disponible pour DataGrip consiste à afficher un avertissement dans ce cas particulier.

Nouveautés et téléchargement de DataGrip 2023.3