Determinar qué lugar del código depende de los valores de columnas devueltas

La vista Análisis de pureQuery le permite ver todas las sentencias Java™ de una aplicación pureQuery que dependen de los valores de columna devueltos por una consulta de SQL.

Acerca de esta tarea

Esta información puede serle útil si quiere cambiar un campo en la aplicación Java y necesita saber las sentencias que se verán afectadas por el cambio.

Otra situación en la que el análisis puede ser útil es cuando se propone cambiar el nombre de una columna de una base de datos. Puede utilizar el resultado del análisis para estimar los cambios que hay que realizar en la aplicación y para encontrar todas las sentencias SQL que quedarían invalidas por el cambio.

También puede utilizar este análisis si la aplicación consulta columnas privadas de las bases de datos y quiere asegurarse de que los valores devueltos para estas columnas no aparecerán en los informes generados por la aplicación.

Para encontrar estas sentencias Java, pureQuery analiza el código fuente sin ejecutarlo.

Las sentencias SELECT que devuelven los valores de las columnas pueden incluir cláusulas JOIN y WITH.

Procedimiento

Para ver todas las sentencias de una aplicación pureQuery que dependen de los valores devueltos por una consulta SQL:

  1. Indique a pureQuery en qué valores de columnas hay que analizar la dependencia del código.
    • Si utiliza métodos anotados:
      • Para analizar el valor de una sola columna de un conjunto de resultados devuelto por una sentencia SELECT, pulse el botón derecho del ratón sobre el nombre o el alias de la columna en la sentencia SELECT en la declaración del método. Luego, seleccione Desarrollo de acceso a datos > Análisis de código fuente > Analizar dependencia de valores de columna.
        En el ejemplo siguiente, se analizará el valor de la columna CATLOG.
        // Seleccionar todos los catálogos
        @Select(sql="select NAME, CATLOG from \"CATALOG\"")
        Iterator<Catalog> getCatalogs();
      • Para analizar los valores de todas las columnas de un conjunto de resultados devuelto por una sentencia SELECT (excepto las columnas que se definen con expresiones), pulse el botón derecho del ratón en cualquier lugar de la sentencia SELECT en la declaración del método, excepto en un nombre de columna. Luego, seleccione Desarrollo de acceso a datos > Análisis de código fuente > Analizar dependencia de valores de columna.
        En el ejemplo siguiente se coloca el cursor en la palabra SELECT.
        // Seleccionar todos los catálogos
        @Select(sql="select NAME, CATLOG from \"CATALOG\"")
        Iterator<Catalog> getCatalogs();
      • Otra forma de analizar los valores de todas las columnas de un conjunto de resultados devuelto por una sentencia SELECT es pulsar con el botón derecho del ratón sobre una llamada al método anotado que se declara con la sentencia SELECT. Luego, seleccione Desarrollo de acceso a datos > Análisis de código fuente > Analizar dependencia de valores de columna.
        En el ejemplo siguiente se coloca el cursor en el método getCatalogs().
        Iterator<Catalog> getCatalogs = data.getCatalogs();
      • La declaración para el método getCatalogs() podría parecerse a las declaraciones de los dos ejemplos anteriores.
    • Si utiliza métodos incorporados:
      • Para analizar el valor de una sola columna de un conjunto de resultados devuelto por una sentencia SELECT, pulse el botón derecho del ratón sobre el nombre o el alias de la columna en la sentencia SELECT en una llamada de método. Luego, seleccione Desarrollo de acceso a datos > Análisis de código fuente > Analizar dependencia de valores de columna.
        En el ejemplo siguiente, se analizará el valor de la columna NAME.
        Iterator<Catalog> getCatalogs = db.queryIterator ("select NAME as CATALOG_NAME,  CATLOG from \"CATALOG\"", Catalog.class);
      • Otra manera de analizar el valor de una sola columna de un conjunto de resultados devuelto por una sentencia SELECT, es pulsar con el botón derecho del ratón sobre el nombre o el alias de la columna en una sentencia SELECT que se utilice para inicializar una variable. Luego, seleccione Desarrollo de acceso a datos > Análisis de código fuente > Analizar dependencia de valores de columna.
        En el ejemplo siguiente, se analizará el valor de la columna NAME.
        @Sql String sqlStmt = "select NAME, CATLOG from \"CATALOG\"";
        Iterator<Catalog> getCatalogs = db.queryIterator ("select NAME as CATALOG_NAME,  CATLOG from \"CATALOG\"", Catalog.class);
      • Para analizar los valores de todas las columnas de un conjunto de resultados devuelto por una sentencia SELECT (excepto las columnas que se definen con expresiones), pulse el botón derecho del ratón en cualquier lugar de la sentencia SELECT en un método de llamada, excepto en un nombre de columna. Luego, seleccione Desarrollo de acceso a datos > Análisis de código fuente > Analizar dependencia de valores de columna.
        En el ejemplo siguiente se coloca el cursor en la palabra SELECT.
        Iterator<Catalog> getCatalogs = db.queryIterator ("select NAME, CATLOG from \"CATALOG\"", Catalog.class);
      • Otra manera de analizar los valores de todas las columnas de un conjunto de resultados devuelto por una sentencia SELECT es pulsar con el botón derecho del ratón en cualquier punto de la sentencia SELECT que se utiliza para inicializar una variable, excepto en un nombre de columna. Luego, seleccione Desarrollo de acceso a datos > Análisis de código fuente > Analizar dependencia de valores de columna.
        En el ejemplo siguiente se coloca el cursor en la palabra SELECT.
        @Sql String sqlStmt = "select NAME, CATLOG from \"CATALOG\"";
        Iterator<Catalog> getCatalogs = db.queryIterator (sqlStmt, Catalog.class);
  2. Examine la vista pureQuery Analysis para ver las sentencias Java que utilizan los valores analizados. Esta vista organiza las entradas con la jerarquía siguiente:
    • Proyecto Java
      • Paquete Java
        • El archivo Java que contiene la sentencia desde la que inició el análisis del código fuente
          • La sentencia desde la que se ha iniciado el análisis del código fuente
            • Las sentencias Java que dependen de los valores seleccionados

Qué hacer a continuación

Si alguna de las columnas contiene tipos de datos marcados como privados en un modelo de dominio, aparecerán en la vista con este indicador Indicador de privacidad Para obtener información sobre cómo marcar los tipos de datos como privados, consulte Adición de información de privacidad de datos a tipos de datos de dominio.

Pulse el botón derecho del ratón sobre una línea de código y seleccione Mostrar en origen para abrir el archivo fuente en el editor Java. La línea se resalta en el editor.

Detenga los análisis que tardan demasiado pulsando en Botón Cancelar.

Filtre los resultados pulsando la flecha abajo en la parte superior de la vista y pulsando Botón Filtrar para abrir la ventana Filtro.

Borre los resultados pulsando en Botón Borrar.


Comentarios