Índice

Search

  1. Prólogo
  2. Introducción a las transformaciones
  3. Puertos de transformación
  4. Memorias caché de transformaciones
  5. Transformación del validador de direcciones
  6. Transformación de agregación
  7. Transformación de asociación
  8. Transformación de excepción de registros incorrectos
  9. Transformación de conversión de mayúsculas y minúsculas
  10. Transformación de clasificador
  11. Transformación de comparación
  12. Transformación de consolidación
  13. Transformación de enmascaramiento de datos
  14. Transformación del Procesador de datos
  15. Transformación de decisión
  16. Transformación de excepción de registros duplicados
  17. Transformación de expresión
  18. Transformación de filtro
  19. Transformación de jerárquica a relacional
  20. Transformación de Java
  21. Referencia API de transformación de Java
  22. Expresiones de Java
  23. Transformación de incorporación
  24. Transformación de generador de claves
  25. Transformación de etiquetador
  26. Transformación de búsqueda
  27. Memorias caché de búsqueda
  28. Memoria caché de búsqueda dinámica
  29. Transformación de macro
  30. Transformación de coincidencia
  31. Transformaciones de coincidencia en el análisis de campos
  32. Transformaciones de coincidencia en el análisis de identidad
  33. Transformación de normalizador
  34. Transformación de fusión
  35. Transformación de analizador
  36. Transformación de Python
  37. Transformación de rango
  38. Transformación de lectura
  39. Transformación de relacional a jerárquica
  40. Transformación de consumidor de servicio web REST
  41. Transformación de enrutador
  42. Transformación de generador de secuencia
  43. Transformación de ordenación
  44. Transformación de SQL
  45. Transformación de estandarizador
  46. Transformación de unión
  47. Transformación de estrategia de actualización
  48. Transformación de consumidor de servicio web
  49. Análisis de mensajes SOAP del servicio web
  50. Generación de mensajes SOAP del servicio web
  51. Transformación de media ponderada
  52. Transformación de ventana
  53. Transformación de escritura
  54. Apéndice A: Delimitadores de transformación

Guía de transformaciones de Developer

Guía de transformaciones de Developer

Optimización de inserción con la transformación de Java

Optimización de inserción con la transformación de Java

Puede habilitar una transformación de Java activa para la optimización de inserción si no tiene ningún efecto secundario y la optimización no afecta a los resultados de la asignación.
Cuando configure la optimización de inserción para la transformación de Java, puede definir una forma para que la transformación de Java almacene la condición de filtro que recibe desde el optimizador. Añada el código que examina la condición de filtro. Si la transformación de Java puede absorber la lógica de filtro, entonces la transformación de Java devuelve una condición TRUE al optimizador. El optimizador elimina la transformación de filtro de la asignación optimizada.
Cuando configure la transformación de Java escriba el código que almacena la condición de filtro como metadatos de transformación durante la optimización. También puede escribir el código para recuperar la condición de filtro en tiempo de ejecución y para quitar las filas según la lógica de filtro.
Cuando defina la transformación de Java, puede añadir código para la optimización de inserción en la ficha
Interfaces del optimizador
de la transformación de Java. Para acceder a los fragmentos de código para la optimización de inserción, seleccione FilterPushdownOptimization en el navegador de la ficha
Interfaces del optimizador
de la transformación.
Developer Tool muestra los fragmentos de código para habilitar la optimización de inserción y para recibir la condición de filtro del optimizador. Actualice los fragmentos de código para habilitar la optimización y para guardar la lógica de filtro como metadatos de transformación.

isFilterSupported

Devuelve TRUE para habilitar la optimización de inserción. Devuelve FALSE para deshabilitar la optimización de inserción.
Cambie la función para que devuelva TRUE para poder habilitar la optimización de inserción.
public ResultAndMessage isFilterSupported() { // To enable filter push-into optimization this function should return true // return new ResultAndMessage(true, ""); return new ResultAndMessage(false, "Filter push-into optimization is not supported"); }

pushFilter

Recibe la condición de filtro del optimizador.
Añada el código para examinar el filtro y determinar si la lógica de filtro puede utilizarse en la transformación. Si la transformación puede absorber el filtro, entonces use el siguiente método para almacenar la condición de filtro como metadatos de transformación:
storeMetadata(String key, String data)
La clave es un identificador de los metadatos. Puede definir cualquier cadena como clave. Los datos son los datos que desea almacenar en orden para determinar qué filas soltar en tiempo de ejecución. Por ejemplo, los datos pueden ser la condición de filtro que la transformación de Java recibe desde el optimizador.
public ResultAndMessage pushFilter(InfaExpression condition) { // Add code to absorb the filter // If filter is successfully absorbed return new ResultAndMessage(true, ""); and the optimizer // will remove the filter from the mapping // If the filter is not absorbed, return new ResultAndMessage(false, msg); return new ResultAndMessage(false, "Filter push-into optimization is not supported"); }