@Translator(name="couchbase", description="Couchbase Translator, reads and writes the data to Couchbase") public class CouchbaseExecutionFactory extends ExecutionFactory<ConnectionFactory,CouchbaseConnection>
ExecutionFactory.Format, ExecutionFactory.NullOrder, ExecutionFactory.SupportedJoinCriteria, ExecutionFactory.TransactionSupport
Modifier and Type | Field and Description |
---|---|
protected Map<String,FunctionModifier> |
functionModifiers |
DEFAULT_MAX_FROM_GROUPS, DEFAULT_MAX_IN_CRITERIA_SIZE, DEFAULT_MAX_PROJECTED_COLUMNS
Constructor and Description |
---|
CouchbaseExecutionFactory() |
Modifier and Type | Method and Description |
---|---|
ProcedureExecution |
createDirectExecution(List<Argument> arguments,
Command command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
CouchbaseConnection connection) |
ProcedureExecution |
createProcedureExecution(Call command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
CouchbaseConnection connection) |
ResultSetExecution |
createResultSetExecution(QueryExpression command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
CouchbaseConnection connection) |
UpdateExecution |
createUpdateExecution(Command command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
CouchbaseConnection connection) |
ExecutionFactory.NullOrder |
getDefaultNullOrder()
Returns the default null ordering
|
List<String> |
getDefaultSupportedFunctions() |
Map<String,FunctionModifier> |
getFunctionModifiers() |
int |
getMaxBulkInsertSize() |
MetadataProcessor<CouchbaseConnection> |
getMetadataProcessor()
Get a MetadataProcessor for the translator to read the metadata.
|
N1QLUpdateVisitor |
getN1QLUpdateVisitor() |
N1QLVisitor |
getN1QLVisitor() |
List<String> |
getSupportedFunctions()
Get list of all supported function names.
|
boolean |
isUseDouble() |
void |
registerFunctionModifier(String name,
FunctionModifier modifier) |
Object |
retrieveValue(Class<?> columnType,
Object value) |
boolean |
returnsSingleUpdateCount()
True if only a single value is returned for the update count.
|
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()
Initialize the connector with supplied configuration
|
boolean |
supportsAggregatesAvg()
Support indicates connector can accept the AVG aggregate function
|
boolean |
supportsAggregatesCount()
Support indicates connector can accept the COUNT aggregate function
|
boolean |
supportsAggregatesCountStar()
Support indicates connector can accept the COUNT(*) aggregate function
|
boolean |
supportsAggregatesDistinct()
Support indicates connector can accept DISTINCT within aggregate functions
|
boolean |
supportsAggregatesMax()
Support indicates connector can accept the MAX aggregate function
|
boolean |
supportsAggregatesMin()
Support indicates connector can accept the MIN aggregate function
|
boolean |
supportsAggregatesSum()
Support indicates connector can accept the SUM aggregate function
|
boolean |
supportsArrayAgg() |
boolean |
supportsBulkUpdate()
Whether the source supports updates with multiple value sets
|
boolean |
supportsCompareCriteriaEquals()
Support indicates connector accepts criteria of form (element = constant)
|
boolean |
supportsConvert(int fromType,
int toType)
Used for fine grained control of convert/cast pushdown.
|
boolean |
supportsExcept()
Support indicates that the connector supports the EXCEPT of two queries.
|
boolean |
supportsGroupBy()
Whether the source supports an explicit GROUP BY clause
|
boolean |
supportsHaving()
Whether the source supports the HAVING clause
|
boolean |
supportsIntersect()
Support indicates that the connector supports the INTERSECT of two queries.
|
boolean |
supportsOnlyLiteralComparison() |
boolean |
supportsOrderBy()
Support indicates connector accepts ORDER BY clause, including multiple elements
and ascending and descending sorts.
|
boolean |
supportsOrderByNullOrdering()
Returns whether the database supports explicit null ordering.
|
boolean |
supportsOrderByUnrelated()
Support indicates connector accepts ORDER BY clause with columns not from the select
|
boolean |
supportsRowLimit()
Gets whether the connector can limit the number of rows returned by a query.
|
boolean |
supportsRowOffset()
Gets whether the connector supports a SQL clause (similar to the LIMIT with an offset) that can return
result sets that start in the middle of the resulting rows returned by a query
|
boolean |
supportsSearchedCaseExpressions()
Support indicates connector can accept queries with searched CASE WHEN criteria ...
|
boolean |
supportsSelectExpression()
Support indicates connector can accept expressions other than element
symbols in the SELECT clause.
|
boolean |
supportsSelectWithoutFrom() |
boolean |
supportsUnions()
Support indicates that the connector supports the UNION of two queries.
|
boolean |
supportsUpsert() |
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
protected Map<String,FunctionModifier> functionModifiers
public void start() throws TranslatorException
ExecutionFactory
start
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
TranslatorException
public List<String> getSupportedFunctions()
ExecutionFactory
getSupportedFunctions
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
for a listing of system pushdown functions. Note that
not all system functions are listed as some functions will use a common name
such as CONCAT vs. the || operator, and other functions will be rewritten and
not pushed down, such as SPACE.
Note: User defined functions should be specified fully qualified.
public void registerFunctionModifier(String name, FunctionModifier modifier)
public Map<String,FunctionModifier> getFunctionModifiers()
public ResultSetExecution createResultSetExecution(QueryExpression command, ExecutionContext executionContext, RuntimeMetadata metadata, CouchbaseConnection connection) throws TranslatorException
createResultSetExecution
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
TranslatorException
public ProcedureExecution createProcedureExecution(Call command, ExecutionContext executionContext, RuntimeMetadata metadata, CouchbaseConnection connection) throws TranslatorException
createProcedureExecution
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
TranslatorException
public UpdateExecution createUpdateExecution(Command command, ExecutionContext executionContext, RuntimeMetadata metadata, CouchbaseConnection connection) throws TranslatorException
createUpdateExecution
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
TranslatorException
public ProcedureExecution createDirectExecution(List<Argument> arguments, Command command, ExecutionContext executionContext, RuntimeMetadata metadata, CouchbaseConnection connection) throws TranslatorException
createDirectExecution
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
TranslatorException
public MetadataProcessor<CouchbaseConnection> getMetadataProcessor()
ExecutionFactory
getMetadataProcessor
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsAggregatesSum()
ExecutionFactory
supportsAggregatesSum
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsAggregatesAvg()
ExecutionFactory
supportsAggregatesAvg
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsAggregatesMin()
ExecutionFactory
supportsAggregatesMin
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsAggregatesMax()
ExecutionFactory
supportsAggregatesMax
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsAggregatesCount()
ExecutionFactory
supportsAggregatesCount
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsAggregatesCountStar()
ExecutionFactory
supportsAggregatesCountStar
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsAggregatesDistinct()
ExecutionFactory
supportsAggregatesDistinct
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsArrayAgg()
supportsArrayAgg
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsSelectExpression()
ExecutionFactory
supportsSelectExpression
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsRowLimit()
ExecutionFactory
supportsRowLimit
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsRowOffset()
ExecutionFactory
supportsRowOffset
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsOrderBy()
ExecutionFactory
supportsOrderBy
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsOrderByUnrelated()
ExecutionFactory
supportsOrderByUnrelated
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsOrderByNullOrdering()
ExecutionFactory
supportsOrderByNullOrdering
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsGroupBy()
ExecutionFactory
supportsGroupBy
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsHaving()
ExecutionFactory
supportsHaving
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsUnions()
ExecutionFactory
supportsUnions
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsIntersect()
ExecutionFactory
supportsIntersect
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsExcept()
ExecutionFactory
supportsExcept
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsSelectWithoutFrom()
supportsSelectWithoutFrom
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsCompareCriteriaEquals()
ExecutionFactory
supportsCompareCriteriaEquals
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public N1QLVisitor getN1QLVisitor()
public N1QLUpdateVisitor getN1QLUpdateVisitor()
public Object retrieveValue(Class<?> columnType, Object value) throws TranslatorException
TranslatorException
public void setValue(com.couchbase.client.java.document.json.JsonObject json, String attr, Class<?> type, Object attrValue)
public void setValue(com.couchbase.client.java.document.json.JsonArray array, Class<?> type, Object attrValue)
public boolean supportsOnlyLiteralComparison()
supportsOnlyLiteralComparison
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsUpsert()
supportsUpsert
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean supportsBulkUpdate()
ExecutionFactory
supportsBulkUpdate
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
@TranslatorProperty(display="Max Bulk Insert Document Size", description="The max size of documents in a bulk insert. Default 100.", advanced=true) public int getMaxBulkInsertSize()
public void setMaxBulkInsertSize(int maxBulkInsertSize)
public boolean supportsConvert(int fromType, int toType)
ExecutionFactory
ExecutionFactory.getSupportedFunctions()
should
contain SourceSystemFunctions.CONVERT
. This method can then return false to indicate
a lack of specific support. The engine will does not care about an unnecessary conversion
where fromType == toType.
By default lob conversion is disabled.supportsConvert
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
fromType
- @see RUNTIME_CODEStoType
- @see RUNTIME_CODESpublic ExecutionFactory.NullOrder getDefaultNullOrder()
ExecutionFactory
getDefaultNullOrder
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
ExecutionFactory.NullOrder
public boolean supportsSearchedCaseExpressions()
ExecutionFactory
supportsSearchedCaseExpressions
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
public boolean returnsSingleUpdateCount()
ExecutionFactory
returnsSingleUpdateCount
in class ExecutionFactory<ConnectionFactory,CouchbaseConnection>
@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()
public void setUseDouble(boolean useDouble)
Copyright © 2020. All rights reserved.