Table of Contents

Search

  1. Preface
  2. Introduction to Informatica Connector Toolkit
  3. Before you begin
  4. Develop a connector for Cloud Data Integration
  5. Develop a connector for Data Loader
  6. Import a connector
  7. Connection attributes
  8. Type system
  9. Connector metadata
  10. Partitioning capability
  11. Pushdown capability
  12. Mappings in advanced mode
  13. Manual changes to Informatica Connector Toolkit source code
  14. Runtime behavior
  15. Connector example: MySQL_Cloud
  16. Version control integration
  17. Appendix A: Metadata models
  18. Appendix B: ASO model
  19. Appendix C: Connector project migration
  20. Appendix D: Frequently used generic APIs in Informatica Connector Toolkit
  21. Appendix E: Frequently asked questions

Cloud Data Integration Connector Toolkit Developer Guide

Cloud Data Integration Connector Toolkit Developer Guide

Classes and methods for pushdown capabilities

Classes and methods for pushdown capabilities

After you define the connector metadata for pushdown capability and generate the code, the Informatica Connector Toolkit adds the pushdown specific parameters to the
adapter.contribution.plugin.xml
.
Changes to adapter.contribution.plugin.xml
Informatica Connector Toolkit adds the following section to the adapter.contribution.plugin.xml file:
  • The SourceToTargetPushdown section defines the connections for which you want to support full pushdown.
    The SourceToTargetPushdown section is populated with the following attributes as defined in the connector metadata:
    • adapterID. Specifies the connector ID of the source.
    • sourcePushdown. Set to true if you enable
      Support Source Pushdown
      in the connector metadata.
      The Informatica Connector Toolkit currently does not implement the source pushdown logic for a connector.
    • multiTargetSupport. Set to true if you enable
      Support Multi Target
      in the connector metadata.
  • The InputProjectionSupport section defines the support for full pushdown for different transformations.
    The InputProjectionSupport section includes the following elements:
    • FilterOperation
    • JoinOperation
    • ExpressionOperation
    • AggregatorOperation
    • LookupOperation
    • SortOperation
    If you enable full pushdown for a transformation in the connector metadata, the Informatica Connector Toolkit sets the supportsPushdown attribute to true for the respective transformation element.
runtime.pdo
The Informatica Connector Toolkit provides the following classes and interfaces to implement pushdown logic:
  • Renderer Class
    This class converts the ASG to an SQL query string by traversing each node type. Each node type represents a query concept. Each rendered node type will return a string. Once all the node types are traversed successfully, a pushdown SQL Query is generated.
  • Visitor Class
    The connector can override the visitXXXNode functions to generate a connector specific query. The expression visitor functions are not directly invoked. These functions are invoked when connector runs the utility API such as
    SDKPushdownUtils::getPushdownSQL
    either at runtime to generate the connector specific SQL query or during the validation phase to check if the connector supports the generated query.
  • TypeHandler Class
    Implements the typeHandler interface to create the connector context and type conversion handler that is used to generate the pushdown query.
  • TypeConversionHandler Class
    This class implements the TypeConversionHandler interface to handle the conversion from the platform type to the AdapterType or from the Adapter native type to the AdapterType.
  • TypeContext Class
    The TypeContext captures the container typesystem context belongs to the platform type or the AdapterType.
  • Pair Class
    The Pair class and the respective functions are used in the ASG traversal. Do not modify this class or any function in this class.
  • AdapterType Interface
    Native typesystem is a limited or static interface based on proprietary Informatica APIs and XML based registries. It does not allow you to control the type semantics programmatically using APIs such as
    AdapterType::isA
    or add plain old java objects such as
    public static class Varchar implements AdapterType
    .
    AdapterType is a part of SDkQueryNode hierarchy.
  • Engine Class
    The Engine class implements SDKEngine interface that helps you to identify the engine type for mappings and elastic mappings
  • Post Proc Class
    The Post Proc class extends the Renderer class to traverse ASG and generate the SQL query string. It also optimizes the pushdown query.
For more information about implementing these classes, see the sample source code of the MySQL_Cloud Connector available with the Informatica Connector Toolkit.

0 COMMENTS

We’d like to hear from you!