|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.teiid.translator.ExecutionFactory<F,C>
org.teiid.translator.BaseDelegatingExecutionFactory<F,C>
public class BaseDelegatingExecutionFactory<F,C>
Delegate translator. User can define a ExecutionFactory of their own and have this translator
delegate all the calls to that class. Please note that your 'vdb.xml' file will contain
an xml fragment like the following to configure a delegating translator.
<translator type="delegate" name="my-translator" description="custom translator">
<property value="delegateName" name="name of the delegate instance"/>
</translator>
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.teiid.translator.ExecutionFactory |
|---|
ExecutionFactory.NullOrder, ExecutionFactory.SupportedJoinCriteria |
| Field Summary |
|---|
| Fields inherited from class org.teiid.translator.ExecutionFactory |
|---|
DEFAULT_MAX_FROM_GROUPS, DEFAULT_MAX_IN_CRITERIA_SIZE |
| Constructor Summary | |
|---|---|
BaseDelegatingExecutionFactory()
|
|
| Method Summary | |
|---|---|
boolean |
areLobsUsableAfterClose()
Indicates if LOBs are usable after the execution is closed. |
void |
closeConnection(C connection,
F factory)
Closes a connection object from the given connection factory. |
Execution |
createExecution(Command command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
C connection)
Create an execution object for the specified command |
ProcedureExecution |
createProcedureExecution(Call command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
C connection)
|
ResultSetExecution |
createResultSetExecution(QueryExpression command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
C connection)
|
UpdateExecution |
createUpdateExecution(Command command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
C connection)
|
boolean |
equals(java.lang.Object obj)
|
C |
getConnection(F factory,
ExecutionContext executionContext)
Return a connection object from the given connection factory. |
ExecutionFactory.NullOrder |
getDefaultNullOrder()
Returns the default null ordering |
java.lang.String |
getDelegateName()
|
LanguageFactory |
getLanguageFactory()
Obtain a reference to the default LanguageFactory that can be used to construct new language interface objects. |
int |
getMaxFromGroups()
The number of groups supported in the from clause. |
void |
getMetadata(MetadataFactory metadataFactory,
C conn)
Implement to provide metadata to the metadata for use by the engine. |
java.util.List<FunctionMethod> |
getPushDownFunctions()
Get a list of FunctionMethods that will be contributed to the SYS schema. |
java.util.List<java.lang.String> |
getSupportedFunctions()
Get list of all supported function names. |
TypeFacility |
getTypeFacility()
Obtain a reference to the type facility, which can be used to perform many type conversions supplied by the Connector API. |
int |
hashCode()
|
boolean |
isImmutable()
Defines if the Connector is read-only connector |
boolean |
isSourceRequired()
Flag that indicates if a underlying source connection required for this execution factory to work |
void |
setDelegate(ExecutionFactory<F,C> delegate)
|
void |
setDelegateName(java.lang.String delegateName)
|
void |
start()
Initialize the connector with supplied configuration |
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 |
supportsAggregatesEnhancedNumeric()
Support indicates connector can accept STDDEV_POP, STDDEV_VAR, VAR_POP, VAR_SAMP |
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 |
supportsAliasedTable()
Support indicates connector can accept groups with aliases |
boolean |
supportsBatchedUpdates()
Whether the source supports BatchedUpdates |
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 |
boolean |
supportsCommonTableExpressions()
|
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 |
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 |
supportsInsertWithIterator()
Support indicates that the connector can accept INSERTs with values specified by an Iterator |
boolean |
supportsInsertWithQueryExpression()
Support indicates that the connector can accept INSERTs with values specified by a SetQuery or Select |
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 |
supportsOrderByNullOrdering()
Returns whether the database supports explicit join ordering. |
boolean |
supportsOrderByUnrelated()
Support indicates connector accepts ORDER BY clause with columns not from the select |
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 |
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. |
java.lang.String |
toString()
|
boolean |
useAnsiJoin()
Whether the source prefers to use ANSI style joins. |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public BaseDelegatingExecutionFactory()
| Method Detail |
|---|
public void setDelegate(ExecutionFactory<F,C> delegate)
setDelegate in interface DelegatingExecutionFactory<F,C>
@TranslatorProperty(display="Delegate name",
required=true)
public java.lang.String getDelegateName()
getDelegateName in interface DelegatingExecutionFactory<F,C>public void setDelegateName(java.lang.String delegateName)
public void start()
throws TranslatorException
ExecutionFactory
start in class ExecutionFactory<F,C>TranslatorExceptionpublic boolean areLobsUsableAfterClose()
ExecutionFactory
areLobsUsableAfterClose in class ExecutionFactory<F,C>
public void closeConnection(C connection,
F factory)
ExecutionFactoryConnection. Subclasses should override, if they use
another type of connection.
closeConnection in class ExecutionFactory<F,C>
public Execution createExecution(Command command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
C connection)
throws TranslatorException
ExecutionFactory
createExecution in class ExecutionFactory<F,C>command - the commandexecutionContext - Provides information about the context that this command is
executing within, such as the identifiers for the command being executedmetadata - Access to runtime metadata if needed to translate the commandconnection - connection factory object to the data source
TranslatorException
public ProcedureExecution createProcedureExecution(Call command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
C connection)
throws TranslatorException
createProcedureExecution in class ExecutionFactory<F,C>TranslatorException
public ResultSetExecution createResultSetExecution(QueryExpression command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
C connection)
throws TranslatorException
createResultSetExecution in class ExecutionFactory<F,C>TranslatorException
public UpdateExecution createUpdateExecution(Command command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
C connection)
throws TranslatorException
createUpdateExecution in class ExecutionFactory<F,C>TranslatorException
public C getConnection(F factory,
ExecutionContext executionContext)
throws TranslatorException
ExecutionFactoryConnectionFactory. Subclasses should override, if they use
another type of connection factory or wish to use the ExecutionContext. By default calls ExecutionFactory.getConnection(Object)
getConnection in class ExecutionFactory<F,C>executionContext - null if this is a system request for a connection
TranslatorExceptionpublic ExecutionFactory.NullOrder getDefaultNullOrder()
ExecutionFactory
getDefaultNullOrder in class ExecutionFactory<F,C>ExecutionFactory.NullOrderpublic LanguageFactory getLanguageFactory()
ExecutionFactory
getLanguageFactory in class ExecutionFactory<F,C>public int getMaxFromGroups()
ExecutionFactory
getMaxFromGroups in class ExecutionFactory<F,C>
public void getMetadata(MetadataFactory metadataFactory,
C conn)
throws TranslatorException
ExecutionFactory
getMetadata in class ExecutionFactory<F,C>TranslatorExceptionpublic java.util.List<FunctionMethod> getPushDownFunctions()
ExecutionFactoryFunctionMethods that will be contributed to the SYS schema.
To avoid conflicts with system functions, the function name should contain a
qualifier - typically <translator name>.<function name>
getPushDownFunctions in class ExecutionFactory<F,C>ExecutionFactory#addPushDownFunction(String, String, FunctionParameter, FunctionParameter...)public java.util.List<java.lang.String> getSupportedFunctions()
ExecutionFactory
getSupportedFunctions in class ExecutionFactory<F,C>public TypeFacility getTypeFacility()
ExecutionFactory
getTypeFacility in class ExecutionFactory<F,C>public boolean isImmutable()
ExecutionFactory
isImmutable in class ExecutionFactory<F,C>public boolean isSourceRequired()
ExecutionFactory
isSourceRequired in class ExecutionFactory<F,C>public boolean supportsAggregatesAvg()
ExecutionFactory
supportsAggregatesAvg in class ExecutionFactory<F,C>public boolean supportsAggregatesCount()
ExecutionFactory
supportsAggregatesCount in class ExecutionFactory<F,C>public boolean supportsAggregatesCountStar()
ExecutionFactory
supportsAggregatesCountStar in class ExecutionFactory<F,C>public boolean supportsAggregatesDistinct()
ExecutionFactory
supportsAggregatesDistinct in class ExecutionFactory<F,C>public boolean supportsAggregatesEnhancedNumeric()
ExecutionFactory
supportsAggregatesEnhancedNumeric in class ExecutionFactory<F,C>public boolean supportsAggregatesMax()
ExecutionFactory
supportsAggregatesMax in class ExecutionFactory<F,C>public boolean supportsAggregatesMin()
ExecutionFactory
supportsAggregatesMin in class ExecutionFactory<F,C>public boolean supportsAggregatesSum()
ExecutionFactory
supportsAggregatesSum in class ExecutionFactory<F,C>public boolean supportsAliasedTable()
ExecutionFactory
supportsAliasedTable in class ExecutionFactory<F,C>public boolean supportsBatchedUpdates()
ExecutionFactoryBatchedUpdates
supportsBatchedUpdates in class ExecutionFactory<F,C>public boolean supportsBetweenCriteria()
ExecutionFactory
supportsBetweenCriteria in class ExecutionFactory<F,C>public boolean supportsBulkUpdate()
ExecutionFactory
supportsBulkUpdate in class ExecutionFactory<F,C>public boolean supportsCaseExpressions()
ExecutionFactory
supportsCaseExpressions in class ExecutionFactory<F,C>public boolean supportsCommonTableExpressions()
supportsCommonTableExpressions in class ExecutionFactory<F,C>public boolean supportsCompareCriteriaEquals()
ExecutionFactory
supportsCompareCriteriaEquals in class ExecutionFactory<F,C>public boolean supportsCompareCriteriaOrdered()
ExecutionFactory
supportsCompareCriteriaOrdered in class ExecutionFactory<F,C>public boolean supportsCorrelatedSubqueries()
ExecutionFactory
supportsCorrelatedSubqueries in class ExecutionFactory<F,C>public boolean supportsExcept()
ExecutionFactory
supportsExcept in class ExecutionFactory<F,C>public boolean supportsExistsCriteria()
ExecutionFactory
supportsExistsCriteria in class ExecutionFactory<F,C>public boolean supportsFunctionsInGroupBy()
ExecutionFactorySupport indicates that the connector supports functions in GROUP BY, such as:
SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate)
supportsFunctionsInGroupBy in class ExecutionFactory<F,C>public boolean supportsGroupBy()
ExecutionFactory
supportsGroupBy in class ExecutionFactory<F,C>public boolean supportsHaving()
ExecutionFactory
supportsHaving in class ExecutionFactory<F,C>public boolean supportsInCriteria()
ExecutionFactory
supportsInCriteria in class ExecutionFactory<F,C>public boolean supportsInCriteriaSubquery()
ExecutionFactory
supportsInCriteriaSubquery in class ExecutionFactory<F,C>public boolean supportsInlineViews()
ExecutionFactory
supportsInlineViews in class ExecutionFactory<F,C>public boolean supportsInsertWithIterator()
ExecutionFactoryIterator
supportsInsertWithIterator in class ExecutionFactory<F,C>public boolean supportsInsertWithQueryExpression()
ExecutionFactorySetQuery or Select
supportsInsertWithQueryExpression in class ExecutionFactory<F,C>public boolean supportsIntersect()
ExecutionFactory
supportsIntersect in class ExecutionFactory<F,C>public boolean supportsIsNullCriteria()
ExecutionFactory
supportsIsNullCriteria in class ExecutionFactory<F,C>public boolean supportsLikeCriteria()
ExecutionFactory
supportsLikeCriteria in class ExecutionFactory<F,C>public boolean supportsLikeCriteriaEscapeCharacter()
ExecutionFactory
supportsLikeCriteriaEscapeCharacter in class ExecutionFactory<F,C>public boolean supportsNotCriteria()
ExecutionFactory
supportsNotCriteria in class ExecutionFactory<F,C>public boolean supportsOrCriteria()
ExecutionFactory
supportsOrCriteria in class ExecutionFactory<F,C>public boolean supportsOrderByNullOrdering()
ExecutionFactory
supportsOrderByNullOrdering in class ExecutionFactory<F,C>public boolean supportsOrderByUnrelated()
ExecutionFactory
supportsOrderByUnrelated in class ExecutionFactory<F,C>public boolean supportsQuantifiedCompareCriteriaAll()
ExecutionFactory
supportsQuantifiedCompareCriteriaAll in class ExecutionFactory<F,C>public boolean supportsQuantifiedCompareCriteriaSome()
ExecutionFactory
supportsQuantifiedCompareCriteriaSome in class ExecutionFactory<F,C>public boolean supportsRowLimit()
ExecutionFactory
supportsRowLimit in class ExecutionFactory<F,C>public boolean supportsRowOffset()
ExecutionFactory
supportsRowOffset in class ExecutionFactory<F,C>public boolean supportsScalarSubqueries()
ExecutionFactory
supportsScalarSubqueries in class ExecutionFactory<F,C>public boolean supportsSearchedCaseExpressions()
ExecutionFactory
supportsSearchedCaseExpressions in class ExecutionFactory<F,C>public boolean supportsSelectExpression()
ExecutionFactory
supportsSelectExpression in class ExecutionFactory<F,C>public boolean supportsSelfJoins()
ExecutionFactoryExecutionFactory.supportsAliasedTable().
supportsSelfJoins in class ExecutionFactory<F,C>public boolean supportsSetQueryOrderBy()
ExecutionFactory
supportsSetQueryOrderBy in class ExecutionFactory<F,C>public boolean supportsUnions()
ExecutionFactory
supportsUnions in class ExecutionFactory<F,C>public java.lang.String toString()
toString in class java.lang.Objectpublic boolean useAnsiJoin()
ExecutionFactory
useAnsiJoin in class ExecutionFactory<F,C>public boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||