Class BaseHiveExecutionFactory

    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.teiid.translator.jdbc.JDBCExecutionFactory

        org.teiid.translator.jdbc.JDBCExecutionFactory.StructRetrieval
      • Nested classes/interfaces inherited from class org.teiid.translator.ExecutionFactory

        org.teiid.translator.ExecutionFactory.Format, org.teiid.translator.ExecutionFactory.NullOrder, org.teiid.translator.ExecutionFactory.SupportedJoinCriteria, org.teiid.translator.ExecutionFactory.TransactionSupport
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.teiid.translator.jdbc.ConvertModifier convert  
      protected boolean useDatabaseMetaData  
      • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      protected org.teiid.metadata.FunctionMethod addAggregatePushDownFunction​(String qualifier, String name, String returnType, String... paramTypes)  
      boolean addSourceComment()  
      void bindValue​(PreparedStatement stmt, Object param, Class<?> paramType, int i)  
      protected org.teiid.translator.jdbc.JDBCMetadataProcessor createMetadataProcessor()
      Deprecated.
      org.teiid.translator.ProcedureExecution createProcedureExecution​(org.teiid.language.Call command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, Connection conn)  
      org.teiid.translator.jdbc.JDBCUpdateExecution createUpdateExecution​(org.teiid.language.Command command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, Connection conn)  
      String getLikeRegexString()  
      org.teiid.translator.jdbc.JDBCMetadataProcessor getMetadataProcessor()  
      org.teiid.translator.jdbc.SQLConversionVisitor getSQLConversionVisitor()  
      boolean hasTimeType()  
      boolean isUseDatabaseMetaData()  
      boolean requiresLeftLinearJoin()  
      Object retrieveValue​(CallableStatement results, int parameterIndex, Class<?> expectedType)  
      Object retrieveValue​(ResultSet results, int columnIndex, Class<?> expectedType)  
      boolean rewriteBooleanFunctions()  
      void setUseDatabaseMetaData​(boolean useDatabaseMetaData)  
      boolean supportsBatchedUpdates()  
      boolean supportsBulkUpdate()  
      boolean supportsCommonTableExpressions()  
      boolean supportsConvert​(int fromType, int toType)  
      boolean supportsCorrelatedSubqueries()  
      boolean supportsExcept()  
      boolean supportsExistsCriteria()  
      boolean supportsHaving()  
      boolean supportsInCriteriaSubquery()  
      boolean supportsInlineViews()  
      boolean supportsInsertWithQueryExpression()  
      boolean supportsIntersect()  
      boolean supportsLikeCriteriaEscapeCharacter()  
      boolean supportsLikeRegex()  
      boolean supportsOrderByUnrelated()  
      boolean supportsQuantifiedCompareCriteriaAll()  
      boolean supportsQuantifiedCompareCriteriaSome()  
      boolean supportsRowLimit()  
      boolean supportsScalarSubqueries()  
      boolean supportsUnions()  
      boolean supportsWindowFunctionNthValue()  
      List<?> translateCommand​(org.teiid.language.Command command, org.teiid.translator.ExecutionContext context)  
      List<?> translateLimit​(org.teiid.language.Limit limit, org.teiid.translator.ExecutionContext context)  
      String translateLiteralBoolean​(Boolean booleanValue)  
      String translateLiteralTime​(Time timeValue)  
      String translateLiteralTimestamp​(Timestamp timestampValue)  
      boolean useAnsiJoin()  
      boolean useAsInGroupAlias()  
      • Methods inherited from class org.teiid.translator.jdbc.JDBCExecutionFactory

        afterInitialConnectionObtained, closeConnection, convertObject, createDirectExecution, createResultSetExecution, createTempTable, executeStoredProcedure, formatDateValue, formatDateValue, getCommentFormat, getConnection, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getCreateTempTableSQL, getDatabaseCalendar, getDatabaseTimeZone, getDatabaseVersion, getDefaultNullOrder, getDefaultSupportedFunctions, getDialect, getFunctionModifiers, getHibernateDialectClassName, getLateralKeyword, getMaxPreparedInsertBatchSize, getMetadata, getRemovePushdownCharacters, getSetOperationString, getSourceComment, getStructRetrieval, getSupportedFunctions, getTemporaryTableName, getTimestampNanoPrecision, getVersion, initCapabilities, intializeConnectionAfterCancel, isCharacterType, isDefaultTimeZone, isEnableDependentJoins, isExtendedAscii, isNonAscii, isNonAscii, isNonAsciiFunction, isSourceRequired, isSourceRequiredForCapabilities, isTrimStrings, loadedTemporaryTable, obtainedConnection, registerFunctionModifier, registerSpecificTypeOfOutParameter, replaceElementName, retrieveGeographyValue, retrieveGeographyValue, retrieveGeometryValue, retrieveGeometryValue, setCommentFormat, setDatabaseTimeZone, setDatabaseVersion, setDatabaseVersion, setEnableDependentJoins, setFetchSize, setMaxPreparedInsertBatchSize, setRemovePushdownCharacters, setStructRetrieval, setTrimStrings, setUseBindingsForDependentJoin, setUseBindVariables, setUseCommentsInSourceQuery, start, supportsAggregatesAvg, supportsAggregatesCount, supportsAggregatesCountStar, supportsAggregatesDistinct, supportsAggregatesMax, supportsAggregatesMin, supportsAggregatesSum, supportsAliasedTable, supportsBooleanExpressions, supportsCompareCriteriaEquals, supportsCompareCriteriaOrdered, supportsDependentJoins, supportsFullDependentJoins, supportsGeneratedKeys, supportsGeneratedKeys, supportsGroupBy, supportsInCriteria, supportsIsNullCriteria, supportsLikeCriteria, supportsNotCriteria, supportsOrCriteria, supportsProcedureParameterExpression, supportsSearchedCaseExpressions, supportsSelectExpression, supportsSelfJoins, supportsSetQueryOrderBy, tempTableRequiresTransaction, translate, translateGeographyLiteral, translateGeographyParameter, translateGeographySelect, translateGeometryLiteral, translateGeometryParameter, translateGeometrySelect, translateLiteralBinaryType, translateLiteralDate, 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, supportsCompareCriteriaOrderedExclusive, supportsCorrelatedSubqueryLimit, supportsDirectQueryProcedure, supportsElementaryOlapOperations, supportsFormatLiteral, supportsFullOuterJoins, supportsFunctionsInGroupBy, supportsGeographyType, supportsGroupByMultipleDistinctAggregates, supportsGroupByRollup, supportsInnerJoins, supportsIsDistinctCriteria, supportsLateralJoin, supportsLateralJoinCondition, supportsListAgg, supportsMultipleOpenExecutions, supportsNativeQueries, supportsOnlyCorrelatedSubqueries, supportsOnlyFormatLiterals, supportsOnlyLateralJoinProcedure, supportsOnlyLiteralComparison, supportsOnlySingleTableGroupBy, supportsOnlyTimestampAddLiteral, supportsOrderBy, supportsOrderByNullOrdering, supportsOrderByWithExtendedGrouping, supportsOuterJoins, supportsPartialFiltering, supportsProcedureTable, supportsRecursiveCommonTableExpressions, supportsRowOffset, supportsScalarSubqueryProjection, supportsSelectDistinct, supportsSelectExpressionArrayType, supportsSelectWithoutFrom, supportsSetQueryLimitOffset, supportsSimilarTo, supportsStringAgg, supportsSubqueryCommonTableExpressions, supportsSubqueryInOn, supportsUpsert, supportsWindowDistinctAggregates, supportsWindowFrameClause, supportsWindowFunctionCumeDist, supportsWindowFunctionNtile, supportsWindowFunctionPercentRank, supportsWindowOrderByWithAggregates
    • Field Detail

      • convert

        protected org.teiid.translator.jdbc.ConvertModifier convert
      • useDatabaseMetaData

        protected boolean useDatabaseMetaData
    • Constructor Detail

      • BaseHiveExecutionFactory

        public BaseHiveExecutionFactory()
    • Method Detail

      • createUpdateExecution

        public org.teiid.translator.jdbc.JDBCUpdateExecution createUpdateExecution​(org.teiid.language.Command command,
                                                                                   org.teiid.translator.ExecutionContext executionContext,
                                                                                   org.teiid.metadata.RuntimeMetadata metadata,
                                                                                   Connection conn)
                                                                            throws org.teiid.translator.TranslatorException
        Overrides:
        createUpdateExecution in class org.teiid.translator.jdbc.JDBCExecutionFactory
        Throws:
        org.teiid.translator.TranslatorException
      • createProcedureExecution

        public org.teiid.translator.ProcedureExecution createProcedureExecution​(org.teiid.language.Call command,
                                                                                org.teiid.translator.ExecutionContext executionContext,
                                                                                org.teiid.metadata.RuntimeMetadata metadata,
                                                                                Connection conn)
                                                                         throws org.teiid.translator.TranslatorException
        Overrides:
        createProcedureExecution in class org.teiid.translator.jdbc.JDBCExecutionFactory
        Throws:
        org.teiid.translator.TranslatorException
      • getSQLConversionVisitor

        public org.teiid.translator.jdbc.SQLConversionVisitor getSQLConversionVisitor()
        Overrides:
        getSQLConversionVisitor in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • useAnsiJoin

        public boolean useAnsiJoin()
        Overrides:
        useAnsiJoin in class org.teiid.translator.ExecutionFactory<DataSource,​Connection>
      • supportsCorrelatedSubqueries

        public boolean supportsCorrelatedSubqueries()
        Overrides:
        supportsCorrelatedSubqueries in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsExistsCriteria

        public boolean supportsExistsCriteria()
        Overrides:
        supportsExistsCriteria in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsInCriteriaSubquery

        public boolean supportsInCriteriaSubquery()
        Overrides:
        supportsInCriteriaSubquery in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsLikeCriteriaEscapeCharacter

        public boolean supportsLikeCriteriaEscapeCharacter()
        Overrides:
        supportsLikeCriteriaEscapeCharacter in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsQuantifiedCompareCriteriaAll

        public boolean supportsQuantifiedCompareCriteriaAll()
        Overrides:
        supportsQuantifiedCompareCriteriaAll in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsQuantifiedCompareCriteriaSome

        public boolean supportsQuantifiedCompareCriteriaSome()
        Overrides:
        supportsQuantifiedCompareCriteriaSome in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsBulkUpdate

        public boolean supportsBulkUpdate()
        Overrides:
        supportsBulkUpdate in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsBatchedUpdates

        public boolean supportsBatchedUpdates()
        Overrides:
        supportsBatchedUpdates in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • translateCommand

        public List<?> translateCommand​(org.teiid.language.Command command,
                                        org.teiid.translator.ExecutionContext context)
        Overrides:
        translateCommand in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • translateLimit

        public List<?> translateLimit​(org.teiid.language.Limit limit,
                                      org.teiid.translator.ExecutionContext context)
        Overrides:
        translateLimit in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • addSourceComment

        public boolean addSourceComment()
        Overrides:
        addSourceComment in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • useAsInGroupAlias

        public boolean useAsInGroupAlias()
        Overrides:
        useAsInGroupAlias in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • hasTimeType

        public boolean hasTimeType()
        Overrides:
        hasTimeType in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • getLikeRegexString

        public String getLikeRegexString()
        Overrides:
        getLikeRegexString in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsScalarSubqueries

        public boolean supportsScalarSubqueries()
        Overrides:
        supportsScalarSubqueries in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsInlineViews

        public boolean supportsInlineViews()
        Overrides:
        supportsInlineViews in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsUnions

        public boolean supportsUnions()
        Overrides:
        supportsUnions in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsInsertWithQueryExpression

        public boolean supportsInsertWithQueryExpression()
        Overrides:
        supportsInsertWithQueryExpression in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsIntersect

        public boolean supportsIntersect()
        Overrides:
        supportsIntersect in class org.teiid.translator.ExecutionFactory<DataSource,​Connection>
      • supportsExcept

        public boolean supportsExcept()
        Overrides:
        supportsExcept in class org.teiid.translator.ExecutionFactory<DataSource,​Connection>
      • supportsCommonTableExpressions

        public boolean supportsCommonTableExpressions()
        Overrides:
        supportsCommonTableExpressions in class org.teiid.translator.ExecutionFactory<DataSource,​Connection>
      • supportsRowLimit

        public boolean supportsRowLimit()
        Overrides:
        supportsRowLimit in class org.teiid.translator.ExecutionFactory<DataSource,​Connection>
      • translateLiteralBoolean

        public String translateLiteralBoolean​(Boolean booleanValue)
        Overrides:
        translateLiteralBoolean in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • translateLiteralTime

        public String translateLiteralTime​(Time timeValue)
        Overrides:
        translateLiteralTime in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • translateLiteralTimestamp

        public String translateLiteralTimestamp​(Timestamp timestampValue)
        Overrides:
        translateLiteralTimestamp in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • createMetadataProcessor

        @Deprecated
        protected org.teiid.translator.jdbc.JDBCMetadataProcessor createMetadataProcessor()
        Deprecated.
        Overrides:
        createMetadataProcessor in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • getMetadataProcessor

        public org.teiid.translator.jdbc.JDBCMetadataProcessor getMetadataProcessor()
        Overrides:
        getMetadataProcessor in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • retrieveValue

        public Object retrieveValue​(ResultSet results,
                                    int columnIndex,
                                    Class<?> expectedType)
                             throws SQLException
        Overrides:
        retrieveValue in class org.teiid.translator.jdbc.JDBCExecutionFactory
        Throws:
        SQLException
      • addAggregatePushDownFunction

        protected org.teiid.metadata.FunctionMethod addAggregatePushDownFunction​(String qualifier,
                                                                                 String name,
                                                                                 String returnType,
                                                                                 String... paramTypes)
      • supportsHaving

        public boolean supportsHaving()
        Overrides:
        supportsHaving in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsConvert

        public boolean supportsConvert​(int fromType,
                                       int toType)
        Overrides:
        supportsConvert in class org.teiid.translator.ExecutionFactory<DataSource,​Connection>
      • isUseDatabaseMetaData

        @TranslatorProperty(display="Use DatabaseMetaData",
                            description="Use DatabaseMetaData (typical JDBC logic) for importing")
        public boolean isUseDatabaseMetaData()
      • setUseDatabaseMetaData

        public void setUseDatabaseMetaData​(boolean useDatabaseMetaData)
      • requiresLeftLinearJoin

        public boolean requiresLeftLinearJoin()
      • supportsOrderByUnrelated

        public boolean supportsOrderByUnrelated()
        Overrides:
        supportsOrderByUnrelated in class org.teiid.translator.jdbc.JDBCExecutionFactory
      • supportsLikeRegex

        public boolean supportsLikeRegex()
        Overrides:
        supportsLikeRegex in class org.teiid.translator.ExecutionFactory<DataSource,​Connection>
      • rewriteBooleanFunctions

        public boolean rewriteBooleanFunctions()
      • supportsWindowFunctionNthValue

        public boolean supportsWindowFunctionNthValue()
        Overrides:
        supportsWindowFunctionNthValue in class org.teiid.translator.ExecutionFactory<DataSource,​Connection>