@Translator(name="mongodb",
description="MongoDB Translator, reads and writes the data to MongoDB")
public class MongoDBExecutionFactory
extends org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>
| Modifier and Type | Field and Description |
|---|---|
static String |
AVOID_PROJECTION |
static String |
FUNC_GEO_INTERSECTS |
static String |
FUNC_GEO_NEAR |
static String |
FUNC_GEO_NEAR_SPHERE |
static String |
FUNC_GEO_POLYGON_INTERSECTS |
static String |
FUNC_GEO_POLYGON_WITHIN |
static String |
FUNC_GEO_WITHIN |
protected Map<String,org.teiid.translator.jdbc.FunctionModifier> |
functionModifiers |
static String[] |
GEOSPATIAL_FUNCTIONS |
static org.teiid.util.Version |
THREE_0 |
static org.teiid.util.Version |
TWO_4 |
static org.teiid.util.Version |
TWO_6 |
| Constructor and Description |
|---|
MongoDBExecutionFactory() |
| Modifier and Type | Method and Description |
|---|---|
Object |
convertToMongoType(Object value,
com.mongodb.DB mongoDB,
String fqn)
Mongodb only supports certain data types, Teiid need to serialize them in other compatible
formats, and convert them back while reading them.
|
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.mongodb.MongoDBConnection connection) |
org.teiid.translator.ProcedureExecution |
createProcedureExecution(org.teiid.language.Call command,
org.teiid.translator.ExecutionContext executionContext,
org.teiid.metadata.RuntimeMetadata metadata,
org.teiid.mongodb.MongoDBConnection connection) |
org.teiid.translator.ResultSetExecution |
createResultSetExecution(org.teiid.language.QueryExpression command,
org.teiid.translator.ExecutionContext executionContext,
org.teiid.metadata.RuntimeMetadata metadata,
org.teiid.mongodb.MongoDBConnection connection) |
org.teiid.translator.UpdateExecution |
createUpdateExecution(org.teiid.language.Command command,
org.teiid.translator.ExecutionContext executionContext,
org.teiid.metadata.RuntimeMetadata metadata,
org.teiid.mongodb.MongoDBConnection connection) |
String |
getDatabaseVersion() |
List<String> |
getDefaultSupportedFunctions() |
Map<String,org.teiid.translator.jdbc.FunctionModifier> |
getFunctionModifiers() |
org.teiid.translator.MetadataProcessor<org.teiid.mongodb.MongoDBConnection> |
getMetadataProcessor() |
com.mongodb.AggregationOptions |
getOptions(int batchSize) |
List<String> |
getSupportedFunctions() |
void |
registerFunctionModifier(String name,
org.teiid.translator.jdbc.FunctionModifier modifier) |
Object |
retrieveValue(Object value,
Class<?> expectedClass,
com.mongodb.DB mongoDB,
String fqn,
String colName) |
void |
setDatabaseVersion(String version)
Sets the database version.
|
void |
setDatabaseVersion(org.teiid.util.Version version) |
void |
setSupportsAggregatesCount(boolean value) |
void |
setUseDisk(boolean useDisk) |
void |
start() |
boolean |
supportsAggregatesAvg() |
boolean |
supportsAggregatesCount() |
boolean |
supportsAggregatesCountStar() |
boolean |
supportsAggregatesMax() |
boolean |
supportsAggregatesMin() |
boolean |
supportsAggregatesSum() |
boolean |
supportsBulkUpdate() |
boolean |
supportsCompareCriteriaEquals() |
boolean |
supportsCompareCriteriaOrdered() |
boolean |
supportsGroupBy() |
boolean |
supportsHaving() |
boolean |
supportsInCriteria() |
boolean |
supportsIsNullCriteria() |
boolean |
supportsLikeCriteria() |
boolean |
supportsLikeRegex() |
boolean |
supportsNotCriteria() |
boolean |
supportsOnlyLiteralComparison() |
boolean |
supportsOrCriteria() |
boolean |
supportsOrderByUnrelated() |
boolean |
supportsRowLimit() |
boolean |
supportsRowOffset() |
boolean |
supportsSelectExpression() |
boolean |
supportsSelfJoins() |
boolean |
useAnsiJoin() |
boolean |
useDisk() |
addPushDownFunction, areLobsUsableAfterClose, closeConnection, createExecution, getCacheDirective, getCollationLocale, getConnection, getConnection, getDefaultNullOrder, getDirectQueryProcedureName, getExcludedCommonTableExpressionName, getInstance, getLanguageFactory, getMaxDependentInPredicates, getMaxFromGroups, getMaxInCriteriaSize, getMetadata, getNativeQueryProcedureName, getPushDownFunctions, getRequiredLikeEscape, getSupportedJoinCriteria, getTransactionSupport, getTypeFacility, initCapabilities, isCopyLobs, isForkable, isImmutable, isSourceRequired, isSourceRequiredForCapabilities, 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, supportsAggregatesDistinct, supportsAggregatesEnhancedNumeric, supportsAliasedTable, supportsArrayAgg, supportsArrayType, supportsBatchedUpdates, supportsCommonTableExpressions, supportsCompareCriteriaOrderedExclusive, supportsConvert, supportsCorrelatedSubqueries, supportsCorrelatedSubqueryLimit, supportsDependentJoins, supportsDirectQueryProcedure, supportsElementaryOlapOperations, supportsExcept, supportsExistsCriteria, supportsFormatLiteral, supportsFullDependentJoins, supportsFullOuterJoins, supportsFunctionsInGroupBy, supportsGroupByMultipleDistinctAggregates, supportsGroupByRollup, supportsInCriteriaSubquery, supportsInlineViews, supportsInnerJoins, supportsInsertWithQueryExpression, supportsIntersect, supportsIsDistinctCriteria, supportsLateralJoin, supportsLateralJoinCondition, supportsLikeCriteriaEscapeCharacter, supportsNativeQueries, supportsOnlyCorrelatedSubqueries, supportsOnlyFormatLiterals, supportsOnlyLateralJoinProcedure, supportsOnlySingleTableGroupBy, supportsOnlyTimestampAddLiteral, supportsOrderBy, supportsOrderByNullOrdering, supportsOrderByWithExtendedGrouping, supportsOuterJoins, supportsPartialFiltering, supportsProcedureTable, supportsQuantifiedCompareCriteriaAll, supportsQuantifiedCompareCriteriaSome, supportsRecursiveCommonTableExpressions, supportsScalarSubqueries, supportsScalarSubqueryProjection, supportsSearchedCaseExpressions, supportsSelectDistinct, supportsSelectExpressionArrayType, supportsSelectWithoutFrom, supportsSetQueryLimitOffset, supportsSetQueryOrderBy, supportsSimilarTo, supportsStringAgg, supportsSubqueryCommonTableExpressions, supportsSubqueryInOn, supportsUnions, supportsUpsert, supportsWindowDistinctAggregates, supportsWindowOrderByWithAggregates, useBindingsForDependentJoinpublic static final org.teiid.util.Version TWO_4
public static final org.teiid.util.Version TWO_6
public static final org.teiid.util.Version THREE_0
public static final String FUNC_GEO_WITHIN
public static final String FUNC_GEO_INTERSECTS
public static final String FUNC_GEO_NEAR
public static final String FUNC_GEO_NEAR_SPHERE
public static final String FUNC_GEO_POLYGON_WITHIN
public static final String FUNC_GEO_POLYGON_INTERSECTS
public static final String[] GEOSPATIAL_FUNCTIONS
public static final String AVOID_PROJECTION
public void start()
throws org.teiid.translator.TranslatorException
start in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>org.teiid.translator.TranslatorException@TranslatorProperty(display="Database Version",
description="Database Version")
public String getDatabaseVersion()
@TranslatorProperty(display="Use Disk",
description="Use disk for aggregation processing in MongoDB",
advanced=true)
public boolean useDisk()
public void setUseDisk(boolean useDisk)
public void setDatabaseVersion(String version)
getVersion()version - public void setDatabaseVersion(org.teiid.util.Version version)
public org.teiid.translator.MetadataProcessor<org.teiid.mongodb.MongoDBConnection> getMetadataProcessor()
getMetadataProcessor in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public void registerFunctionModifier(String name, org.teiid.translator.jdbc.FunctionModifier modifier)
public Map<String,org.teiid.translator.jdbc.FunctionModifier> getFunctionModifiers()
public org.teiid.translator.ResultSetExecution createResultSetExecution(org.teiid.language.QueryExpression command,
org.teiid.translator.ExecutionContext executionContext,
org.teiid.metadata.RuntimeMetadata metadata,
org.teiid.mongodb.MongoDBConnection connection)
throws org.teiid.translator.TranslatorException
createResultSetExecution in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>org.teiid.translator.TranslatorExceptionpublic org.teiid.translator.ProcedureExecution createProcedureExecution(org.teiid.language.Call command,
org.teiid.translator.ExecutionContext executionContext,
org.teiid.metadata.RuntimeMetadata metadata,
org.teiid.mongodb.MongoDBConnection connection)
throws org.teiid.translator.TranslatorException
createProcedureExecution in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>org.teiid.translator.TranslatorExceptionpublic org.teiid.translator.UpdateExecution createUpdateExecution(org.teiid.language.Command command,
org.teiid.translator.ExecutionContext executionContext,
org.teiid.metadata.RuntimeMetadata metadata,
org.teiid.mongodb.MongoDBConnection connection)
throws org.teiid.translator.TranslatorException
createUpdateExecution in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>org.teiid.translator.TranslatorExceptionpublic 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.mongodb.MongoDBConnection connection) throws org.teiid.translator.TranslatorException
createDirectExecution in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>org.teiid.translator.TranslatorExceptionpublic boolean useAnsiJoin()
useAnsiJoin in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsSelfJoins()
supportsSelfJoins in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsCompareCriteriaEquals()
supportsCompareCriteriaEquals in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsCompareCriteriaOrdered()
supportsCompareCriteriaOrdered in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsLikeCriteria()
supportsLikeCriteria in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsOrCriteria()
supportsOrCriteria in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsOrderByUnrelated()
supportsOrderByUnrelated in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsGroupBy()
supportsGroupBy in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsHaving()
supportsHaving in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsAggregatesSum()
supportsAggregatesSum in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsAggregatesAvg()
supportsAggregatesAvg in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsAggregatesMin()
supportsAggregatesMin in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsAggregatesMax()
supportsAggregatesMax in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public void setSupportsAggregatesCount(boolean value)
@TranslatorProperty(display="Supports Count(expr)",
description="Supports Aggregate function count with expression",
advanced=true)
public boolean supportsAggregatesCount()
supportsAggregatesCount in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsAggregatesCountStar()
supportsAggregatesCountStar in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public List<String> getSupportedFunctions()
getSupportedFunctions in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsInCriteria()
supportsInCriteria in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsNotCriteria()
supportsNotCriteria in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsRowLimit()
supportsRowLimit in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsIsNullCriteria()
supportsIsNullCriteria in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsRowOffset()
supportsRowOffset in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsBulkUpdate()
supportsBulkUpdate in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsLikeRegex()
supportsLikeRegex in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsSelectExpression()
supportsSelectExpression in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public boolean supportsOnlyLiteralComparison()
supportsOnlyLiteralComparison in class org.teiid.translator.ExecutionFactory<javax.resource.cci.ConnectionFactory,org.teiid.mongodb.MongoDBConnection>public Object retrieveValue(Object value, Class<?> expectedClass, com.mongodb.DB mongoDB, String fqn, String colName) throws org.teiid.translator.TranslatorException
field - expectedClass - org.teiid.translator.TranslatorExceptionpublic Object convertToMongoType(Object value, com.mongodb.DB mongoDB, String fqn) throws org.teiid.translator.TranslatorException
value - org.teiid.translator.TranslatorExceptionpublic com.mongodb.AggregationOptions getOptions(int batchSize)
Copyright © 2018 JBoss by Red Hat. All rights reserved.