public class ExecutionFactory<F,C> extends Object
The primary entry point for a Translator. This class should be extended by the custom translator writer. The deployer instantiates this class through reflection. So it is important to have no-arg constructor. Once constructed the "start" method is called. This class represents the basic capabilities of the translator.
Modifier and Type | Class and Description |
---|---|
static class |
ExecutionFactory.Format |
static class |
ExecutionFactory.NullOrder |
static class |
ExecutionFactory.SupportedJoinCriteria |
static class |
ExecutionFactory.TransactionSupport |
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_MAX_FROM_GROUPS |
static int |
DEFAULT_MAX_IN_CRITERIA_SIZE |
static int |
DEFAULT_MAX_PROJECTED_COLUMNS |
Constructor and Description |
---|
ExecutionFactory() |
Modifier and Type | Method and Description |
---|---|
protected FunctionMethod |
addPushDownFunction(String qualifier,
String name,
String returnType,
String... paramTypes)
Adds a pushdown function.
|
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.
|
ProcedureExecution |
createDirectExecution(List<Argument> arguments,
Command command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
C connection) |
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) |
CacheDirective |
getCacheDirective(Command command,
ExecutionContext executionContext,
RuntimeMetadata metadata)
Get the
CacheDirective to control command caching. |
String |
getCollationLocale()
Indicates the collation used for sorting
|
C |
getConnection(F factory)
Deprecated.
|
C |
getConnection(F factory,
ExecutionContext executionContext)
Return a connection object from the given connection factory.
|
ExecutionFactory.NullOrder |
getDefaultNullOrder()
Returns the default null ordering
|
String |
getDirectQueryProcedureName()
Defines the name of the direct processing procedure.
|
String |
getExcludedCommonTableExpressionName() |
static <T> T |
getInstance(Class<T> expectedType,
String className,
Collection<?> ctorObjs,
Class<? extends T> defaultClass) |
LanguageFactory |
getLanguageFactory()
Obtain a reference to the default LanguageFactory that can be used to construct
new language interface objects.
|
int |
getMaxDependentInPredicates()
Get the integer value representing the max number of dependent IN predicates.
|
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
|
int |
getMaxProjectedColumns()
The number of columns supported in projected select clause.
|
void |
getMetadata(MetadataFactory metadataFactory,
C conn)
Implement to provide metadata to the metadata for use by the engine.
|
MetadataProcessor<C> |
getMetadataProcessor()
Get a MetadataProcessor for the translator to read the metadata.
|
String |
getNativeQueryProcedureName()
Deprecated.
|
List<FunctionMethod> |
getPushDownFunctions()
Get a list of
FunctionMethod s that will be contributed to the SYS schema. |
Character |
getRequiredLikeEscape()
The required escape character or null if all are supported.
|
List<String> |
getSupportedFunctions()
Get list of all supported function names.
|
ExecutionFactory.SupportedJoinCriteria |
getSupportedJoinCriteria()
Get the supported join criteria.
|
ExecutionFactory.TransactionSupport |
getTransactionSupport() |
TypeFacility |
getTypeFacility()
Obtain a reference to the type facility, which can be used to perform many type
conversions supplied by the Connector API.
|
void |
initCapabilities(C connection)
Will be called by
start() with a null connection if a source connection is not isSourceRequiredForCapabilities() |
boolean |
isCopyLobs() |
boolean |
isForkable()
When forkable the engine may use a separate thread to interact with returned
Execution . |
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
|
boolean |
isSourceRequiredForCapabilities()
If true, the
initCapabilities(Object) method will be consulted prior
to determining the capabilities |
boolean |
isSourceRequiredForMetadata()
Flag that indicates if a underlying source connection required for this execution factory to return metadata
|
boolean |
isThreadBound() |
boolean |
requiresCriteria()
Whether the source supports queries without criteria.
|
boolean |
returnsSingleUpdateCount()
True if only a single value is returned for the update count.
|
void |
setCollationLocale(String collation) |
void |
setCopyLobs(boolean copyLobs) |
void |
setDirectQueryProcedureName(String name) |
void |
setExcludedCommonTableExpressionName(String excludedCommonTableExpressionName) |
void |
setImmutable(boolean arg0) |
void |
setMaxDependentInPredicates(int maxDependentInPredicates) |
void |
setMaxInCriteriaSize(int maxInSize) |
void |
setNativeQueryProcedureName(String name)
Deprecated.
|
void |
setRequiresCriteria(boolean requiresCriteria) |
void |
setSourceRequired(boolean value) |
void |
setSourceRequiredForMetadata(boolean sourceRequiredForMetadata) |
void |
setSupportedJoinCriteria(ExecutionFactory.SupportedJoinCriteria supportedJoinCriteria) |
void |
setSupportsDirectQueryProcedure(boolean state) |
void |
setSupportsFullOuterJoins(boolean supportsFullOuterJoins) |
void |
setSupportsInnerJoins(boolean supportsInnerJoins) |
void |
setSupportsNativeQueries(boolean state)
Deprecated.
|
void |
setSupportsOrderBy(boolean supportsOrderBy) |
void |
setSupportsOuterJoins(boolean supportsOuterJoins) |
void |
setSupportsSelectDistinct(boolean supportsSelectDistinct) |
void |
setThreadBound(boolean threadBound) |
void |
setTransactionSupport(ExecutionFactory.TransactionSupport transactionSupport) |
void |
start()
Initialize the connector with supplied configuration
|
boolean |
supportsAdvancedOlapOperations() |
boolean |
supportsAggregatesAvg()
Support indicates connector can accept the AVG aggregate function
|
boolean |
supportsAggregatesCount()
Support indicates connector can accept the COUNT aggregate function
|
boolean |
supportsAggregatesCountBig() |
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 |
supportsArrayAgg() |
boolean |
supportsArrayType()
The engine uses array types for dependent joins and for array expression.
|
boolean |
supportsBatchedUpdates()
Whether the source supports
BatchedUpdates |
boolean |
supportsBulkUpdate()
Whether the source supports updates with multiple value sets
|
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 |
supportsCompareCriteriaOrderedExclusive()
Support indicates connector accepts criteria of form (element <|> constant)
|
boolean |
supportsConvert(int fromType,
int toType)
Used for fine grained control of convert/cast pushdown.
|
boolean |
supportsCorrelatedSubqueries()
Support indicates connector can accept correlated subqueries wherever subqueries
are accepted
|
boolean |
supportsCorrelatedSubqueryLimit() |
boolean |
supportsDependentJoins()
NOTE: The pushed independent tuples will not have been
converted to a unique set and may contain duplicates.
|
boolean |
supportsDirectQueryProcedure()
True, if this translator supports execution of source specific commands unaltered through a direct procedure.
|
boolean |
supportsElementaryOlapOperations() |
boolean |
supportsExcept()
Support indicates that the connector supports the EXCEPT of two queries.
|
boolean |
supportsExistsCriteria()
Support indicates connector accepts the EXISTS criteria
|
boolean |
supportsFormatLiteral(String literal,
ExecutionFactory.Format format) |
boolean |
supportsFullDependentJoins() |
boolean |
supportsFullOuterJoins()
Support indicates connector can accept full outer joins
|
boolean |
supportsFunctionsInGroupBy()
Support indicates that the connector supports non-column expressions in GROUP BY, such as:
SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate) |
boolean |
supportsGeographyType()
If the geography type is supported by the standard ST_ geospatial functions
|
boolean |
supportsGroupBy()
Whether the source supports an explicit GROUP BY clause
|
boolean |
supportsGroupByMultipleDistinctAggregates()
Whether the source supports grouping with multiple distinct aggregates
|
boolean |
supportsGroupByRollup() |
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()
|
boolean |
supportsIntersect()
Support indicates that the connector supports the INTERSECT of two queries.
|
boolean |
supportsIsDistinctCriteria()
Support indicates connector accepts criteria of form (exp1 IS DISTINCT exp2)
|
boolean |
supportsIsNullCriteria()
Support indicates connector accepts criteria of form (element IS NULL)
|
boolean |
supportsLateralJoin() |
boolean |
supportsLateralJoinCondition() |
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 |
supportsLikeRegex() |
boolean |
supportsListAgg() |
boolean |
supportsMultipleOpenExecutions() |
boolean |
supportsNativeQueries()
Deprecated.
|
boolean |
supportsNotCriteria()
Support indicates connector accepts logical criteria NOT
|
boolean |
supportsOnlyCorrelatedSubqueries() |
boolean |
supportsOnlyFormatLiterals()
|
boolean |
supportsOnlyLateralJoinProcedure() |
boolean |
supportsOnlyLiteralComparison() |
boolean |
supportsOnlySingleTableGroupBy()
Whether the source supports grouping only over a single table
|
boolean |
supportsOnlyTimestampAddLiteral() |
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 |
supportsOrderByNullOrdering()
Returns whether the database supports explicit null ordering.
|
boolean |
supportsOrderByUnrelated()
Support indicates connector accepts ORDER BY clause with columns not from the select
|
boolean |
supportsOrderByWithExtendedGrouping() |
boolean |
supportsOuterJoins()
Support indicates connector can accept left outer joins
|
boolean |
supportsPartialFiltering()
Return true if the source has columns marked with the teiid_rel:partial that
can return more rows than specified by a filter if the column is also projected.
|
boolean |
supportsProcedureParameterExpression()
Return true if the translator supports expressions as procedure paramters.
|
boolean |
supportsProcedureTable() |
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 |
supportsRecursiveCommonTableExpressions() |
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 |
supportsScalarSubqueryProjection()
If a scalar subquery can be projected.
|
boolean |
supportsSearchedCaseExpressions()
Support indicates connector can accept queries with searched CASE WHEN criteria ...
|
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 |
supportsSelectExpressionArrayType() |
boolean |
supportsSelectWithoutFrom() |
boolean |
supportsSelfJoins()
Support indicates connector can accept self-joins where a
group is joined to itself with aliases.
|
boolean |
supportsSetQueryLimitOffset()
Support indicates that the connector supports an LIMIT/OFFSET on a SetQuery.
|
boolean |
supportsSetQueryOrderBy()
Support indicates that the connector supports an ORDER BY on a SetQuery.
|
boolean |
supportsSimilarTo() |
boolean |
supportsStringAgg() |
boolean |
supportsSubqueryCommonTableExpressions() |
boolean |
supportsSubqueryInOn()
Refines subquery support.
|
boolean |
supportsUnions()
Support indicates that the connector supports the UNION of two queries.
|
boolean |
supportsUpsert() |
boolean |
supportsWindowDistinctAggregates() |
boolean |
supportsWindowFrameClause() |
boolean |
supportsWindowFunctionCumeDist() |
boolean |
supportsWindowFunctionNthValue() |
boolean |
supportsWindowFunctionNtile() |
boolean |
supportsWindowFunctionPercentRank() |
boolean |
supportsWindowOrderByWithAggregates() |
boolean |
useAnsiJoin()
Whether the source prefers to use ANSI style joins.
|
boolean |
useBindingsForDependentJoin()
If dependent join predicates should use literals that are marked as bind eligible.
|
public static final int DEFAULT_MAX_FROM_GROUPS
public static final int DEFAULT_MAX_PROJECTED_COLUMNS
public static final int DEFAULT_MAX_IN_CRITERIA_SIZE
public void start() throws TranslatorException
TranslatorException
@TranslatorProperty(display="Is Immutable", description="Is Immutable, True if the source never changes.", advanced=true) public boolean isImmutable()
public void setImmutable(boolean arg0)
@TranslatorProperty(display="Copy LOBs", description="If true, returned LOBs will be copied, rather than streamed from the source", advanced=true) public boolean isCopyLobs()
public void setCopyLobs(boolean copyLobs)
@Deprecated public C getConnection(F factory) throws TranslatorException
ConnectionFactory
. Subclasses should override, if they use
another type of connection factory.factory
- TranslatorException
getConnection(Object, ExecutionContext)
public C getConnection(F factory, ExecutionContext executionContext) throws TranslatorException
ConnectionFactory
. Subclasses should override, if they use
another type of connection factory or wish to use the ExecutionContext
. By default calls getConnection(Object)
factory
- executionContext
- null if this is a system request for a connectionTranslatorException
public void closeConnection(C connection, F factory)
Connection
. Subclasses should override, if they use
another type of connection.connection
- factory
- public boolean isSourceRequired()
public void setSourceRequired(boolean value)
public boolean isSourceRequiredForMetadata()
public boolean isSourceRequiredForCapabilities()
initCapabilities(Object)
method will be consulted prior
to determining the capabilitiespublic void initCapabilities(C connection) throws TranslatorException
start()
with a null connection if a source connection is not isSourceRequiredForCapabilities()
connection
- TranslatorException
public void setSourceRequiredForMetadata(boolean sourceRequiredForMetadata)
public LanguageFactory getLanguageFactory()
public TypeFacility getTypeFacility()
public Execution createExecution(Command command, ExecutionContext executionContext, RuntimeMetadata metadata, C connection) throws TranslatorException
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 sourceTranslatorException
public ResultSetExecution createResultSetExecution(QueryExpression command, ExecutionContext executionContext, RuntimeMetadata metadata, C connection) throws TranslatorException
TranslatorException
public ProcedureExecution createProcedureExecution(Call command, ExecutionContext executionContext, RuntimeMetadata metadata, C connection) throws TranslatorException
TranslatorException
public UpdateExecution createUpdateExecution(Command command, ExecutionContext executionContext, RuntimeMetadata metadata, C connection) throws TranslatorException
TranslatorException
public ProcedureExecution createDirectExecution(List<Argument> arguments, Command command, ExecutionContext executionContext, RuntimeMetadata metadata, C connection) throws TranslatorException
TranslatorException
public MetadataProcessor<C> getMetadataProcessor()
@TranslatorProperty(display="Supports Select Distinct", description="True, if this connector supports SELECT DISTINCT", advanced=true) public boolean supportsSelectDistinct()
public void setSupportsSelectDistinct(boolean supportsSelectDistinct)
public boolean supportsSelectExpression()
public boolean supportsAliasedTable()
@TranslatorProperty(display="Supported Join Criteria", description="Returns one of any, theta, equi, or key", advanced=true) public ExecutionFactory.SupportedJoinCriteria getSupportedJoinCriteria()
ExecutionFactory.SupportedJoinCriteria.ANY
public void setSupportedJoinCriteria(ExecutionFactory.SupportedJoinCriteria supportedJoinCriteria)
@TranslatorProperty(display="Supports Inner Joins", description="True, if this connector supports inner joins", advanced=true) public boolean supportsInnerJoins()
public void setSupportsInnerJoins(boolean supportsInnerJoins)
public boolean supportsSelfJoins()
supportsAliasedTable()
.@TranslatorProperty(display="Supports Outer Joins", description="True, if this connector supports outer joins", advanced=true) public boolean supportsOuterJoins()
public void setSupportsOuterJoins(boolean supportsOuterJoins)
@TranslatorProperty(display="Supports Full Outer Joins", description="True, if this connector supports full outer joins", advanced=true) public boolean supportsFullOuterJoins()
public void setSupportsFullOuterJoins(boolean supportsFullOuterJoins)
public boolean supportsInlineViews()
public boolean supportsIsDistinctCriteria()
public boolean supportsCompareCriteriaEquals()
public boolean supportsCompareCriteriaOrdered()
public boolean supportsCompareCriteriaOrderedExclusive()
public boolean supportsLikeCriteria()
public boolean supportsLikeCriteriaEscapeCharacter()
public boolean supportsInCriteria()
public boolean supportsInCriteriaSubquery()
public boolean supportsIsNullCriteria()
public boolean supportsOrCriteria()
public boolean supportsNotCriteria()
public boolean supportsExistsCriteria()
public boolean supportsQuantifiedCompareCriteriaSome()
public boolean supportsQuantifiedCompareCriteriaAll()
@TranslatorProperty(display="Supports ORDER BY", description="True, if this connector supports ORDER BY", advanced=true) public boolean supportsOrderBy()
public void setSupportsOrderBy(boolean supportsOrderBy)
@TranslatorProperty(display="Collation Locale", description="The collation locale used by default for sorting.", advanced=true) public String getCollationLocale()
public void setCollationLocale(String collation)
public boolean supportsOrderByUnrelated()
public ExecutionFactory.NullOrder getDefaultNullOrder()
ExecutionFactory.NullOrder
public boolean supportsOrderByNullOrdering()
public boolean supportsGroupBy()
public boolean supportsOnlySingleTableGroupBy()
public boolean supportsGroupByMultipleDistinctAggregates()
public boolean supportsHaving()
public boolean supportsAggregatesSum()
public boolean supportsAggregatesAvg()
public boolean supportsAggregatesMin()
public boolean supportsAggregatesMax()
public boolean supportsAggregatesCount()
public boolean supportsAggregatesCountStar()
public boolean supportsAggregatesDistinct()
public boolean supportsAggregatesEnhancedNumeric()
public boolean supportsStringAgg()
public boolean supportsListAgg()
public boolean supportsScalarSubqueries()
public boolean supportsCorrelatedSubqueries()
public boolean supportsSearchedCaseExpressions()
public boolean supportsUnions()
public boolean supportsSetQueryOrderBy()
public boolean supportsSetQueryLimitOffset()
public boolean supportsIntersect()
public boolean supportsExcept()
public List<String> getSupportedFunctions()
public List<FunctionMethod> getPushDownFunctions()
FunctionMethod
s 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>addPushDownFunction(String, String, String, String...)
protected FunctionMethod addPushDownFunction(String qualifier, String name, String returnType, String... paramTypes)
qualifier
- will be pre-pended to the namename
- returnType
- see TypeFacility.RUNTIME_NAMES
for type namesparamTypes
- see TypeFacility.RUNTIME_NAMES
for type names@TranslatorProperty(display="Max number of IN predicate entries", advanced=true) public int getMaxInCriteriaSize()
public void setMaxInCriteriaSize(int maxInSize)
@TranslatorProperty(display="Max number of dependent IN predicates", advanced=true) public int getMaxDependentInPredicates()
public void setMaxDependentInPredicates(int maxDependentInPredicates)
public boolean supportsFunctionsInGroupBy()
Support indicates that the connector supports non-column expressions in GROUP BY, such as:
SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate)
public boolean supportsRowLimit()
public boolean supportsRowOffset()
public int getMaxFromGroups()
public int getMaxProjectedColumns()
public boolean useAnsiJoin()
@TranslatorProperty(display="Requries Criteria", description="True, if this connector requires criteria on source queries", advanced=true) public boolean requiresCriteria()
public void setRequiresCriteria(boolean requiresCriteria)
public boolean supportsBatchedUpdates()
BatchedUpdates
public boolean supportsBulkUpdate()
public boolean supportsInsertWithQueryExpression()
SetQuery
or Select
public static <T> T getInstance(Class<T> expectedType, String className, Collection<?> ctorObjs, Class<? extends T> defaultClass) throws TranslatorException
TranslatorException
public void getMetadata(MetadataFactory metadataFactory, C conn) throws TranslatorException
metadataFactory
- conn
- may be null if the source is not requiredTranslatorException
- to indicate a recoverable error, otherwise a RuntimeExceptionisSourceRequiredForMetadata()
public boolean areLobsUsableAfterClose()
public boolean supportsCommonTableExpressions()
public boolean supportsRecursiveCommonTableExpressions()
public boolean supportsSubqueryCommonTableExpressions()
public boolean supportsCorrelatedSubqueryLimit()
public boolean supportsAdvancedOlapOperations()
public boolean supportsElementaryOlapOperations()
public boolean supportsWindowFrameClause()
public boolean supportsWindowFunctionNtile()
supportsElementaryOlapOperations()
public boolean supportsWindowOrderByWithAggregates()
public boolean supportsWindowDistinctAggregates()
public boolean supportsArrayAgg()
public boolean supportsSimilarTo()
public boolean supportsLikeRegex()
public boolean supportsConvert(int fromType, int toType)
getSupportedFunctions()
should
contain SourceSystemFunctions.CONVERT
. This method can then return false to indicate
a lack of specific support. The engine will does not care about an unnecessary conversion
where fromType == toType.
By default lob conversion is disabled.fromType
- @see RUNTIME_CODEStoType
- @see RUNTIME_CODESpublic boolean supportsOnlyLiteralComparison()
public boolean supportsDependentJoins()
public boolean supportsFullDependentJoins()
public boolean supportsOnlyFormatLiterals()
public boolean supportsFormatLiteral(String literal, ExecutionFactory.Format format)
literal
- format
- public boolean supportsSubqueryInOn()
public CacheDirective getCacheDirective(Command command, ExecutionContext executionContext, RuntimeMetadata metadata) throws TranslatorException
CacheDirective
to control command caching.
Use CacheDirective.Scope.NONE
to indicate to the engine that no caching should be performed by the engine.
If cache parameters on the CacheDirective
will be changed by the Execution
, then
a new instance of a CacheDirective
should be set each time.
command
- executionContext
- metadata
- TranslatorException
public boolean isForkable()
Execution
.Execution
s can be called in separate threads from the processing thread@TranslatorProperty(display="Thread Bound", description="True, if this translator\'s executions must complete in a single thread.", advanced=true) public boolean isThreadBound()
public boolean supportsArrayType()
public boolean supportsSelectExpressionArrayType()
@Deprecated @TranslatorProperty(display="Deprecated Property:Supports Direct Query Procedure", description="Deprecated Property, Use Supports Direct Query Procedure instead", advanced=true) public final boolean supportsNativeQueries()
supportsDirectQueryProcedure()
@Deprecated public final void setSupportsNativeQueries(boolean state)
setSupportsDirectQueryProcedure(boolean)
@TranslatorProperty(display="Supports Direct Query Procedure", description="True, if this translator supports execution of source specific commands unaltered through a direct procedure", advanced=true) public boolean supportsDirectQueryProcedure()
public void setSupportsDirectQueryProcedure(boolean state)
@Deprecated @TranslatorProperty(display="Deprecated Property:Direct Query Procedure Name", description="Deprecated Property, use Direct Query Procedure Name", advanced=true) public final String getNativeQueryProcedureName()
getDirectQueryProcedureName()
@Deprecated public final void setNativeQueryProcedureName(String name)
setDirectQueryProcedureName(String)
@TranslatorProperty(display="Direct Query Procedure Name", description="The name of the direct query procedure", advanced=true) public String getDirectQueryProcedureName()
public void setDirectQueryProcedureName(String name)
public boolean supportsOnlyCorrelatedSubqueries()
public boolean supportsSelectWithoutFrom()
public boolean supportsGroupByRollup()
public boolean supportsOrderByWithExtendedGrouping()
public void setThreadBound(boolean threadBound)
public boolean returnsSingleUpdateCount()
public boolean supportsPartialFiltering()
public boolean useBindingsForDependentJoin()
public Character getRequiredLikeEscape()
public boolean supportsScalarSubqueryProjection()
@TranslatorProperty(display="Transaction Support", description="The level of transaction support. Used by the engine to determine if a transaction is needed for autoCommit mode.", advanced=true) public ExecutionFactory.TransactionSupport getTransactionSupport()
public void setTransactionSupport(ExecutionFactory.TransactionSupport transactionSupport)
@TranslatorProperty(display="Excluded Common Table Expression Name", description="Set if the source won\'t support the given common table expression name.", advanced=true) public String getExcludedCommonTableExpressionName()
public void setExcludedCommonTableExpressionName(String excludedCommonTableExpressionName)
public boolean supportsLateralJoin()
public boolean supportsLateralJoinCondition()
public boolean supportsOnlyLateralJoinProcedure()
public boolean supportsProcedureTable()
public boolean supportsUpsert()
public boolean supportsOnlyTimestampAddLiteral()
public boolean supportsWindowFunctionPercentRank()
supportsElementaryOlapOperations()
public boolean supportsWindowFunctionCumeDist()
supportsElementaryOlapOperations()
public boolean supportsWindowFunctionNthValue()
supportsElementaryOlapOperations()
public boolean supportsMultipleOpenExecutions()
public boolean supportsAggregatesCountBig()
supportsAggregatesCount()
will be consulted by the engine, this capability
only affects the name of the pushed count function if a long value is expectedpublic boolean supportsGeographyType()
public boolean supportsProcedureParameterExpression()
Copyright © 2020. All rights reserved.