[teiid-issues] [JBoss JIRA] Commented: (TEIID-203) Make connector capabilites more granular.

Steven Hawkins (JIRA) jira-events at lists.jboss.org
Wed May 6 17:28:46 EDT 2009


    [ https://jira.jboss.org/jira/browse/TEIID-203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12466149#action_12466149 ] 

Steven Hawkins commented on TEIID-203:
--------------------------------------

Implemented the above.  If the salesforce connector declares support for outer joins and only accepts key criteria, then join pushdown will be allowed.

Also the ldap connector should be able to add function support for filters, but with supportsSelectExpressions left as false, they will not be pushed down in the select clause.

There are a couple of issues though.

Our optimizations get in the way of pushdown.  Specifically rewriting like when possible to = and converting outer joins to inner joins.  In both cases we would need to not perform the optimization in the first place or convert into an acceptable form prior to pushdown.  I'm leaning toward the latter.

The next is that salesforce, while requiring key criteria also allows other criteria in the left outer join on clause (which would be the same as having criteria on the nested relationship query in the salesforce query).  With the capabilities as currently defined this would cause the query to not be pushed down.

Both salesforce and ldap like semantics are not the same as SQL.  We could capture this with more capabilities supportsLikeCaseSensitive and supportsLikeWildcardSingleCharacter repectively, or another approach would be to allow the connector to generically indicate partial support and have the query engine both push down the conjunct and leave a copy to be applied after the query.  With either explicit supports or generic partial support it would only applicable to top level where clause conjuncts.  

> Make connector capabilites more granular.
> -----------------------------------------
>
>                 Key: TEIID-203
>                 URL: https://jira.jboss.org/jira/browse/TEIID-203
>             Project: Teiid
>          Issue Type: Feature Request
>          Components: Connector API, Query Engine
>    Affects Versions: 6.0.0
>            Reporter: John Doyle
>            Assignee: Steven Hawkins
>             Fix For: 6.1.0
>
>
> Some connector capabilites are only available in combination with others.  For example, if you wish to support the SupportsAggregatesCount capability, you have to also support the SupportsAggregates capability(GROUP BY and HAVING).  This requirement creates additional requirements for a connector where the source syustem cabilities do not correspond with the relationships we have defined between capabilites.
> For instance, the SQL supported by salesforce can include the count(*) function, but it does not support GROUP BY or HAVING.  Because we require c connector to support SupportsAggregates befrore it can support count(*), the connector is required to implement those functions if it wishes to pus down count(*).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the teiid-issues mailing list