@Translator(name="oracle",
description="A translator for Oracle 9i Database or later")
public class OracleExecutionFactory
extends JDBCExecutionFactory
JDBCExecutionFactory.StructRetrieval| Modifier and Type | Field and Description |
|---|---|
static String |
DUAL |
static org.teiid.util.Version |
ELEVEN_2 |
static org.teiid.util.Version |
ELEVEN_2_0_4 |
static String |
FILTER |
static String |
HINT_PREFIX |
static String |
HINT_SUFFIX |
static String |
NEAREST_NEIGHBOR |
static String |
NEAREST_NEIGHBOR_DISTANCE |
static org.teiid.util.Version |
NINE_0 |
static org.teiid.util.Version |
NINE_2 |
static String |
ORACLE |
static String |
ORACLE_SDO |
static String |
RELATE |
static String |
ROWNUM |
static String |
SEQUENCE |
static org.teiid.util.Version |
TWELVE |
static String |
WITHIN_DISTANCE |
DEFAULT_MAX_DEPENDENT_PREDICATES, DEFAULT_MAX_IN_CRITERIA, DEFAULT_TIME_ZONE, dialect| Constructor and Description |
|---|
OracleExecutionFactory() |
| Modifier and Type | Method and Description |
|---|---|
void |
bindValue(PreparedStatement stmt,
Object param,
Class<?> paramType,
int i)
Sets prepared statement parameter i with param.
|
protected JDBCMetadataProcessor |
createMetadataProcessor()
Deprecated.
|
String |
createTempTable(String string,
List<org.teiid.language.ColumnReference> cols,
org.teiid.translator.ExecutionContext context,
Connection connection)
Create a temp table with the given name prefix and columns
|
ResultSet |
executeStoredProcedure(CallableStatement statement,
List<org.teiid.language.Argument> preparedValues,
Class<?> returnType)
This is a generic implementation.
|
String |
getCreateTemporaryTablePostfix(boolean inTransaction) |
String |
getCreateTemporaryTableString(boolean inTransaction) |
org.teiid.translator.ExecutionFactory.NullOrder |
getDefaultNullOrder() |
String |
getHibernateDialectClassName() |
org.teiid.translator.MetadataProcessor<Connection> |
getMetadataProcessor() |
String |
getSetOperationString(org.teiid.language.SetQuery.Operation operation)
Returns the name for a given
SetQuery.Operation |
String |
getSourceComment(org.teiid.translator.ExecutionContext context,
org.teiid.language.Command command)
Returns the source comment for the given command
|
SQLConversionVisitor |
getSQLConversionVisitor()
Create the
SQLConversionVisitor that will perform translation. |
List<String> |
getSupportedFunctions() |
String |
getTemporaryTableName(String prefix)
uses a random table name strategy with a
retry in the
createTempTable(String, List, ExecutionContext, Connection) method |
void |
handleInsertSequences(org.teiid.language.Insert insert) |
boolean |
hasTimeType()
Return false to indicate that time support should be emulated
with timestamps.
|
void |
initCapabilities(Connection connection) |
void |
intializeConnectionAfterCancel(Connection c)
Implemented if the
Connection needs initialized after a statement cancel |
protected boolean |
isNonAsciiFunction(org.teiid.language.Function f) |
boolean |
isOracleSuppliedDriver() |
protected void |
registerSpecificTypeOfOutParameter(CallableStatement statement,
Class<?> runtimeType,
int index)
For registering specific output parameter types we need to translate these into the appropriate
java.sql.Types output parameters
We will need to match these up with the appropriate standard sql types
|
String |
replaceElementName(String group,
String element)
Don't fully qualify elements if table = DUAL or element = ROWNUM or special stuff is packed into name in source value.
|
Object |
retrieveGeometryValue(ResultSet results,
int paramIndex) |
void |
setOracleSuppliedDriver(boolean oracleNative) |
void |
start() |
boolean |
supportsAggregatesEnhancedNumeric() |
boolean |
supportsArrayType() |
protected boolean |
supportsBooleanExpressions()
if boolean expressions are directly supported.
|
boolean |
supportsCommonTableExpressions() |
boolean |
supportsConvert(int fromType,
int toType) |
boolean |
supportsCorrelatedSubqueryLimit() |
boolean |
supportsElementaryOlapOperations() |
boolean |
supportsExcept() |
boolean |
supportsFormatLiteral(String literal,
org.teiid.translator.ExecutionFactory.Format format) |
boolean |
supportsFunctionsInGroupBy() |
protected boolean |
supportsGeneratedKeys(org.teiid.translator.ExecutionContext context,
org.teiid.language.Command command) |
boolean |
supportsGroupByRollup() |
boolean |
supportsInlineViews() |
boolean |
supportsIntersect() |
boolean |
supportsLikeRegex() |
boolean |
supportsOnlyFormatLiterals() |
boolean |
supportsOrderByNullOrdering() |
boolean |
supportsRecursiveCommonTableExpressions() |
boolean |
supportsRowLimit() |
boolean |
supportsRowOffset() |
boolean |
supportsSelectExpressionArrayType() |
boolean |
supportsSelectWithoutFrom() |
boolean |
supportsSubqueryInOn() |
List<?> |
translate(org.teiid.language.LanguageObject obj,
org.teiid.translator.ExecutionContext context)
Return a List of translated parts (
LanguageObjects and Objects), or null
if to rely on the default translation. |
List<?> |
translateCommand(org.teiid.language.Command command,
org.teiid.translator.ExecutionContext context)
Return a List of translated parts (
LanguageObjects and Objects), or null
if to rely on the default translation. |
org.teiid.language.Expression |
translateGeometrySelect(org.teiid.language.Expression expr)
Translate GEOMETRY column reference into an expression that
will return SRID & WKB.
|
String |
translateLiteralBinaryType(BinaryType obj)
Subclasses should override this method to provide a different sql translation
of the literal varbinary value.
|
String |
translateLiteralTimestamp(Timestamp timestampValue)
Subclasses should override this method to provide a different sql translation
of the literal timestamp value.
|
boolean |
useAsInGroupAlias()
Indicates whether group alias should be of the form
"...FROM groupA AS X" or "...FROM groupA X".
|
boolean |
useColumnNamesForGeneratedKeys() |
protected boolean |
usesDatabaseVersion() |
boolean |
useStreamsForLobs()
If streams should be used for Blob/Clob sets on
PreparedStatements |
boolean |
useUnicodePrefix() |
addSourceComment, afterInitialConnectionObtained, closeConnection, convertObject, createDirectExecution, createProcedureExecution, createResultSetExecution, createUpdateExecution, formatDateValue, formatDateValue, getCommentFormat, getConnection, getCreateTempTableSQL, getDatabaseCalendar, getDatabaseTimeZone, getDatabaseVersion, getDefaultSupportedFunctions, getDialect, getFunctionModifiers, getLateralKeyword, getLikeRegexString, getMaxPreparedInsertBatchSize, getMetadata, getStructRetrieval, getTimestampNanoPrecision, getVersion, isEnableDependentJoins, isNonAscii, isSourceRequired, isSourceRequiredForCapabilities, isTrimStrings, loadedTemporaryTable, obtainedConnection, parseName, registerFunctionModifier, retrieveGeometryValue, retrieveValue, retrieveValue, setCommentFormat, setDatabaseTimeZone, setDatabaseVersion, setDatabaseVersion, setEnableDependentJoins, setFetchSize, setMaxPreparedInsertBatchSize, setStructRetrieval, setTrimStrings, setUseBindingsForDependentJoin, setUseBindVariables, setUseCommentsInSourceQuery, supportsAggregatesAvg, supportsAggregatesCount, supportsAggregatesCountStar, supportsAggregatesDistinct, supportsAggregatesMax, supportsAggregatesMin, supportsAggregatesSum, supportsAliasedTable, supportsBatchedUpdates, supportsBulkUpdate, supportsCompareCriteriaEquals, supportsCompareCriteriaOrdered, supportsCorrelatedSubqueries, supportsDependentJoins, supportsExistsCriteria, supportsFullDependentJoins, supportsGeneratedKeys, supportsGroupBy, supportsHaving, supportsInCriteria, supportsInCriteriaSubquery, supportsInsertWithQueryExpression, supportsIsNullCriteria, supportsLikeCriteria, supportsLikeCriteriaEscapeCharacter, supportsNotCriteria, supportsOrCriteria, supportsOrderByUnrelated, supportsQuantifiedCompareCriteriaAll, supportsQuantifiedCompareCriteriaSome, supportsScalarSubqueries, supportsSearchedCaseExpressions, supportsSelectExpression, supportsSelfJoins, supportsSetQueryOrderBy, supportsUnions, tempTableRequiresTransaction, translateGeometryLiteral, translateGeometryParameter, translateLimit, translateLiteralBoolean, translateLiteralDate, translateLiteralTime, useBindingsForDependentJoin, useBindVariables, useCommentsInSourceQuery, useParensForJoins, useParensForSetQueries, usePreparedStatements, useScientificNotation, useSelectLimit, useWithRollupaddPushDownFunction, areLobsUsableAfterClose, createExecution, getCacheDirective, getCollationLocale, getConnection, getDirectQueryProcedureName, getExcludedCommonTableExpressionName, getInstance, getLanguageFactory, getMaxDependentInPredicates, getMaxFromGroups, getMaxInCriteriaSize, getNativeQueryProcedureName, getPushDownFunctions, getRequiredLikeEscape, getSupportedJoinCriteria, getTransactionSupport, getTypeFacility, isCopyLobs, isForkable, isImmutable, isSourceRequiredForMetadata, isThreadBound, requiresCriteria, returnsSingleUpdateCount, setCollationLocale, setCopyLobs, setDirectQueryProcedureName, setExcludedCommonTableExpressionName, setImmutable, setMaxDependentInPredicates, setMaxInCriteriaSize, setNativeQueryProcedureName, setRequiresCriteria, setSourceRequired, setSourceRequiredForMetadata, setSupportedJoinCriteria, setSupportsDirectQueryProcedure, setSupportsFullOuterJoins, setSupportsInnerJoins, setSupportsNativeQueries, setSupportsOrderBy, setSupportsOuterJoins, setSupportsSelectDistinct, setThreadBound, setTransactionSupport, supportsAdvancedOlapOperations, supportsArrayAgg, supportsCompareCriteriaOrderedExclusive, supportsDirectQueryProcedure, supportsFullOuterJoins, supportsGroupByMultipleDistinctAggregates, supportsInnerJoins, supportsIsDistinctCriteria, supportsLateralJoin, supportsLateralJoinCondition, supportsNativeQueries, supportsOnlyCorrelatedSubqueries, supportsOnlyLiteralComparison, supportsOnlySingleTableGroupBy, supportsOrderBy, supportsOrderByWithExtendedGrouping, supportsOuterJoins, supportsPartialFiltering, supportsProcedureTable, supportsScalarSubqueryProjection, supportsSelectDistinct, supportsSetQueryLimitOffset, supportsSimilarTo, supportsStringAgg, supportsSubqueryCommonTableExpressions, supportsUpsert, supportsWindowDistinctAggregates, supportsWindowOrderByWithAggregates, useAnsiJoinpublic static final org.teiid.util.Version NINE_0
public static final org.teiid.util.Version NINE_2
public static final org.teiid.util.Version ELEVEN_2_0_4
public static final org.teiid.util.Version ELEVEN_2
public static final org.teiid.util.Version TWELVE
public static final String HINT_PREFIX
public static final String HINT_SUFFIX
public static final String DUAL
public static final String ROWNUM
public static final String SEQUENCE
public static final String RELATE
public static final String NEAREST_NEIGHBOR
public static final String FILTER
public static final String WITHIN_DISTANCE
public static final String NEAREST_NEIGHBOR_DISTANCE
public static final String ORACLE_SDO
public static final String ORACLE
public void start()
throws org.teiid.translator.TranslatorException
start in class JDBCExecutionFactoryorg.teiid.translator.TranslatorExceptionpublic void initCapabilities(Connection connection) throws org.teiid.translator.TranslatorException
initCapabilities in class JDBCExecutionFactoryorg.teiid.translator.TranslatorExceptionpublic void handleInsertSequences(org.teiid.language.Insert insert)
throws org.teiid.translator.TranslatorException
org.teiid.translator.TranslatorExceptionpublic List<?> translateCommand(org.teiid.language.Command command, org.teiid.translator.ExecutionContext context)
JDBCExecutionFactoryLanguageObjects and Objects), or null
if to rely on the default translation.translateCommand in class JDBCExecutionFactorypublic boolean useAsInGroupAlias()
JDBCExecutionFactoryuseAsInGroupAlias in class JDBCExecutionFactorypublic String getSetOperationString(org.teiid.language.SetQuery.Operation operation)
JDBCExecutionFactorySetQuery.OperationgetSetOperationString in class JDBCExecutionFactorypublic String getSourceComment(org.teiid.translator.ExecutionContext context, org.teiid.language.Command command)
JDBCExecutionFactorygetSourceComment in class JDBCExecutionFactorypublic String replaceElementName(String group, String element)
replaceElementName in class JDBCExecutionFactoryorg.teiid.language.visitor.SQLStringVisitor#skipGroupInElement(java.lang.String, java.lang.String)public boolean hasTimeType()
JDBCExecutionFactoryhasTimeType in class JDBCExecutionFactorypublic void bindValue(PreparedStatement stmt, Object param, Class<?> paramType, int i) throws SQLException
JDBCExecutionFactorybindValue in class JDBCExecutionFactorySQLExceptionpublic boolean useStreamsForLobs()
JDBCExecutionFactoryPreparedStatementsuseStreamsForLobs in class JDBCExecutionFactorypublic org.teiid.translator.ExecutionFactory.NullOrder getDefaultNullOrder()
getDefaultNullOrder in class JDBCExecutionFactorypublic boolean supportsOrderByNullOrdering()
supportsOrderByNullOrdering in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public SQLConversionVisitor getSQLConversionVisitor()
JDBCExecutionFactorySQLConversionVisitor that will perform translation. Typical custom
JDBC connectors will not need to create custom conversion visitors, rather implementors
should override existing JDBCExecutionFactory methods.getSQLConversionVisitor in class JDBCExecutionFactorySQLConversionVisitorpublic List<String> getSupportedFunctions()
getSupportedFunctions in class JDBCExecutionFactorypublic String translateLiteralTimestamp(Timestamp timestampValue)
JDBCExecutionFactory{ts '2002-12-31 23:59:59'}.
See JDBCExecutionFactory.getTimestampNanoPrecision() to control the literal
precision.translateLiteralTimestamp in class JDBCExecutionFactorytimestampValue - Timestamp value, never nullpublic boolean supportsInlineViews()
supportsInlineViews in class JDBCExecutionFactorypublic boolean supportsFunctionsInGroupBy()
supportsFunctionsInGroupBy in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public boolean supportsRowLimit()
supportsRowLimit in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public boolean supportsRowOffset()
supportsRowOffset in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public boolean supportsExcept()
supportsExcept in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public boolean supportsIntersect()
supportsIntersect in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public boolean supportsAggregatesEnhancedNumeric()
supportsAggregatesEnhancedNumeric in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public boolean supportsElementaryOlapOperations()
supportsElementaryOlapOperations in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public boolean supportsLikeRegex()
supportsLikeRegex in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public void setOracleSuppliedDriver(boolean oracleNative)
@TranslatorProperty(display="Oracle Supplied Driver",
description="True if the driver is an Oracle supplied driver",
advanced=true)
public boolean isOracleSuppliedDriver()
protected void registerSpecificTypeOfOutParameter(CallableStatement statement, Class<?> runtimeType, int index) throws SQLException
JDBCExecutionFactoryregisterSpecificTypeOfOutParameter in class JDBCExecutionFactorySQLExceptionpublic ResultSet executeStoredProcedure(CallableStatement statement, List<org.teiid.language.Argument> preparedValues, Class<?> returnType) throws SQLException
JDBCExecutionFactoryexecuteStoredProcedure in class JDBCExecutionFactorySQLExceptionpublic boolean supportsOnlyFormatLiterals()
supportsOnlyFormatLiterals in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public boolean supportsFormatLiteral(String literal, org.teiid.translator.ExecutionFactory.Format format)
supportsFormatLiteral in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public boolean supportsArrayType()
supportsArrayType in class org.teiid.translator.ExecutionFactory<DataSource,Connection>@Deprecated protected JDBCMetadataProcessor createMetadataProcessor()
createMetadataProcessor in class JDBCExecutionFactorygetMetadataProcessorpublic org.teiid.translator.MetadataProcessor<Connection> getMetadataProcessor()
getMetadataProcessor in class JDBCExecutionFactorypublic boolean supportsCommonTableExpressions()
supportsCommonTableExpressions in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public boolean supportsRecursiveCommonTableExpressions()
supportsRecursiveCommonTableExpressions in class org.teiid.translator.ExecutionFactory<DataSource,Connection>protected boolean supportsGeneratedKeys(org.teiid.translator.ExecutionContext context,
org.teiid.language.Command command)
supportsGeneratedKeys in class JDBCExecutionFactoryprotected boolean usesDatabaseVersion()
usesDatabaseVersion in class JDBCExecutionFactorypublic boolean supportsSelectWithoutFrom()
supportsSelectWithoutFrom in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public String createTempTable(String string, List<org.teiid.language.ColumnReference> cols, org.teiid.translator.ExecutionContext context, Connection connection) throws SQLException
JDBCExecutionFactorycreateTempTable in class JDBCExecutionFactorySQLExceptionpublic String getTemporaryTableName(String prefix)
createTempTable(String, List, ExecutionContext, Connection) methodgetTemporaryTableName in class JDBCExecutionFactorypublic String getCreateTemporaryTablePostfix(boolean inTransaction)
getCreateTemporaryTablePostfix in class JDBCExecutionFactorypublic String getCreateTemporaryTableString(boolean inTransaction)
getCreateTemporaryTableString in class JDBCExecutionFactorypublic String getHibernateDialectClassName()
getHibernateDialectClassName in class JDBCExecutionFactorypublic boolean supportsGroupByRollup()
supportsGroupByRollup in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public org.teiid.language.Expression translateGeometrySelect(org.teiid.language.Expression expr)
JDBCExecutionFactorytranslateGeometrySelect in class JDBCExecutionFactorypublic Object retrieveGeometryValue(ResultSet results, int paramIndex) throws SQLException
retrieveGeometryValue in class JDBCExecutionFactorySQLExceptionpublic void intializeConnectionAfterCancel(Connection c) throws SQLException
JDBCExecutionFactoryConnection needs initialized after a statement cancelintializeConnectionAfterCancel in class JDBCExecutionFactorySQLExceptionpublic boolean supportsCorrelatedSubqueryLimit()
supportsCorrelatedSubqueryLimit in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public boolean useColumnNamesForGeneratedKeys()
useColumnNamesForGeneratedKeys in class JDBCExecutionFactorypublic String translateLiteralBinaryType(BinaryType obj)
JDBCExecutionFactoryX'hex value'translateLiteralBinaryType in class JDBCExecutionFactoryobj - value, never nullpublic boolean supportsSubqueryInOn()
supportsSubqueryInOn in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public boolean supportsConvert(int fromType,
int toType)
supportsConvert in class org.teiid.translator.ExecutionFactory<DataSource,Connection>protected boolean supportsBooleanExpressions()
JDBCExecutionFactorysupportsBooleanExpressions in class JDBCExecutionFactorypublic boolean supportsSelectExpressionArrayType()
supportsSelectExpressionArrayType in class org.teiid.translator.ExecutionFactory<DataSource,Connection>public List<?> translate(org.teiid.language.LanguageObject obj, org.teiid.translator.ExecutionContext context)
JDBCExecutionFactoryLanguageObjects and Objects), or null
if to rely on the default translation. Override with care.translate in class JDBCExecutionFactorypublic boolean useUnicodePrefix()
useUnicodePrefix in class JDBCExecutionFactoryprotected boolean isNonAsciiFunction(org.teiid.language.Function f)
isNonAsciiFunction in class JDBCExecutionFactoryCopyright © 2018 JBoss by Red Hat. All rights reserved.