Localisation du code dépendant des valeurs de colonnes renvoyées

La vue Analyse pureQuery vous permet de visualiser toutes les instructions Java d'une application pureQuery qui dépendent des valeurs de colonnes renvoyées par une requête SQL.

Pourquoi et quand exécuter cette tâche

Ces informations peuvent vous être utiles si vous souhaitez modifier une zone de votre application Java et qu'il vous faut savoir quelles instructions vont être affectées par la modification.

Cette analyse peut également être utile lorsque le nom d'une colonne d'une base de données est proposé pour la modification. Vous pouvez utiliser les résultats de l'analyse pour estimer les modifications à apporter à votre application et pour rechercher toutes les instructions SQL qui seraient invalidées par la modification.

Vous pouvez également utiliser cette analyse si votre application interroge des colonnes de base de données privées et que vous souhaitez vous assurer que les valeurs renvoyés pour ces colonnes n'apparaîtront pas dans les rapports générés par votre application.

Pour localiser ces instructions Java, pureQuery procède à une analyse du code source sans exécution de ce code.

Les instructions SELECT qui renvoient les valeurs de colonnes peuvent contenir des clauses JOIN et WITH.

Procédure

Pour afficher toutes les instructions d'une application pureQuery qui dépendent des valeurs renvoyées par une requête SQL :

  1. Indiquez à pureQuery quelles sont les valeurs de colonnes par rapport auxquelles vous souhaitez analyser la dépendance de votre code.
    • Si vous utilisez des méthodes annotées :
      • Pour analyser la valeur d'une unique colonne dans un ensemble de résultats renvoyé par une instruction SELECT, cliquez avec le bouton droit de la souris sur un nom ou un alias de colonne dans l'instruction SELECT de la déclaration de la méthode. Puis, sélectionnez pureQuery > Analyse du code source > Analyser les dépendances de valeur des colonnes.
        Dans l'exemple qui suit, l'analyse porte sur la valeur de la colonne CATLOG.
        // Select all CATALOGs
        @Select(sql="select NAME, CATLOG from \"CATALOG\"")
        Iterator<Catalog> getCatalogs();
      • Pour analyser les valeurs de toutes les colonnes dans un ensemble de résultats renvoyé par une instruction SELECT (à l'exception des colonnes définies par des expressions), cliquez avec le bouton droit de la souris à un endroit quelconque de l'instruction SELECT dans la déclaration de la méthode, excepté sur un nom de colonne. Puis, sélectionnez pureQuery > Analyse du code source > Analyser les dépendances de valeur des colonnes.
        Dans l'exemple ci-après, le curseur est placé sur le mot SELECT.
        // Select all CATALOGs
        @Select(sql="select NAME, CATLOG from \"CATALOG\"")
        Iterator<Catalog> getCatalogs();
      • Pour analyser les valeurs de toutes les colonnes dans un ensemble de résultats renvoyé par une instruction SELECT, vous pouvez également cliquer avec le bouton droit de la souris sur un appel de la méthode annotée qui est déclarée avec cette instruction SELECT. Puis, sélectionnez pureQuery > Analyse du code source > Analyser les dépendances de valeur des colonnes.
        Dans l'exemple ci-après, le curseur est placé sur la méthode getCatalogs().
        Iterator<Catalog> getCatalogs = data.getCatalogs();
      • La déclaration de la méthode getCatalogs() pourra se présenter sur le même modèle que les déclarations illustrées dans les deux exemples précédents.
    • Si vous utilisez des méthodes intégrées :
      • Pour analyser la valeur d'une unique colonne dans un ensemble de résultats renvoyé par une instruction SELECT, cliquez avec le bouton droit de la souris sur un nom ou un alias de colonne dans l'instruction SELECT d'un appel de méthode. Puis, sélectionnez pureQuery > Analyse du code source > Analyser les dépendances de valeur des colonnes.
        Dans l'exemple qui suit, l'analyse porte sur la valeur de la colonne NAME.
        Iterator<Catalogue> getCatalogs = db.queryIterator ("select NAME as CATALOG_NAME,  CATLOG from \"CATALOG\"", Catalog.class);
      • Pour analyser la valeur d'une unique colonne dans un ensemble de résultats renvoyé par une instruction SELECT, vous pouvez également cliquer avec le bouton droit de la souris sur un nom ou un alias de colonne dans une instruction SELECT utilisée pour initialiser une variable. Puis, sélectionnez pureQuery > Analyse du code source > Analyser les dépendances de valeur des colonnes.
        Dans l'exemple qui suit, l'analyse porte sur la valeur de la colonne NAME.
        @Sql String sqlStmt = "select NAME, CATLOG from \"CATALOG\"";
        Iterator<Catalogue> getCatalogs = db.queryIterator ("select NAME as CATALOG_NAME,  CATLOG from \"CATALOG\"", Catalog.class);
      • Pour analyser les valeurs de toutes les colonnes dans un ensemble de résultats renvoyé par une instruction SELECT (à l'exception des colonnes définies par des expressions), cliquez avec le bouton droit de la souris à un endroit quelconque de l'instruction SELECT dans un appel de méthode, excepté sur un nom de colonne. Puis, sélectionnez pureQuery > Analyse du code source > Analyser les dépendances de valeur des colonnes.
        Dans l'exemple ci-après, le curseur est placé sur le mot SELECT.
        Iterator<Catalog> getCatalogs = db.queryIterator ("select NAME, CATLOG from \"CATALOG\"", Catalog.class);
      • Pour analyser les valeurs de toutes les colonnes dans un ensemble de résultats renvoyé par une instruction SELECT, vous pouvez également cliquer avec le bouton droit de la souris en un point quelconque d'une instruction SELECT utilisée pour initialiser une variable, excepté sur un nom de colonne. Puis, sélectionnez pureQuery > Analyse du code source > Analyser les dépendances de valeur des colonnes.
        Dans l'exemple ci-après, le curseur est placé sur le mot SELECT.
        @Sql String sqlStmt = "select NAME, CATLOG from \"CATALOG\"";
        Iterator<Catalog> getCatalogs = db.queryIterator (sqlStmt, Catalog.class);
  2. Regardez maintenant dans la vue Analyse pureQuery pour voir quelles sont les instructions Java qui utilisent les valeurs analysées. Les entrées de cette vue sont organisées selon la hiérarchie suivante :
    • Projet Java
      • Module Java
        • Fichier Java contenant l'instruction à partir de laquelle vous avez lancé l'analyse de code source
          • Instruction à partir de laquelle vous avez lancé l'analyse du code source
            • Instructions Java qui dépendent des valeurs sélectionnées

Que faire ensuite

Si l'une des colonnes contient des types de données signalés comme confidentiels dans un modèle de domaine, ils apparaissent dans la vue avec cet indicateur : Indicateur de confidentialité Pour obtenir des informations sur le marquage des types de données comme confidentiels, consultez Ajout d'informations sur la confidentialité des données aux types de données de domaine.

Cliquez avec le bouton droit de la souris sur une ligne de code et sélectionnez Afficher dans la source pour ouvrir le fichier source dans l'éditeur Java. La ligne est mise en évidence dans l'éditeur.

Si l'analyse prend trop de temps, arrêtez-là en cliquant sur bouton Annuler.

Filtrez les résultats en cliquant sur la flèche vers le bas dans le coin supérieur droit de la vue et sélectionnez le bouton Filtrer pour ouvrir la fenêtre Filtrer.

Pour effacer les résultats, cliquez sur bouton Effacer.


Commentaires