org.teiid.connector.api
Interface ConnectorCapabilities

All Known Implementing Classes:
AccessCapabilities, BasicConnectorCapabilities, DB2Capabilities, DerbyCapabilities, InformixCapabilities, JDBCCapabilities, LDAPConnectorCapabilities, LoopbackCapabilities, MMCapabilities, MySQL5Capabilities, MySQLCapabilities, ObjectConnectorCapabilities, OracleCapabilities, OracleSpatialCapabilities, PostgreSQLCapabilities, SalesforceCapabilities, SequeLinkOracleCapabilities, SimpleCapabilities, SqlServerCapabilities, SybaseCapabilities, TeradataCapabilities, TextCapabilities, XMLCapabilities, XMLSourceCapabilities

public interface ConnectorCapabilities

Allows a connector to specify the capabilities that a connector supports.


Nested Class Summary
static class ConnectorCapabilities.SupportedJoinCriteria
           
 
Method Summary
 int getMaxFromGroups()
          The number of groups supported in the from clause.
 int getMaxInCriteriaSize()
          Get the integer value representing the number of values allowed in an IN criteria in the WHERE clause of a query
 java.util.List<java.lang.String> getSupportedFunctions()
          Get list of all supported function names.
 ConnectorCapabilities.SupportedJoinCriteria getSupportedJoinCriteria()
          Get the supported join criteria.
 boolean requiresCriteria()
          Whether the source supports queries without criteria.
 boolean supportsAggregatesAvg()
          Support indicates connector can accept the AVG aggregate function
 boolean supportsAggregatesCount()
          Support indicates connector can accept the COUNT aggregate function
 boolean supportsAggregatesCountStar()
          Support indicates connector can accept the COUNT(*) aggregate function
 boolean supportsAggregatesDistinct()
          Support indicates connector can accept DISTINCT within aggregate functions
 boolean supportsAggregatesMax()
          Support indicates connector can accept the MAX aggregate function
 boolean supportsAggregatesMin()
          Support indicates connector can accept the MIN aggregate function
 boolean supportsAggregatesSum()
          Support indicates connector can accept the SUM aggregate function
 boolean supportsAliasedGroup()
          Support indicates connector can accept groups with aliases
 boolean supportsBatchedUpdates()
          Whether the source supports IBatchedUpdates
 boolean supportsBetweenCriteria()
          Support indicates connector accepts criteria of form (element BETWEEN constant AND constant)
NOT CURRENTLY USED - between is rewritten as compound compare criteria
 boolean supportsBulkUpdate()
          Whether the source supports updates with multiple value sets
 boolean supportsCaseExpressions()
          Support indicates connector can accept queries with non-searched CASE WHEN ...
 boolean supportsCompareCriteriaEquals()
          Support indicates connector accepts criteria of form (element = constant)
 boolean supportsCompareCriteriaOrdered()
          Support indicates connector accepts criteria of form (element <=|>= constant)
The query engine will may pushdown queries containing < or > if NOT is also supported.
 boolean supportsCorrelatedSubqueries()
          Support indicates connector can accept correlated subqueries wherever subqueries are accepted
 boolean supportsExcept()
          Support indicates that the connector supports the EXCEPT of two queries.
 boolean supportsExistsCriteria()
          Support indicates connector accepts the EXISTS criteria
 boolean supportsFullOuterJoins()
          Support indicates connector can accept full outer joins
 boolean supportsFunctionsInGroupBy()
          Support indicates that the connector supports functions in GROUP BY, such as: SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate)
 boolean supportsGroupBy()
          Whether the source supports an explicit GROUP BY clause
 boolean supportsHaving()
          Whether the source supports the HAVING clause
 boolean supportsInCriteria()
          Support indicates connector accepts criteria of form (element IN set)
 boolean supportsInCriteriaSubquery()
          Support indicates connector accepts IN criteria with a subquery on the right side
 boolean supportsInlineViews()
          Support indicates connector can accept inline views (subqueries in the FROM clause).
 boolean supportsInnerJoins()
          Support indicates connector can accept inner or cross joins
 boolean supportsInsertWithQueryExpression()
          Support indicates that the connector can accept INSERTs with values specified by an ISetQuery.
 boolean supportsIntersect()
          Support indicates that the connector supports the INTERSECT of two queries.
 boolean supportsIsNullCriteria()
          Support indicates connector accepts criteria of form (element IS NULL)
 boolean supportsLikeCriteria()
          Support indicates connector accepts criteria of form (element LIKE constant)
 boolean supportsLikeCriteriaEscapeCharacter()
          Support indicates connector accepts criteria of form (element LIKE constant ESCAPE char)
 boolean supportsNotCriteria()
          Support indicates connector accepts logical criteria NOT
 boolean supportsOrCriteria()
          Support indicates connector accepts logical criteria connected by OR
 boolean supportsOrderBy()
          Support indicates connector accepts ORDER BY clause, including multiple elements and ascending and descending sorts.
 boolean supportsOuterJoins()
          Support indicates connector can accept left outer joins
 boolean supportsQuantifiedCompareCriteriaAll()
          Support indicates connector accepts the quantified comparison criteria that use ALL
 boolean supportsQuantifiedCompareCriteriaSome()
          Support indicates connector accepts the quantified comparison criteria that use SOME
 boolean supportsRowLimit()
          Gets whether the connector can limit the number of rows returned by a query.
 boolean supportsRowOffset()
          Gets whether the connector supports a SQL clause (similar to the LIMIT with an offset) that can return result sets that start in the middle of the resulting rows returned by a query
 boolean supportsScalarSubqueries()
          Support indicates connector can accept scalar subqueries in the SELECT, WHERE, and HAVING clauses
 boolean supportsSearchedCaseExpressions()
          Support indicates connector can accept queries with searched CASE WHEN ...
 boolean supportsSelectDistinct()
          Support indicates connector can accept queries with SELECT DISTINCT
 boolean supportsSelectExpression()
          Support indicates connector can accept expressions other than element symbols in the SELECT clause.
 boolean supportsSelfJoins()
          Support indicates connector can accept self-joins where a group is joined to itself with aliases.
 boolean supportsSetQueryOrderBy()
          Support indicates that the connector supports an ORDER BY on a SetQuery.
 boolean supportsUnions()
          Support indicates that the connector supports the UNION of two queries.
 boolean useAnsiJoin()
          Whether the source prefers to use ANSI style joins.
 

Method Detail

supportsSelectDistinct

boolean supportsSelectDistinct()
Support indicates connector can accept queries with SELECT DISTINCT

Since:
3.1 SP2

supportsSelectExpression

boolean supportsSelectExpression()
Support indicates connector can accept expressions other than element symbols in the SELECT clause. Specific supports for the expression type are still checked.

Since:
6.1.0

supportsAliasedGroup

boolean supportsAliasedGroup()
Support indicates connector can accept groups with aliases

Since:
3.1 SP2

getSupportedJoinCriteria

ConnectorCapabilities.SupportedJoinCriteria getSupportedJoinCriteria()
Get the supported join criteria. A null return value will be treated as ConnectorCapabilities.SupportedJoinCriteria.ANY

Since:
6.1.0

supportsInnerJoins

boolean supportsInnerJoins()
Support indicates connector can accept inner or cross joins

Since:
6.1.0

supportsSelfJoins

boolean supportsSelfJoins()
Support indicates connector can accept self-joins where a group is joined to itself with aliases. Connector must also support supportsAliasedGroup().

Since:
3.1 SP2

supportsOuterJoins

boolean supportsOuterJoins()
Support indicates connector can accept left outer joins

Since:
3.1 SP2

supportsFullOuterJoins

boolean supportsFullOuterJoins()
Support indicates connector can accept full outer joins

Since:
3.1 SP2

supportsInlineViews

boolean supportsInlineViews()
Support indicates connector can accept inline views (subqueries in the FROM clause).

Since:
4.1

supportsBetweenCriteria

boolean supportsBetweenCriteria()
Support indicates connector accepts criteria of form (element BETWEEN constant AND constant)
NOT CURRENTLY USED - between is rewritten as compound compare criteria

Since:
4.0

supportsCompareCriteriaEquals

boolean supportsCompareCriteriaEquals()
Support indicates connector accepts criteria of form (element = constant)

Since:
3.1 SP2

supportsCompareCriteriaOrdered

boolean supportsCompareCriteriaOrdered()
Support indicates connector accepts criteria of form (element <=|>= constant)
The query engine will may pushdown queries containing < or > if NOT is also supported.

Since:
3.1 SP2

supportsLikeCriteria

boolean supportsLikeCriteria()
Support indicates connector accepts criteria of form (element LIKE constant)

Since:
3.1 SP2

supportsLikeCriteriaEscapeCharacter

boolean supportsLikeCriteriaEscapeCharacter()
Support indicates connector accepts criteria of form (element LIKE constant ESCAPE char)

Since:
3.1 SP2

supportsInCriteria

boolean supportsInCriteria()
Support indicates connector accepts criteria of form (element IN set)

Since:
3.1 SP2

supportsInCriteriaSubquery

boolean supportsInCriteriaSubquery()
Support indicates connector accepts IN criteria with a subquery on the right side

Since:
4.0

supportsIsNullCriteria

boolean supportsIsNullCriteria()
Support indicates connector accepts criteria of form (element IS NULL)

Since:
3.1 SP2

supportsOrCriteria

boolean supportsOrCriteria()
Support indicates connector accepts logical criteria connected by OR

Since:
3.1 SP2

supportsNotCriteria

boolean supportsNotCriteria()
Support indicates connector accepts logical criteria NOT

Since:
3.1 SP2

supportsExistsCriteria

boolean supportsExistsCriteria()
Support indicates connector accepts the EXISTS criteria

Since:
4.0

supportsQuantifiedCompareCriteriaSome

boolean supportsQuantifiedCompareCriteriaSome()
Support indicates connector accepts the quantified comparison criteria that use SOME

Since:
4.0

supportsQuantifiedCompareCriteriaAll

boolean supportsQuantifiedCompareCriteriaAll()
Support indicates connector accepts the quantified comparison criteria that use ALL

Since:
4.0

supportsOrderBy

boolean supportsOrderBy()
Support indicates connector accepts ORDER BY clause, including multiple elements and ascending and descending sorts.

Since:
3.1 SP2

supportsGroupBy

boolean supportsGroupBy()
Whether the source supports an explicit GROUP BY clause

Since:
6.1

supportsHaving

boolean supportsHaving()
Whether the source supports the HAVING clause

Since:
6.1

supportsAggregatesSum

boolean supportsAggregatesSum()
Support indicates connector can accept the SUM aggregate function

Since:
3.1 SP2

supportsAggregatesAvg

boolean supportsAggregatesAvg()
Support indicates connector can accept the AVG aggregate function

Since:
3.1 SP2

supportsAggregatesMin

boolean supportsAggregatesMin()
Support indicates connector can accept the MIN aggregate function

Since:
3.1 SP2

supportsAggregatesMax

boolean supportsAggregatesMax()
Support indicates connector can accept the MAX aggregate function

Since:
3.1 SP2

supportsAggregatesCount

boolean supportsAggregatesCount()
Support indicates connector can accept the COUNT aggregate function

Since:
3.1 SP2

supportsAggregatesCountStar

boolean supportsAggregatesCountStar()
Support indicates connector can accept the COUNT(*) aggregate function

Since:
3.1 SP2

supportsAggregatesDistinct

boolean supportsAggregatesDistinct()
Support indicates connector can accept DISTINCT within aggregate functions

Since:
3.1 SP2

supportsScalarSubqueries

boolean supportsScalarSubqueries()
Support indicates connector can accept scalar subqueries in the SELECT, WHERE, and HAVING clauses

Since:
4.0

supportsCorrelatedSubqueries

boolean supportsCorrelatedSubqueries()
Support indicates connector can accept correlated subqueries wherever subqueries are accepted

Since:
4.0

supportsCaseExpressions

boolean supportsCaseExpressions()
Support indicates connector can accept queries with non-searched CASE WHEN ... END
NOT CURRENTLY USED - case is pushed down as searched case

Since:
4.0

supportsSearchedCaseExpressions

boolean supportsSearchedCaseExpressions()
Support indicates connector can accept queries with searched CASE WHEN ... END

Since:
4.0

supportsUnions

boolean supportsUnions()
Support indicates that the connector supports the UNION of two queries.

Since:
4.2

supportsSetQueryOrderBy

boolean supportsSetQueryOrderBy()
Support indicates that the connector supports an ORDER BY on a SetQuery.

Since:
5.6

supportsIntersect

boolean supportsIntersect()
Support indicates that the connector supports the INTERSECT of two queries.

Since:
5.6

supportsExcept

boolean supportsExcept()
Support indicates that the connector supports the EXCEPT of two queries.

Since:
5.6

getSupportedFunctions

java.util.List<java.lang.String> getSupportedFunctions()
Get list of all supported function names. Arithmetic functions have names like "+".

Since:
3.1 SP3

getMaxInCriteriaSize

int getMaxInCriteriaSize()
Get the integer value representing the number of values allowed in an IN criteria in the WHERE clause of a query

Since:
5.0

supportsFunctionsInGroupBy

boolean supportsFunctionsInGroupBy()

Support indicates that the connector supports functions in GROUP BY, such as: SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate)


NOT CURRENTLY USED - group by expressions create an inline view for pushdown

Since:
5.0

supportsRowLimit

boolean supportsRowLimit()
Gets whether the connector can limit the number of rows returned by a query.

Since:
5.0 SP1

supportsRowOffset

boolean supportsRowOffset()
Gets whether the connector supports a SQL clause (similar to the LIMIT with an offset) that can return result sets that start in the middle of the resulting rows returned by a query

Since:
5.0 SP1

getMaxFromGroups

int getMaxFromGroups()
The number of groups supported in the from clause. Added for a Sybase limitation.

Returns:
the number of groups supported in the from clause, or -1 if there is no limit
Since:
5.6

useAnsiJoin

boolean useAnsiJoin()
Whether the source prefers to use ANSI style joins.

Since:
6.0

requiresCriteria

boolean requiresCriteria()
Whether the source supports queries without criteria.

Since:
6.0

supportsBatchedUpdates

boolean supportsBatchedUpdates()
Whether the source supports IBatchedUpdates

Since:
6.0

supportsBulkUpdate

boolean supportsBulkUpdate()
Whether the source supports updates with multiple value sets

Since:
6.0

supportsInsertWithQueryExpression

boolean supportsInsertWithQueryExpression()
Support indicates that the connector can accept INSERTs with values specified by an ISetQuery.

Since:
6.1


Copyright © 2009. All Rights Reserved.