Package org.teiid.translator.prestodb
Class PrestoDBExecutionFactory
- java.lang.Object
-
- org.teiid.translator.ExecutionFactory<DataSource,Connection>
-
- org.teiid.translator.jdbc.JDBCExecutionFactory
-
- org.teiid.translator.prestodb.PrestoDBExecutionFactory
-
@Translator(name="prestodb", description="PrestoDB custom translator") public class PrestoDBExecutionFactory extends org.teiid.translator.jdbc.JDBCExecutionFactory
-
-
Field Summary
Fields Modifier and Type Field Description static org.teiid.util.VersionV_0_153
-
Constructor Summary
Constructors Constructor Description PrestoDBExecutionFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description org.teiid.translator.ProcedureExecutioncreateDirectExecution(List<org.teiid.language.Argument> arguments, org.teiid.language.Command command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, Connection conn)protected org.teiid.translator.jdbc.JDBCMetadataProcessorcreateMetadataProcessor()Deprecated.org.teiid.translator.ProcedureExecutioncreateProcedureExecution(org.teiid.language.Call command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, Connection conn)org.teiid.translator.jdbc.JDBCUpdateExecutioncreateUpdateExecution(org.teiid.language.Command command, org.teiid.translator.ExecutionContext executionContext, org.teiid.metadata.RuntimeMetadata metadata, Connection conn)org.teiid.translator.MetadataProcessor<Connection>getMetadataProcessor()List<String>getSupportedFunctions()voidinitCapabilities(Connection connection)booleanisSourceRequiredForMetadata()voidstart()booleansupportsAggregatesEnhancedNumeric()booleansupportsArrayType()booleansupportsBatchedUpdates()booleansupportsBulkUpdate()booleansupportsCommonTableExpressions()booleansupportsConvert(int fromType, int toType)booleansupportsCorrelatedSubqueries()booleansupportsElementaryOlapOperations()booleansupportsExcept()booleansupportsExistsCriteria()booleansupportsFunctionsInGroupBy()booleansupportsInlineViews()booleansupportsIntersect()booleansupportsOnlyLiteralComparison()booleansupportsOrderByNullOrdering()booleansupportsRowLimit()booleansupportsRowOffset()booleansupportsSelectWithoutFrom()booleansupportsSubqueryInOn()StringtranslateLiteralDate(Date dateValue)Base on https://prestodb.io/docs/current/functions/datetime.html, the support format are date '2012-08-08', time '01:00', timestamp '2012-08-08 01:00'StringtranslateLiteralTime(Time timeValue)StringtranslateLiteralTimestamp(Timestamp timestampValue)booleanuseAnsiJoin()protected booleanusesDatabaseVersion()-
Methods inherited from class org.teiid.translator.jdbc.JDBCExecutionFactory
addSourceComment, afterInitialConnectionObtained, bindValue, closeConnection, convertObject, createResultSetExecution, createTempTable, executeStoredProcedure, formatDateValue, formatDateValue, getCommentFormat, getConnection, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getCreateTempTableSQL, getDatabaseCalendar, getDatabaseTimeZone, getDatabaseVersion, getDefaultNullOrder, getDefaultSupportedFunctions, getDialect, getFunctionModifiers, getHibernateDialectClassName, getLateralKeyword, getLikeRegexString, getMaxPreparedInsertBatchSize, getMetadata, getRemovePushdownCharacters, getSetOperationString, getSourceComment, getSQLConversionVisitor, getStructRetrieval, getTemporaryTableName, getTimestampNanoPrecision, getVersion, hasTimeType, intializeConnectionAfterCancel, isCharacterType, isDefaultTimeZone, isEnableDependentJoins, isExtendedAscii, isNonAscii, isNonAscii, isNonAsciiFunction, isSourceRequired, isSourceRequiredForCapabilities, isTrimStrings, loadedTemporaryTable, obtainedConnection, 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, supportsBooleanExpressions, supportsCompareCriteriaEquals, supportsCompareCriteriaOrdered, supportsDependentJoins, supportsFullDependentJoins, supportsGeneratedKeys, supportsGeneratedKeys, supportsGroupBy, supportsHaving, supportsInCriteria, supportsInCriteriaSubquery, supportsInsertWithQueryExpression, supportsIsNullCriteria, supportsLikeCriteria, supportsLikeCriteriaEscapeCharacter, supportsNotCriteria, supportsOrCriteria, supportsOrderByUnrelated, supportsProcedureParameterExpression, supportsQuantifiedCompareCriteriaAll, supportsQuantifiedCompareCriteriaSome, supportsScalarSubqueries, supportsSearchedCaseExpressions, supportsSelectExpression, supportsSelfJoins, supportsSetQueryOrderBy, supportsUnions, tempTableRequiresTransaction, translate, translateCommand, translateGeographyLiteral, translateGeographyParameter, translateGeographySelect, translateGeometryLiteral, translateGeometryParameter, translateGeometrySelect, translateLimit, translateLiteralBinaryType, translateLiteralBoolean, useAsInGroupAlias, useBindingsForDependentJoin, useBindVariables, useColumnNamesForGeneratedKeys, useCommentsInSourceQuery, useNBindingType, useParensForJoins, useParensForSetQueries, usePreparedStatements, useScientificNotation, 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, 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, supportsArrayAgg, supportsCompareCriteriaOrderedExclusive, supportsCorrelatedSubqueryLimit, supportsDirectQueryProcedure, supportsFormatLiteral, supportsFullOuterJoins, supportsGeographyType, supportsGroupByMultipleDistinctAggregates, supportsGroupByRollup, supportsInnerJoins, supportsIsDistinctCriteria, supportsLateralJoin, supportsLateralJoinCondition, supportsLikeRegex, supportsListAgg, supportsMultipleOpenExecutions, supportsNativeQueries, supportsOnlyCorrelatedSubqueries, supportsOnlyFormatLiterals, supportsOnlyLateralJoinProcedure, supportsOnlySingleTableGroupBy, supportsOnlyTimestampAddLiteral, supportsOrderBy, supportsOrderByWithExtendedGrouping, supportsOuterJoins, supportsPartialFiltering, supportsProcedureTable, supportsRecursiveCommonTableExpressions, supportsScalarSubqueryProjection, supportsSelectDistinct, supportsSelectExpressionArrayType, supportsSetQueryLimitOffset, supportsSimilarTo, supportsStringAgg, supportsSubqueryCommonTableExpressions, supportsUpsert, supportsWindowDistinctAggregates, supportsWindowFrameClause, supportsWindowFunctionCumeDist, supportsWindowFunctionNthValue, supportsWindowFunctionNtile, supportsWindowFunctionPercentRank, supportsWindowOrderByWithAggregates
-
-
-
-
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:
createUpdateExecutionin classorg.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:
createProcedureExecutionin classorg.teiid.translator.jdbc.JDBCExecutionFactory- 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, Connection conn) throws org.teiid.translator.TranslatorException
- Overrides:
createDirectExecutionin classorg.teiid.translator.jdbc.JDBCExecutionFactory- Throws:
org.teiid.translator.TranslatorException
-
useAnsiJoin
public boolean useAnsiJoin()
- Overrides:
useAnsiJoinin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
createMetadataProcessor
@Deprecated protected org.teiid.translator.jdbc.JDBCMetadataProcessor createMetadataProcessor()
Deprecated.- Overrides:
createMetadataProcessorin classorg.teiid.translator.jdbc.JDBCExecutionFactory
-
getMetadataProcessor
public org.teiid.translator.MetadataProcessor<Connection> getMetadataProcessor()
- Overrides:
getMetadataProcessorin classorg.teiid.translator.jdbc.JDBCExecutionFactory
-
isSourceRequiredForMetadata
public boolean isSourceRequiredForMetadata()
- Overrides:
isSourceRequiredForMetadatain classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsConvert
public boolean supportsConvert(int fromType, int toType)- Overrides:
supportsConvertin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
usesDatabaseVersion
protected boolean usesDatabaseVersion()
- Overrides:
usesDatabaseVersionin classorg.teiid.translator.jdbc.JDBCExecutionFactory
-
initCapabilities
public void initCapabilities(Connection connection) throws org.teiid.translator.TranslatorException
- Overrides:
initCapabilitiesin classorg.teiid.translator.jdbc.JDBCExecutionFactory- Throws:
org.teiid.translator.TranslatorException
-
start
public void start() throws org.teiid.translator.TranslatorException- Overrides:
startin classorg.teiid.translator.jdbc.JDBCExecutionFactory- Throws:
org.teiid.translator.TranslatorException
-
getSupportedFunctions
public List<String> getSupportedFunctions()
- Overrides:
getSupportedFunctionsin classorg.teiid.translator.jdbc.JDBCExecutionFactory
-
translateLiteralDate
public String translateLiteralDate(Date dateValue)
Base on https://prestodb.io/docs/current/functions/datetime.html, the support format are date '2012-08-08', time '01:00', timestamp '2012-08-08 01:00'- Overrides:
translateLiteralDatein classorg.teiid.translator.jdbc.JDBCExecutionFactory
-
translateLiteralTime
public String translateLiteralTime(Time timeValue)
- Overrides:
translateLiteralTimein classorg.teiid.translator.jdbc.JDBCExecutionFactory
-
translateLiteralTimestamp
public String translateLiteralTimestamp(Timestamp timestampValue)
- Overrides:
translateLiteralTimestampin classorg.teiid.translator.jdbc.JDBCExecutionFactory
-
supportsSelectWithoutFrom
public boolean supportsSelectWithoutFrom()
- Overrides:
supportsSelectWithoutFromin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsSubqueryInOn
public boolean supportsSubqueryInOn()
- Overrides:
supportsSubqueryInOnin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsInlineViews
public boolean supportsInlineViews()
- Overrides:
supportsInlineViewsin classorg.teiid.translator.jdbc.JDBCExecutionFactory
-
supportsExistsCriteria
public boolean supportsExistsCriteria()
- Overrides:
supportsExistsCriteriain classorg.teiid.translator.jdbc.JDBCExecutionFactory
-
supportsOnlyLiteralComparison
public boolean supportsOnlyLiteralComparison()
- Overrides:
supportsOnlyLiteralComparisonin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsOrderByNullOrdering
public boolean supportsOrderByNullOrdering()
- Overrides:
supportsOrderByNullOrderingin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsAggregatesEnhancedNumeric
public boolean supportsAggregatesEnhancedNumeric()
- Overrides:
supportsAggregatesEnhancedNumericin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsIntersect
public boolean supportsIntersect()
- Overrides:
supportsIntersectin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsExcept
public boolean supportsExcept()
- Overrides:
supportsExceptin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsRowLimit
public boolean supportsRowLimit()
- Overrides:
supportsRowLimitin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsRowOffset
public boolean supportsRowOffset()
- Overrides:
supportsRowOffsetin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsFunctionsInGroupBy
public boolean supportsFunctionsInGroupBy()
- Overrides:
supportsFunctionsInGroupByin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsBulkUpdate
public boolean supportsBulkUpdate()
- Overrides:
supportsBulkUpdatein classorg.teiid.translator.jdbc.JDBCExecutionFactory
-
supportsBatchedUpdates
public boolean supportsBatchedUpdates()
- Overrides:
supportsBatchedUpdatesin classorg.teiid.translator.jdbc.JDBCExecutionFactory
-
supportsCommonTableExpressions
public boolean supportsCommonTableExpressions()
- Overrides:
supportsCommonTableExpressionsin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsElementaryOlapOperations
public boolean supportsElementaryOlapOperations()
- Overrides:
supportsElementaryOlapOperationsin classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsArrayType
public boolean supportsArrayType()
- Overrides:
supportsArrayTypein classorg.teiid.translator.ExecutionFactory<DataSource,Connection>
-
supportsCorrelatedSubqueries
public boolean supportsCorrelatedSubqueries()
- Overrides:
supportsCorrelatedSubqueriesin classorg.teiid.translator.jdbc.JDBCExecutionFactory
-
-