Class CouchbaseExecutionFactory


  • @Translator(name="couchbase",
                description="Couchbase Translator, reads and writes the data to Couchbase")
    public class CouchbaseExecutionFactory
    extends org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
    • Nested Class Summary

      • 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 Map<String,​org.teiid.translator.jdbc.FunctionModifier> functionModifiers  
      • 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 
      Modifier and Type Method Description
      org.teiid.translator.ProcedureExecution createDirectExecution​(List<org.teiid.language.Argument> arguments, org.teiid.language.Command command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, org.teiid.couchbase.CouchbaseConnection connection)  
      org.teiid.translator.ProcedureExecution createProcedureExecution​(org.teiid.language.Call command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, org.teiid.couchbase.CouchbaseConnection connection)  
      org.teiid.translator.ResultSetExecution createResultSetExecution​(org.teiid.language.QueryExpression command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, org.teiid.couchbase.CouchbaseConnection connection)  
      org.teiid.translator.UpdateExecution createUpdateExecution​(org.teiid.language.Command command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, org.teiid.couchbase.CouchbaseConnection connection)  
      org.teiid.translator.ExecutionFactory.NullOrder getDefaultNullOrder()  
      List<String> getDefaultSupportedFunctions()  
      Map<String,​org.teiid.translator.jdbc.FunctionModifier> getFunctionModifiers()  
      int getMaxBulkInsertSize()  
      org.teiid.translator.MetadataProcessor<org.teiid.couchbase.CouchbaseConnection> getMetadataProcessor()  
      N1QLUpdateVisitor getN1QLUpdateVisitor()  
      N1QLVisitor getN1QLVisitor()  
      List<String> getSupportedFunctions()  
      boolean isUseDouble()  
      void registerFunctionModifier​(String name, org.teiid.translator.jdbc.FunctionModifier modifier)  
      Object retrieveValue​(Class<?> columnType, Object value)  
      boolean returnsSingleUpdateCount()  
      void setMaxBulkInsertSize​(int maxBulkInsertSize)  
      void setUseDouble​(boolean useDouble)  
      void setValue​(com.couchbase.client.java.document.json.JsonArray array, Class<?> type, Object attrValue)  
      void setValue​(com.couchbase.client.java.document.json.JsonObject json, String attr, Class<?> type, Object attrValue)  
      void start()  
      boolean supportsAggregatesAvg()  
      boolean supportsAggregatesCount()  
      boolean supportsAggregatesCountStar()  
      boolean supportsAggregatesDistinct()  
      boolean supportsAggregatesMax()  
      boolean supportsAggregatesMin()  
      boolean supportsAggregatesSum()  
      boolean supportsArrayAgg()  
      boolean supportsBulkUpdate()  
      boolean supportsCompareCriteriaEquals()  
      boolean supportsConvert​(int fromType, int toType)  
      boolean supportsExcept()  
      boolean supportsGroupBy()  
      boolean supportsHaving()  
      boolean supportsIntersect()  
      boolean supportsOnlyLiteralComparison()  
      boolean supportsOrderBy()  
      boolean supportsOrderByNullOrdering()  
      boolean supportsOrderByUnrelated()  
      boolean supportsRowLimit()  
      boolean supportsRowOffset()  
      boolean supportsSearchedCaseExpressions()  
      boolean supportsSelectExpression()  
      boolean supportsSelectWithoutFrom()  
      boolean supportsUnions()  
      boolean supportsUpsert()  
      • Methods inherited from class org.teiid.translator.ExecutionFactory

        addPushDownFunction, areLobsUsableAfterClose, closeConnection, createExecution, getCacheDirective, getCollationLocale, getConnection, getConnection, getDirectQueryProcedureName, getExcludedCommonTableExpressionName, getInstance, getLanguageFactory, getMaxDependentInPredicates, getMaxFromGroups, getMaxInCriteriaSize, getMaxProjectedColumns, getMetadata, getNativeQueryProcedureName, getPushDownFunctions, getRequiredLikeEscape, getSupportedJoinCriteria, getTransactionSupport, getTypeFacility, initCapabilities, isCopyLobs, isForkable, isImmutable, isSourceRequired, isSourceRequiredForCapabilities, isSourceRequiredForMetadata, isThreadBound, requiresCriteria, setCollationLocale, setCopyLobs, setDirectQueryProcedureName, setExcludedCommonTableExpressionName, setImmutable, setMaxDependentInPredicates, setMaxInCriteriaSize, setNativeQueryProcedureName, setRequiresCriteria, setSourceRequired, setSourceRequiredForMetadata, setSupportedJoinCriteria, setSupportsDirectQueryProcedure, setSupportsFullOuterJoins, setSupportsInnerJoins, setSupportsNativeQueries, setSupportsOrderBy, setSupportsOuterJoins, setSupportsSelectDistinct, setThreadBound, setTransactionSupport, supportsAdvancedOlapOperations, supportsAggregatesCountBig, supportsAggregatesEnhancedNumeric, supportsAliasedTable, supportsArrayType, supportsBatchedUpdates, supportsCommonTableExpressions, supportsCompareCriteriaOrdered, supportsCompareCriteriaOrderedExclusive, supportsCorrelatedSubqueries, supportsCorrelatedSubqueryLimit, supportsDependentJoins, supportsDirectQueryProcedure, supportsElementaryOlapOperations, supportsExistsCriteria, supportsFormatLiteral, supportsFullDependentJoins, supportsFullOuterJoins, supportsFunctionsInGroupBy, supportsGeographyType, supportsGroupByMultipleDistinctAggregates, supportsGroupByRollup, supportsInCriteria, supportsInCriteriaSubquery, supportsInlineViews, supportsInnerJoins, supportsInsertWithQueryExpression, supportsIsDistinctCriteria, supportsIsNullCriteria, supportsLateralJoin, supportsLateralJoinCondition, supportsLikeCriteria, supportsLikeCriteriaEscapeCharacter, supportsLikeRegex, supportsListAgg, supportsMultipleOpenExecutions, supportsNativeQueries, supportsNotCriteria, supportsOnlyCorrelatedSubqueries, supportsOnlyFormatLiterals, supportsOnlyLateralJoinProcedure, supportsOnlySingleTableGroupBy, supportsOnlyTimestampAddLiteral, supportsOrCriteria, supportsOrderByWithExtendedGrouping, supportsOuterJoins, supportsPartialFiltering, supportsProcedureParameterExpression, supportsProcedureTable, supportsQuantifiedCompareCriteriaAll, supportsQuantifiedCompareCriteriaSome, supportsRecursiveCommonTableExpressions, supportsScalarSubqueries, supportsScalarSubqueryProjection, supportsSelectDistinct, supportsSelectExpressionArrayType, supportsSelfJoins, supportsSetQueryLimitOffset, supportsSetQueryOrderBy, supportsSimilarTo, supportsStringAgg, supportsSubqueryCommonTableExpressions, supportsSubqueryInOn, supportsWindowDistinctAggregates, supportsWindowFrameClause, supportsWindowFunctionCumeDist, supportsWindowFunctionNthValue, supportsWindowFunctionNtile, supportsWindowFunctionPercentRank, supportsWindowOrderByWithAggregates, useAnsiJoin, useBindingsForDependentJoin
    • Field Detail

      • functionModifiers

        protected Map<String,​org.teiid.translator.jdbc.FunctionModifier> functionModifiers
    • Constructor Detail

      • CouchbaseExecutionFactory

        public CouchbaseExecutionFactory()
    • Method Detail

      • start

        public void start()
                   throws org.teiid.translator.TranslatorException
        Overrides:
        start in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
        Throws:
        org.teiid.translator.TranslatorException
      • getSupportedFunctions

        public List<String> getSupportedFunctions()
        Overrides:
        getSupportedFunctions in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • registerFunctionModifier

        public void registerFunctionModifier​(String name,
                                             org.teiid.translator.jdbc.FunctionModifier modifier)
      • getFunctionModifiers

        public Map<String,​org.teiid.translator.jdbc.FunctionModifier> getFunctionModifiers()
      • getDefaultSupportedFunctions

        public List<String> getDefaultSupportedFunctions()
      • createResultSetExecution

        public org.teiid.translator.ResultSetExecution createResultSetExecution​(org.teiid.language.QueryExpression command,
                                                                                org.teiid.translator.ExecutionContext executionContext,
                                                                                org.teiid.metadata.RuntimeMetadata metadata,
                                                                                org.teiid.couchbase.CouchbaseConnection connection)
                                                                         throws org.teiid.translator.TranslatorException
        Overrides:
        createResultSetExecution in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
        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,
                                                                                org.teiid.couchbase.CouchbaseConnection connection)
                                                                         throws org.teiid.translator.TranslatorException
        Overrides:
        createProcedureExecution in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
        Throws:
        org.teiid.translator.TranslatorException
      • createUpdateExecution

        public org.teiid.translator.UpdateExecution createUpdateExecution​(org.teiid.language.Command command,
                                                                          org.teiid.translator.ExecutionContext executionContext,
                                                                          org.teiid.metadata.RuntimeMetadata metadata,
                                                                          org.teiid.couchbase.CouchbaseConnection connection)
                                                                   throws org.teiid.translator.TranslatorException
        Overrides:
        createUpdateExecution in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
        Throws:
        org.teiid.translator.TranslatorException
      • createDirectExecution

        public org.teiid.translator.ProcedureExecution createDirectExecution​(List<org.teiid.language.Argument> arguments,
                                                                             org.teiid.language.Command command,
                                                                             org.teiid.translator.ExecutionContext executionContext,
                                                                             org.teiid.metadata.RuntimeMetadata metadata,
                                                                             org.teiid.couchbase.CouchbaseConnection connection)
                                                                      throws org.teiid.translator.TranslatorException
        Overrides:
        createDirectExecution in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
        Throws:
        org.teiid.translator.TranslatorException
      • getMetadataProcessor

        public org.teiid.translator.MetadataProcessor<org.teiid.couchbase.CouchbaseConnection> getMetadataProcessor()
        Overrides:
        getMetadataProcessor in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsAggregatesSum

        public boolean supportsAggregatesSum()
        Overrides:
        supportsAggregatesSum in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsAggregatesAvg

        public boolean supportsAggregatesAvg()
        Overrides:
        supportsAggregatesAvg in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsAggregatesMin

        public boolean supportsAggregatesMin()
        Overrides:
        supportsAggregatesMin in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsAggregatesMax

        public boolean supportsAggregatesMax()
        Overrides:
        supportsAggregatesMax in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsAggregatesCount

        public boolean supportsAggregatesCount()
        Overrides:
        supportsAggregatesCount in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsAggregatesCountStar

        public boolean supportsAggregatesCountStar()
        Overrides:
        supportsAggregatesCountStar in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsAggregatesDistinct

        public boolean supportsAggregatesDistinct()
        Overrides:
        supportsAggregatesDistinct in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsArrayAgg

        public boolean supportsArrayAgg()
        Overrides:
        supportsArrayAgg in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsSelectExpression

        public boolean supportsSelectExpression()
        Overrides:
        supportsSelectExpression in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsRowLimit

        public boolean supportsRowLimit()
        Overrides:
        supportsRowLimit in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsRowOffset

        public boolean supportsRowOffset()
        Overrides:
        supportsRowOffset in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsOrderBy

        public boolean supportsOrderBy()
        Overrides:
        supportsOrderBy in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsOrderByUnrelated

        public boolean supportsOrderByUnrelated()
        Overrides:
        supportsOrderByUnrelated in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsOrderByNullOrdering

        public boolean supportsOrderByNullOrdering()
        Overrides:
        supportsOrderByNullOrdering in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsGroupBy

        public boolean supportsGroupBy()
        Overrides:
        supportsGroupBy in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsHaving

        public boolean supportsHaving()
        Overrides:
        supportsHaving in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsUnions

        public boolean supportsUnions()
        Overrides:
        supportsUnions in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsIntersect

        public boolean supportsIntersect()
        Overrides:
        supportsIntersect in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsExcept

        public boolean supportsExcept()
        Overrides:
        supportsExcept in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsSelectWithoutFrom

        public boolean supportsSelectWithoutFrom()
        Overrides:
        supportsSelectWithoutFrom in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsCompareCriteriaEquals

        public boolean supportsCompareCriteriaEquals()
        Overrides:
        supportsCompareCriteriaEquals in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • retrieveValue

        public Object retrieveValue​(Class<?> columnType,
                                    Object value)
                             throws org.teiid.translator.TranslatorException
        Throws:
        org.teiid.translator.TranslatorException
      • setValue

        public void setValue​(com.couchbase.client.java.document.json.JsonObject json,
                             String attr,
                             Class<?> type,
                             Object attrValue)
      • setValue

        public void setValue​(com.couchbase.client.java.document.json.JsonArray array,
                             Class<?> type,
                             Object attrValue)
      • supportsOnlyLiteralComparison

        public boolean supportsOnlyLiteralComparison()
        Overrides:
        supportsOnlyLiteralComparison in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsUpsert

        public boolean supportsUpsert()
        Overrides:
        supportsUpsert in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsBulkUpdate

        public boolean supportsBulkUpdate()
        Overrides:
        supportsBulkUpdate in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • getMaxBulkInsertSize

        @TranslatorProperty(display="Max Bulk Insert Document Size",
                            description="The max size of documents in a bulk insert. Default 100.",
                            advanced=true)
        public int getMaxBulkInsertSize()
      • setMaxBulkInsertSize

        public void setMaxBulkInsertSize​(int maxBulkInsertSize)
      • supportsConvert

        public boolean supportsConvert​(int fromType,
                                       int toType)
        Overrides:
        supportsConvert in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • getDefaultNullOrder

        public org.teiid.translator.ExecutionFactory.NullOrder getDefaultNullOrder()
        Overrides:
        getDefaultNullOrder in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • supportsSearchedCaseExpressions

        public boolean supportsSearchedCaseExpressions()
        Overrides:
        supportsSearchedCaseExpressions in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • returnsSingleUpdateCount

        public boolean returnsSingleUpdateCount()
        Overrides:
        returnsSingleUpdateCount in class org.teiid.translator.ExecutionFactory<org.teiid.resource.api.ConnectionFactory,​org.teiid.couchbase.CouchbaseConnection>
      • isUseDouble

        @TranslatorProperty(display="Use Double",
                            description="Use double rather than allowing for more precise types, such as long, bigdecimal, and biginteger",
                            advanced=true)
        public boolean isUseDouble()
      • setUseDouble

        public void setUseDouble​(boolean useDouble)