Nouveautés de DataGrip 2023.1

DataGrip 2023.1 est là ! Ce cycle de publication est exclusivement axé sur la qualité et apporte les correctifs de bugs demandés par nos utilisateurs via notre outil de suivi public. Examinons tous ces correctifs plus en détail !

Travailler avec le code

  • DBE-4469 : nous avons résolu problème qui empêchait SQL Formatter d'appliquer le bon style aux sous-requêtes dans les clauses EXISTS. Tout fonctionne maintenant correctement.

DataGrip peut également ajouter un espace entre le mot-clé EXISTS et la parenthèse de gauche, ce qui peut être activés avec un nouveau paramètre. Si vous souhaitez conserver l'ancien comportement du Formatter (sans l'espace), vous pouvez définir le paramètre Space after keyword sur No dans Preferences | Editor | Code Style | SQL (onglet Queries).

  • DBE-14440 : nous avons corrigé le bug concernant la sauvegarde des paramètres de style. Si vous avez configuré un style particulier pour SQL2016 et que la case Inherit general SQL style dans Preferences n'est pas cochée, vous devrez le reconfigurer.

  • DBE-15973 BigQuery : la clause WINDOW est maintenant prise en charge.
  • DBE-9219 ClickHouse : les paramètres de casse sont maintenant ignorés lors de la saisie semi-automatique de noms de casse exacte.
  • DBE-14796 MySQL : les problèmes concernant les fonctions LAG et LEAD ont été corrigés.
  • DBE-16311 MySQL : FOR UPDATE est maintenant pris en charge dans les requêtes imbriquées.
  • DBE-12139 MySQL : la syntaxe ENCRYPTION est maintenant prise en charge.
  • DBE-13186 Microsoft SQL Server : les inspections ne signalent plus par erreur le code supplémentaire.
  • DBE-11946 PostgreSQL : le problème concernant Place constraints a été corrigé.
  • DBE-6276 PostgreSQL : la navigation des DDL vers les politiques de sécurité fonctionne maintenant comme prévu.
  • DBE-17490 PostgreSQL : le générateur SQL cite maintenant correctement les contraintes EXCLUDE.
  • DBE-11727, DBE-11500 BigQuery : la résolution des alias dans les requêtes UNNEST fonctionne maintenant correctement.
  • DBE-17291, DBE-17449 ClickHouse : les colonnes EPHEMERAL ainsi que les clauses INTERSECT et EXCEPT sont désormais prises en charge.
  • DBE-13506 MongoDB : le bug de saisie semi-automatique SQL rompue pour les propriétés imbriquées a été corrigé.

Explorateur de bases de données

  • DBE-17263 : les statistiques du contenu des sources de données s'affichent à nouveau dans la fenêtre contextuelle Quick Documentation.

  • DBE-17166 : les dossiers renommés dans l'explorateur de base de données ne disparaissent plus.
  • DBE-10812 PostgreSQL : la commande Drop du menu contextuel fonctionne maintenant correctement.

Introspection

  • Oracle : nous avons implémenté plusieurs améliorations pour accélérer l’introspection au niveau 1, notamment lors de l’utilisation du catalogue interne rapide.

    Vérifiez si vous disposez des autorisations SELECT_CATALOG_ROLE et SELECT ANY DICTIONARY. Elles vous donnent accès au catalogue interne d’Oracle et accélèrent l’introspection, car les catalogues conventionnels d’Oracle sont assez lents.

    En savoir plus sur l’introspection d’Oracle.

  • DBE-12578 Oracle : les déclencheurs de base de données interschémas sont maintenant pris en charge. Vous pouvez créer un déclencheur X dans le schéma A vers la table E dans le schéma B et il apparaîtra dans le schéma B sous la table hôte E.
  • DBE-6986 MySQL : la clause/syntaxe ROW_FORMAT est maintenant prise en charge.
  • DBE-10603 Microsoft SQL Server : Quick Definition fonctionne maintenant comme prévu.
  • DBE-9087 PostgreSQL : lors de l'utilisation de la clause REFERENCING, le DDL du déclencheur est généré correctement.
  • DBE-12404 Db2 : nous avons corrigé un problème concernant l'interruption de l'introspection des objets. Si les autorisations utilisateurs ne permettaient pas de récupérer la liste des utilisateurs de la base de données, les autres objets de la base de données n'étaient pas chargés non plus. À partir de maintenant, tout sera chargé à part la liste des utilisateurs.
  • DBE-17330 MySQL : le DDL d'une table est actualisé après la modification d'un commentaire dans la boîte de dialogue Modify.
  • DBE-15555 Redshift: nous avons corrigé un problème de performance, ce qui a permis de réduire considérablement la durée de l'introspection.

Connectivité

  • DBE-16417 Microsoft SQL Server : la détection Current schema fonctionne maintenant pour n'importe quelle base de données.
  • DBE-11012 SQLite : la bibliothèque native SQLite est à présent décompressée dans le dossier système.
  • DBE-7466 Microsoft SQL Server : le problème de connexion via pg_bouncer a été corrigé.

Éditeur d'objets

  • DBE-16393 : nous avons ajouté un éditeur de source à la vue Modify.

  • DBE-17329 PostgreSQL : la création de vues virtuelles est maintenant aussi disponible en lecture seule.

Éditeur/visualiseur de données

  • DBE-3572 : nous avons ajouté un paramètre Alternate row colors pour les tables de résultats. Si la case est cochée, les couleurs des lignes seront alternées.

  • DBE-16250 : il n'y a plus d'espaces vides dans les résultats dans l'éditeur, car la table ajuste maintenant sa hauteur à celle des résultats.

  • DBE-17434 : la couleur de police utilisée dans l'en-tête de l'éditeur de données est correcte.
  • DBE-17292 PostgreSQL : la fenêtre Quick Doc ne se fige plus lors du décompte des lignes.
  • Demande d'assistance : l'image est correctement prévisualisée dans l'éditeur de valeurs.
  • DBE-16576 PostgreSQL : il est possible de mettre à jour une valeur dans une vue avec la colonne ENUM.
  • DBE-14722 Oracle : les colonnes JSON sont maintenant prises en charge.
  • DBE-14303 BigQuery : la précision des millisecondes n'est plus perdue dans les valeurs TIMESTAMP.
  • DBE-13329 MongoDB : nous avons ajouté l'action Change Default pour configurer la taille de page par défaut.

Console de requêtes

  • DBE-14074 : les paramètres nommés sont détectés correctement.
  • DBE-10555 : lorsque vous copiez et collez un élément, l'IDE analyse maintenant correctement la sélection (au lieu de la position du curseur).
  • DBE-17362 : le sélecteur de schéma fonctionne correctement dans la nouvelle interface utilisateur.
  • DBE-12109 Oracle : les points-virgules ne sont plus omis dans les fonctions agrégées Oracle.
  • DBE-16871 BigQuery : la prévisualisation d'une table ne déclenche plus l'erreur Unexpected value.
  • DBE-17479 : le problème d’échec des requêtes avec la notification Read access is allowed from inside read-action (or EDT) only dans la console de requêtes a été corrigé.
  • DBE-12787, DBE-12109 Oracle : CREATE PROCEDURE et CREATE FUNCTION se terminent désormais par « ; » comme prévu.
  • MongoDB : la perte de valeurs dans IN (…) s'il y en a plus de 10 a été corrigée.

Résolution SQL

  • DBE-16831 : un paramètre permettant de spécifier le mode de résolution par défaut dans la console a été ajouté à Preferences | Database | Query execution | Other.

  • DBE-5497 Oracle : nous avons corrigé plusieurs problèmes en lien avec les méthodes des collection Oracle :
    • Les synonymes publics sont désormais placés correctement dans le schéma PUBLIC.
    • Les références récursives à des routines imbriquées sont résolues correctement.
    • Les références aux paramètres de curseur qualifiées par un nom de curseur sont résolues correctement.
    • Les utilisations incorrectes de %TYPE sont signalées par des avertissements.
  • DBE-12772 Oracle : nous avons corrigé la résolution des attributs standards pour les types de collection (par exemple, COUNT).
  • DBE-12758 Oracle : les attributs de type sont maintenant pris en charge.
  • DBE-11949 Oracle : les arguments nommés dans les appels du constructeur de type sont à présent résolus correctement.
  • DBE-16452 Oracle : la navigation à l'aide des raccourcis fonctionne désormais pour les paquets.

Navigation et recherche

  • DBE-12015 Oracle : La navigation vers une routine se fait désormais par défaut vers son implémentation et non plus vers son en-tête.

Diagrammes

  • DBE-17137 : nous avons corrigé un bug à cause duquel l'IDE affichait le diagramme Explain Plan seulement pour la première d'une série de plusieurs requêtes.
  • DBE-16238 : l'enregistrement d'un diagramme ne déclenche plus d'erreurs.

Génération de code SQL

  • DBE-17229 : l'outil de visualisation Schema diff fonctionne maintenant correctement (il s'ouvrait auparavant sur un tableau vide si des objets de base de données ou de serveur étaient inclus).
  • Microsoft SQL Server, PostgreSQL, Db2 : vous pouvez maintenant utiliser l'option Specify next value for sequences pour contrôler le comportement des séquences qui ont une valeur de départ.

Si l'option Specify next value for sequences n'est pas activée, DataGrip génère le DDL de la séquence en ajoutant la valeur de départ à START WITH start_value.

Si l'option Specify next value for sequences est activée, DataGrip ajoute la prochaine valeur suivante qu'aurait la séquence au DDL, avec quelques différences pour les bases de données suivantes :

  • Microsoft SQL Server : la valeur de la séquence suivante est spécifiée dans la clause RESTART WITH des instructions CREATE et ALTER au lieu de la valeur de départ de la séquence.
  • PostgreSQL : la valeur de la séquence suivante est spécifiée par la clause START WITH de l'instruction CREATE au lieu de la valeur de départ de la séquence. La valeur de départ est spécifiée par la clause START WITH et la valeur suivante l'est dans la clause RESTART WITH de l'instruction ALTER.
  • Db2 : la valeur de la séquence suivante est spécifiée dans la clause START WITH de l'instruction CREATE au lieu de la valeur de départ de la séquence. La prochaine valeur est spécifiée dans la clause RESTART WITH de l'instruction ALTER (la modification de la valeur de départ n'est pas autorisée dans Db2).