Package org.teiid.translator.jdbc.h2
Class H2ExecutionFactory
- java.lang.Object
-
- org.teiid.translator.ExecutionFactory<DataSource,Connection>
-
- org.teiid.translator.jdbc.JDBCExecutionFactory
-
- org.teiid.translator.jdbc.h2.H2ExecutionFactory
-
@Translator(name="h2", description="A translator for open source H2 Database") public class H2ExecutionFactory extends JDBCExecutionFactory
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.teiid.translator.jdbc.JDBCExecutionFactory
JDBCExecutionFactory.StructRetrieval
-
Nested classes/interfaces inherited from class org.teiid.translator.ExecutionFactory
ExecutionFactory.Format, ExecutionFactory.NullOrder, ExecutionFactory.SupportedJoinCriteria, ExecutionFactory.TransactionSupport
-
-
Field Summary
-
Fields inherited from class org.teiid.translator.jdbc.JDBCExecutionFactory
DEFAULT_MAX_DEPENDENT_PREDICATES, DEFAULT_MAX_IN_CRITERIA, DEFAULT_TIME_ZONE, dialect
-
Fields inherited from class org.teiid.translator.ExecutionFactory
DEFAULT_MAX_FROM_GROUPS, DEFAULT_MAX_IN_CRITERIA_SIZE, DEFAULT_MAX_PROJECTED_COLUMNS
-
-
Constructor Summary
Constructors Constructor Description H2ExecutionFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetHibernateDialectClassName()StringgetLikeRegexString()Get the predicate name for LIKE_REGEXMetadataProcessor<Connection>getMetadataProcessor()SQLConversionVisitorgetSQLConversionVisitor()Create theSQLConversionVisitorthat will perform translation.List<String>getSupportedFunctions()voidstart()booleansupportsAggregatesEnhancedNumeric()booleansupportsArrayType()booleansupportsExcept()booleansupportsFunctionsInGroupBy()booleansupportsInlineViews()booleansupportsInsertWithQueryExpression()booleansupportsIntersect()booleansupportsIsDistinctCriteria()booleansupportsLikeRegex()booleansupportsRowLimit()booleansupportsRowOffset()booleansupportsSelectWithoutFrom()booleansupportsUpsert()booleantempTableRequiresTransaction()List<?>translate(LanguageObject obj, ExecutionContext context)Return a List of translated parts (LanguageObjects and Objects), or null if to rely on the default translation.StringtranslateLiteralDate(Date dateValue)Subclasses should override this method to provide a different sql translation of the literal date value.StringtranslateLiteralTime(Time timeValue)Subclasses should override this method to provide a different sql translation of the literal time value.StringtranslateLiteralTimestamp(Timestamp timestampValue)Subclasses should override this method to provide a different sql translation of the literal timestamp value.booleanuseParensForJoins()Set to true to indicate that every branch of a join should have parenthesis.-
Methods inherited from class org.teiid.translator.jdbc.JDBCExecutionFactory
addSourceComment, afterInitialConnectionObtained, bindValue, closeConnection, convertObject, createDirectExecution, createMetadataProcessor, createProcedureExecution, createResultSetExecution, createTempTable, createUpdateExecution, executeStoredProcedure, formatDateValue, formatDateValue, getCommentFormat, getConnection, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getCreateTempTableSQL, getDatabaseCalendar, getDatabaseTimeZone, getDatabaseVersion, getDefaultNullOrder, getDefaultSupportedFunctions, getDialect, getFunctionModifiers, getLateralKeyword, getMaxPreparedInsertBatchSize, getMetadata, getRemovePushdownCharacters, getSetOperationString, getSourceComment, getStructRetrieval, getTemporaryTableName, getTimestampNanoPrecision, getVersion, hasTimeType, initCapabilities, intializeConnectionAfterCancel, isCharacterType, isDefaultTimeZone, isEnableDependentJoins, isExtendedAscii, isNonAscii, isNonAscii, isNonAsciiFunction, isSourceRequired, isSourceRequiredForCapabilities, isTrimStrings, loadedTemporaryTable, obtainedConnection, preserveNullTyping, registerFunctionModifier, registerSpecificTypeOfOutParameter, replaceElementName, retrieveGeographyValue, retrieveGeographyValue, retrieveGeometryValue, retrieveGeometryValue, retrieveValue, retrieveValue, setCommentFormat, setDatabaseTimeZone, setDatabaseVersion, setDatabaseVersion, setEnableDependentJoins, setFetchSize, setMaxPreparedInsertBatchSize, setRemovePushdownCharacters, setStructRetrieval, setTrimStrings, setUseBindingsForDependentJoin, setUseBindVariables, setUseCommentsInSourceQuery, supportsAggregatesAvg, supportsAggregatesCount, supportsAggregatesCountStar, supportsAggregatesDistinct, supportsAggregatesMax, supportsAggregatesMin, supportsAggregatesSum, supportsAliasedTable, supportsBatchedUpdates, supportsBooleanExpressions, supportsBulkUpdate, supportsCompareCriteriaEquals, supportsCompareCriteriaOrdered, supportsCorrelatedSubqueries, supportsDependentJoins, supportsExistsCriteria, supportsFullDependentJoins, supportsGeneratedKeys, supportsGeneratedKeys, supportsGroupBy, supportsHaving, supportsInCriteria, supportsInCriteriaSubquery, supportsIsNullCriteria, supportsLikeCriteria, supportsLikeCriteriaEscapeCharacter, supportsNotCriteria, supportsOrCriteria, supportsOrderByUnrelated, supportsProcedureParameterExpression, supportsQuantifiedCompareCriteriaAll, supportsQuantifiedCompareCriteriaSome, supportsScalarSubqueries, supportsSearchedCaseExpressions, supportsSelectExpression, supportsSelfJoins, supportsSetQueryOrderBy, supportsUnions, translateCommand, translateGeographyLiteral, translateGeographyParameter, translateGeographySelect, translateGeometryLiteral, translateGeometryParameter, translateGeometrySelect, translateLimit, translateLiteralBinaryType, translateLiteralBoolean, useAsInGroupAlias, useBindingsForDependentJoin, useBindVariables, useColumnNamesForGeneratedKeys, useCommentsInSourceQuery, useNBindingType, useParensForSetQueries, usePreparedStatements, useScientificNotation, usesDatabaseVersion, useSelectLimit, useStreamsForLobs, useUnicodePrefix, useWithRollup
-
Methods inherited from class org.teiid.translator.ExecutionFactory
addPushDownFunction, areLobsUsableAfterClose, createExecution, getCacheDirective, getCollationLocale, getConnection, getDirectQueryProcedureName, getExcludedCommonTableExpressionName, getInstance, getLanguageFactory, getMaxDependentInPredicates, getMaxFromGroups, getMaxInCriteriaSize, getMaxProjectedColumns, 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, supportsAggregatesCountBig, supportsArrayAgg, supportsCommonTableExpressions, supportsCompareCriteriaOrderedExclusive, supportsConvert, supportsCorrelatedSubqueryLimit, supportsDirectQueryProcedure, supportsElementaryOlapOperations, supportsFormatLiteral, supportsFullOuterJoins, supportsGeographyType, supportsGroupByMultipleDistinctAggregates, supportsGroupByRollup, supportsInnerJoins, supportsLateralJoin, supportsLateralJoinCondition, supportsListAgg, supportsMultipleOpenExecutions, supportsNativeQueries, supportsOnlyCorrelatedSubqueries, supportsOnlyFormatLiterals, supportsOnlyLateralJoinProcedure, supportsOnlyLiteralComparison, supportsOnlySingleTableGroupBy, supportsOnlyTimestampAddLiteral, supportsOrderBy, supportsOrderByNullOrdering, supportsOrderByWithExtendedGrouping, supportsOuterJoins, supportsPartialFiltering, supportsProcedureTable, supportsRecursiveCommonTableExpressions, supportsScalarSubqueryProjection, supportsSelectDistinct, supportsSelectExpressionArrayType, supportsSetQueryLimitOffset, supportsSimilarTo, supportsStringAgg, supportsSubqueryCommonTableExpressions, supportsSubqueryInOn, supportsWindowDistinctAggregates, supportsWindowFrameClause, supportsWindowFunctionCumeDist, supportsWindowFunctionNthValue, supportsWindowFunctionNtile, supportsWindowFunctionPercentRank, supportsWindowOrderByWithAggregates, useAnsiJoin
-
-
-
-
Method Detail
-
start
public void start() throws TranslatorException- Overrides:
startin classJDBCExecutionFactory- Throws:
TranslatorException
-
translateLiteralDate
public String translateLiteralDate(Date dateValue)
Description copied from class:JDBCExecutionFactorySubclasses should override this method to provide a different sql translation of the literal date value. By default, a date literal is represented as:{d '2002-12-31'}- Overrides:
translateLiteralDatein classJDBCExecutionFactory- Parameters:
dateValue- Date value, never null- Returns:
- Translated string
-
translateLiteralTime
public String translateLiteralTime(Time timeValue)
Description copied from class:JDBCExecutionFactorySubclasses should override this method to provide a different sql translation of the literal time value. By default, a time literal is represented as:{t '23:59:59'}SeeJDBCExecutionFactory.hasTimeType()to represent literal times as timestamps.- Overrides:
translateLiteralTimein classJDBCExecutionFactory- Parameters:
timeValue- Time value, never null- Returns:
- Translated string
-
translateLiteralTimestamp
public String translateLiteralTimestamp(Timestamp timestampValue)
Description copied from class:JDBCExecutionFactorySubclasses should override this method to provide a different sql translation of the literal timestamp value. By default, a timestamp literal is represented as:{ts '2002-12-31 23:59:59'}. SeeJDBCExecutionFactory.getTimestampNanoPrecision()to control the literal precision.- Overrides:
translateLiteralTimestampin classJDBCExecutionFactory- Parameters:
timestampValue- Timestamp value, never null- Returns:
- Translated string
-
getSupportedFunctions
public List<String> getSupportedFunctions()
- Overrides:
getSupportedFunctionsin classJDBCExecutionFactory
-
supportsInlineViews
public boolean supportsInlineViews()
- Overrides:
supportsInlineViewsin classJDBCExecutionFactory
-
supportsRowLimit
public boolean supportsRowLimit()
- Overrides:
supportsRowLimitin classExecutionFactory<DataSource,Connection>
-
supportsRowOffset
public boolean supportsRowOffset()
- Overrides:
supportsRowOffsetin classExecutionFactory<DataSource,Connection>
-
supportsExcept
public boolean supportsExcept()
- Overrides:
supportsExceptin classExecutionFactory<DataSource,Connection>
-
supportsIntersect
public boolean supportsIntersect()
- Overrides:
supportsIntersectin classExecutionFactory<DataSource,Connection>
-
supportsAggregatesEnhancedNumeric
public boolean supportsAggregatesEnhancedNumeric()
- Overrides:
supportsAggregatesEnhancedNumericin classExecutionFactory<DataSource,Connection>
-
supportsLikeRegex
public boolean supportsLikeRegex()
- Overrides:
supportsLikeRegexin classExecutionFactory<DataSource,Connection>
-
getLikeRegexString
public String getLikeRegexString()
Description copied from class:JDBCExecutionFactoryGet the predicate name for LIKE_REGEX- Overrides:
getLikeRegexStringin classJDBCExecutionFactory- Returns:
-
supportsArrayType
public boolean supportsArrayType()
- Overrides:
supportsArrayTypein classExecutionFactory<DataSource,Connection>
-
supportsInsertWithQueryExpression
public boolean supportsInsertWithQueryExpression()
- Overrides:
supportsInsertWithQueryExpressionin classJDBCExecutionFactory
-
translate
public List<?> translate(LanguageObject obj, ExecutionContext context)
Description copied from class:JDBCExecutionFactoryReturn a List of translated parts (LanguageObjects and Objects), or null if to rely on the default translation. Override with care.- Overrides:
translatein classJDBCExecutionFactory- Returns:
- list of translated parts
-
supportsSelectWithoutFrom
public boolean supportsSelectWithoutFrom()
- Overrides:
supportsSelectWithoutFromin classExecutionFactory<DataSource,Connection>
-
getHibernateDialectClassName
public String getHibernateDialectClassName()
- Overrides:
getHibernateDialectClassNamein classJDBCExecutionFactory
-
tempTableRequiresTransaction
public boolean tempTableRequiresTransaction()
- Overrides:
tempTableRequiresTransactionin classJDBCExecutionFactory
-
useParensForJoins
public boolean useParensForJoins()
Description copied from class:JDBCExecutionFactorySet to true to indicate that every branch of a join should have parenthesis.- Overrides:
useParensForJoinsin classJDBCExecutionFactory- Returns:
- true if every branch of a join should use parenthesis
-
getSQLConversionVisitor
public SQLConversionVisitor getSQLConversionVisitor()
Description copied from class:JDBCExecutionFactoryCreate theSQLConversionVisitorthat will perform translation. Typical custom JDBC connectors will not need to create custom conversion visitors, rather implementors should override existingJDBCExecutionFactorymethods.- Overrides:
getSQLConversionVisitorin classJDBCExecutionFactory- Returns:
- the
SQLConversionVisitor
-
supportsUpsert
public boolean supportsUpsert()
- Overrides:
supportsUpsertin classExecutionFactory<DataSource,Connection>
-
supportsIsDistinctCriteria
public boolean supportsIsDistinctCriteria()
- Overrides:
supportsIsDistinctCriteriain classExecutionFactory<DataSource,Connection>
-
getMetadataProcessor
public MetadataProcessor<Connection> getMetadataProcessor()
- Overrides:
getMetadataProcessorin classJDBCExecutionFactory
-
supportsFunctionsInGroupBy
public boolean supportsFunctionsInGroupBy()
- Overrides:
supportsFunctionsInGroupByin classExecutionFactory<DataSource,Connection>
-
-