Package org.teiid.translator.jdbc.hana
Class HanaExecutionFactory
- java.lang.Object
-
- org.teiid.translator.ExecutionFactory<DataSource,Connection>
-
- org.teiid.translator.jdbc.JDBCExecutionFactory
-
- org.teiid.translator.jdbc.hana.HanaExecutionFactory
-
@Translator(name="hana", description="SAP HANA translator") public class HanaExecutionFactory 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 Modifier and Type Field Description static StringADD_DAYSstatic StringADD_MONTHSstatic StringADD_SECONDSstatic StringADD_WORKDAYSstatic StringADD_YEARSstatic StringBITSETstatic StringBITUNSETstatic StringCOSHstatic StringCURRENT_UTCDATEstatic StringCURRENT_UTCTIMEstatic StringCURRENT_UTCTIMESTAMPstatic StringDAYS_BETWEENstatic StringEXTRACTstatic StringHANAstatic StringHEXTOBINstatic StringISOWEEKstatic StringLAST_DAYstatic StringLOCALTOUTCstatic StringNANO100_BETWEENstatic StringNEXT_DAYstatic StringRANDstatic StringSECONDS_BETWEENstatic StringSINHstatic VersionSPS8static StringTANHstatic StringUMINUSstatic StringWEEKDAYstatic StringWORKDAYS_BETWEEN-
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 HanaExecutionFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetHibernateDialectClassName()voidgetMetadata(MetadataFactory metadataFactory, Connection connection)MetadataProcessor<Connection>getMetadataProcessor()SQLConversionVisitorgetSQLConversionVisitor()Create theSQLConversionVisitorthat will perform translation.List<String>getSupportedFunctions()voidstart()booleansupportsCompareCriteriaEquals()booleansupportsInCriteria()booleansupportsOnlyLiteralComparison()List<?>translate(LanguageObject obj, ExecutionContext context)Hana doesn't provide min/max(boolean)List<?>translateLimit(Limit limit, ExecutionContext context)Return a List of translated parts (LanguageObjects and Objects), or null if to rely on the default translation.StringtranslateLiteralBoolean(Boolean booleanValue)Subclasses should override this method to provide a different sql translation of the literal boolean value.-
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, getLikeRegexString, getMaxPreparedInsertBatchSize, 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, supportsCompareCriteriaOrdered, supportsCorrelatedSubqueries, supportsDependentJoins, supportsExistsCriteria, supportsFullDependentJoins, supportsGeneratedKeys, supportsGeneratedKeys, supportsGroupBy, supportsHaving, supportsInCriteriaSubquery, supportsInlineViews, supportsInsertWithQueryExpression, supportsIsNullCriteria, supportsLikeCriteria, supportsLikeCriteriaEscapeCharacter, supportsNotCriteria, supportsOrCriteria, supportsOrderByUnrelated, supportsProcedureParameterExpression, supportsQuantifiedCompareCriteriaAll, supportsQuantifiedCompareCriteriaSome, supportsScalarSubqueries, supportsSearchedCaseExpressions, supportsSelectExpression, supportsSelfJoins, supportsSetQueryOrderBy, supportsUnions, tempTableRequiresTransaction, translateCommand, translateGeographyLiteral, translateGeographyParameter, translateGeographySelect, translateGeometryLiteral, translateGeometryParameter, translateGeometrySelect, translateLiteralBinaryType, translateLiteralDate, translateLiteralTime, translateLiteralTimestamp, useAsInGroupAlias, useBindingsForDependentJoin, useBindVariables, useColumnNamesForGeneratedKeys, useCommentsInSourceQuery, useNBindingType, useParensForJoins, 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, supportsAggregatesEnhancedNumeric, supportsArrayAgg, supportsArrayType, supportsCommonTableExpressions, supportsCompareCriteriaOrderedExclusive, supportsConvert, supportsCorrelatedSubqueryLimit, supportsDirectQueryProcedure, supportsElementaryOlapOperations, supportsExcept, supportsFormatLiteral, supportsFullOuterJoins, supportsFunctionsInGroupBy, supportsGeographyType, supportsGroupByMultipleDistinctAggregates, supportsGroupByRollup, supportsInnerJoins, supportsIntersect, supportsIsDistinctCriteria, supportsLateralJoin, supportsLateralJoinCondition, supportsLikeRegex, supportsListAgg, supportsMultipleOpenExecutions, supportsNativeQueries, supportsOnlyCorrelatedSubqueries, supportsOnlyFormatLiterals, supportsOnlyLateralJoinProcedure, supportsOnlySingleTableGroupBy, supportsOnlyTimestampAddLiteral, supportsOrderBy, supportsOrderByNullOrdering, supportsOrderByWithExtendedGrouping, supportsOuterJoins, supportsPartialFiltering, supportsProcedureTable, supportsRecursiveCommonTableExpressions, supportsRowLimit, supportsRowOffset, supportsScalarSubqueryProjection, supportsSelectDistinct, supportsSelectExpressionArrayType, supportsSelectWithoutFrom, supportsSetQueryLimitOffset, supportsSimilarTo, supportsStringAgg, supportsSubqueryCommonTableExpressions, supportsSubqueryInOn, supportsUpsert, supportsWindowDistinctAggregates, supportsWindowFrameClause, supportsWindowFunctionCumeDist, supportsWindowFunctionNthValue, supportsWindowFunctionNtile, supportsWindowFunctionPercentRank, supportsWindowOrderByWithAggregates, useAnsiJoin
-
-
-
-
Field Detail
-
SPS8
public static final Version SPS8
-
HANA
public static final String HANA
- See Also:
- Constant Field Values
-
ADD_DAYS
public static final String ADD_DAYS
- See Also:
- Constant Field Values
-
ADD_SECONDS
public static final String ADD_SECONDS
- See Also:
- Constant Field Values
-
ADD_WORKDAYS
public static final String ADD_WORKDAYS
- See Also:
- Constant Field Values
-
ADD_MONTHS
public static final String ADD_MONTHS
- See Also:
- Constant Field Values
-
ADD_YEARS
public static final String ADD_YEARS
- See Also:
- Constant Field Values
-
CURRENT_UTCDATE
public static final String CURRENT_UTCDATE
- See Also:
- Constant Field Values
-
CURRENT_UTCTIME
public static final String CURRENT_UTCTIME
- See Also:
- Constant Field Values
-
CURRENT_UTCTIMESTAMP
public static final String CURRENT_UTCTIMESTAMP
- See Also:
- Constant Field Values
-
DAYS_BETWEEN
public static final String DAYS_BETWEEN
- See Also:
- Constant Field Values
-
EXTRACT
public static final String EXTRACT
- See Also:
- Constant Field Values
-
ISOWEEK
public static final String ISOWEEK
- See Also:
- Constant Field Values
-
LAST_DAY
public static final String LAST_DAY
- See Also:
- Constant Field Values
-
LOCALTOUTC
public static final String LOCALTOUTC
- See Also:
- Constant Field Values
-
NANO100_BETWEEN
public static final String NANO100_BETWEEN
- See Also:
- Constant Field Values
-
NEXT_DAY
public static final String NEXT_DAY
- See Also:
- Constant Field Values
-
SECONDS_BETWEEN
public static final String SECONDS_BETWEEN
- See Also:
- Constant Field Values
-
WEEKDAY
public static final String WEEKDAY
- See Also:
- Constant Field Values
-
WORKDAYS_BETWEEN
public static final String WORKDAYS_BETWEEN
- See Also:
- Constant Field Values
-
COSH
public static final String COSH
- See Also:
- Constant Field Values
-
BITSET
public static final String BITSET
- See Also:
- Constant Field Values
-
BITUNSET
public static final String BITUNSET
- See Also:
- Constant Field Values
-
HEXTOBIN
public static final String HEXTOBIN
- See Also:
- Constant Field Values
-
RAND
public static final String RAND
- See Also:
- Constant Field Values
-
SINH
public static final String SINH
- See Also:
- Constant Field Values
-
TANH
public static final String TANH
- See Also:
- Constant Field Values
-
UMINUS
public static final String UMINUS
- See Also:
- Constant Field Values
-
-
Method Detail
-
start
public void start() throws TranslatorException- Overrides:
startin classJDBCExecutionFactory- Throws:
TranslatorException
-
getHibernateDialectClassName
public String getHibernateDialectClassName()
- Overrides:
getHibernateDialectClassNamein classJDBCExecutionFactory
-
getSupportedFunctions
public List<String> getSupportedFunctions()
- Overrides:
getSupportedFunctionsin classJDBCExecutionFactory
-
supportsCompareCriteriaEquals
public boolean supportsCompareCriteriaEquals()
- Overrides:
supportsCompareCriteriaEqualsin classJDBCExecutionFactory
-
supportsInCriteria
public boolean supportsInCriteria()
- Overrides:
supportsInCriteriain classJDBCExecutionFactory
-
translateLimit
public List<?> translateLimit(Limit limit, ExecutionContext context)
Description copied from class:JDBCExecutionFactoryReturn a List of translated parts (LanguageObjects and Objects), or null if to rely on the default translation.- Overrides:
translateLimitin classJDBCExecutionFactory- Returns:
- a list of translated parts
-
getMetadata
public void getMetadata(MetadataFactory metadataFactory, Connection connection) throws TranslatorException
- Overrides:
getMetadatain classJDBCExecutionFactory- Throws:
TranslatorException
-
getMetadataProcessor
public MetadataProcessor<Connection> getMetadataProcessor()
- Overrides:
getMetadataProcessorin classJDBCExecutionFactory
-
supportsOnlyLiteralComparison
public boolean supportsOnlyLiteralComparison()
- Overrides:
supportsOnlyLiteralComparisonin classExecutionFactory<DataSource,Connection>
-
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
-
translate
public List<?> translate(LanguageObject obj, ExecutionContext context)
Hana doesn't provide min/max(boolean)- Overrides:
translatein classJDBCExecutionFactory- Returns:
- list of translated parts
-
translateLiteralBoolean
public String translateLiteralBoolean(Boolean booleanValue)
Description copied from class:JDBCExecutionFactorySubclasses should override this method to provide a different sql translation of the literal boolean value. By default, a boolean literal is represented as:'0'or'1'.- Overrides:
translateLiteralBooleanin classJDBCExecutionFactory- Parameters:
booleanValue- Boolean value, never null- Returns:
- Translated string
-
-