@Translator(name="prestodb", description="PrestoDB custom translator") public class PrestoDBExecutionFactory extends JDBCExecutionFactory
JDBCExecutionFactory.StructRetrievalExecutionFactory.Format, ExecutionFactory.NullOrder, ExecutionFactory.SupportedJoinCriteria, ExecutionFactory.TransactionSupportDEFAULT_MAX_DEPENDENT_PREDICATES, DEFAULT_MAX_IN_CRITERIA, DEFAULT_TIME_ZONE, dialectDEFAULT_MAX_FROM_GROUPS, DEFAULT_MAX_IN_CRITERIA_SIZE| Constructor and Description |
|---|
PrestoDBExecutionFactory() |
| Modifier and Type | Method and Description |
|---|---|
ProcedureExecution |
createDirectExecution(List<Argument> arguments,
Command command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
Connection conn) |
protected JDBCMetdataProcessor |
createMetadataProcessor()
Deprecated.
|
ProcedureExecution |
createProcedureExecution(Call command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
Connection conn) |
JDBCUpdateExecution |
createUpdateExecution(Command command,
ExecutionContext executionContext,
RuntimeMetadata metadata,
Connection conn) |
MetadataProcessor<Connection> |
getMetadataProcessor()
Get a MetadataProcessor for the translator to read the metadata.
|
List<String> |
getSupportedFunctions()
Get list of all supported function names.
|
boolean |
isSourceRequiredForMetadata()
Flag that indicates if a underlying source connection required for this execution factory to return metadata
|
void |
start()
Initialize the connector with supplied configuration
|
boolean |
supportsAggregatesEnhancedNumeric()
Support indicates connector can accept STDDEV_POP, STDDEV_VAR, VAR_POP, VAR_SAMP
|
boolean |
supportsArrayType()
The engine uses array types for dependent joins and for array expression.
|
boolean |
supportsBatchedUpdates()
Whether the source supports
BatchedUpdates |
boolean |
supportsBulkUpdate()
Whether the source supports updates with multiple value sets
|
boolean |
supportsCommonTableExpressions() |
boolean |
supportsCorrelatedSubqueries()
Support indicates connector can accept correlated subqueries wherever subqueries
are accepted
|
boolean |
supportsElementaryOlapOperations() |
boolean |
supportsExcept()
Support indicates that the connector supports the EXCEPT of two queries.
|
boolean |
supportsExistsCriteria()
Support indicates connector accepts the EXISTS criteria
|
boolean |
supportsFunctionsInGroupBy()
Support indicates that the connector supports non-column expressions in GROUP BY, such as:
SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate) |
boolean |
supportsInlineViews()
Support indicates connector can accept inline views (subqueries
in the FROM clause).
|
boolean |
supportsIntersect()
Support indicates that the connector supports the INTERSECT of two queries.
|
boolean |
supportsOnlyLiteralComparison() |
boolean |
supportsOrderByNullOrdering()
Returns whether the database supports explicit null ordering.
|
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 |
supportsSelectWithoutFrom() |
boolean |
supportsSubqueryInOn()
Refines subquery support.
|
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'
|
String |
translateLiteralTime(Time timeValue)
Subclasses should override this method to provide a different sql translation
of the literal time value.
|
String |
translateLiteralTimestamp(Timestamp timestampValue)
Subclasses should override this method to provide a different sql translation
of the literal timestamp value.
|
boolean |
useAnsiJoin()
Whether the source prefers to use ANSI style joins.
|
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, getSetOperationString, getSourceComment, getSQLConversionVisitor, getStructRetrieval, getTemporaryTableName, getTimestampNanoPrecision, getVersion, hasTimeType, initCapabilities, intializeConnectionAfterCancel, isEnableDependentJoins, isSourceRequired, isSourceRequiredForCapabilities, isTrimStrings, loadedTemporaryTable, obtainedConnection, parseName, registerFunctionModifier, registerSpecificTypeOfOutParameter, replaceElementName, retrieveGeometryValue, retrieveGeometryValue, retrieveValue, retrieveValue, setCommentFormat, setDatabaseTimeZone, setDatabaseVersion, setDatabaseVersion, setEnableDependentJoins, setFetchSize, setMaxPreparedInsertBatchSize, 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, supportsQuantifiedCompareCriteriaAll, supportsQuantifiedCompareCriteriaSome, supportsScalarSubqueries, supportsSearchedCaseExpressions, supportsSelectExpression, supportsSelfJoins, supportsSetQueryOrderBy, supportsUnions, tempTableRequiresTransaction, translate, translateCommand, translateGeometryLiteral, translateGeometrySelect, translateLimit, translateLiteralBinaryType, translateLiteralBoolean, useAsInGroupAlias, useBindingsForDependentJoin, useBindVariables, useColumnNamesForGeneratedKeys, useCommentsInSourceQuery, useParensForJoins, useParensForSetQueries, usePreparedStatements, useScientificNotation, usesDatabaseVersion, useSelectLimit, useStreamsForLobs, useUnicodePrefix, useWithRollupaddPushDownFunction, areLobsUsableAfterClose, createExecution, getCacheDirective, getCollationLocale, getConnection, getDirectQueryProcedureName, getExcludedCommonTableExpressionName, getInstance, getLanguageFactory, getMaxDependentInPredicates, getMaxFromGroups, getMaxInCriteriaSize, 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, supportsArrayAgg, supportsCompareCriteriaOrderedExclusive, supportsConvert, supportsCorrelatedSubqueryLimit, supportsDirectQueryProcedure, supportsFormatLiteral, supportsFullOuterJoins, supportsGroupByMultipleDistinctAggregates, supportsGroupByRollup, supportsInnerJoins, supportsLateralJoin, supportsLateralJoinCondition, supportsLikeRegex, supportsNativeQueries, supportsOnlyCorrelatedSubqueries, supportsOnlyFormatLiterals, supportsOnlySingleTableGroupBy, supportsOrderBy, supportsOrderByWithExtendedGrouping, supportsOuterJoins, supportsPartialFiltering, supportsProcedureTable, supportsRecursiveCommonTableExpressions, supportsScalarSubqueryProjection, supportsSelectDistinct, supportsSelectExpressionArrayType, supportsSimilarTo, supportsStringAgg, supportsSubqueryCommonTableExpressions, supportsUpsert, supportsWindowDistinctAggregates, supportsWindowOrderByWithAggregatespublic JDBCUpdateExecution createUpdateExecution(Command command, ExecutionContext executionContext, RuntimeMetadata metadata, Connection conn) throws TranslatorException
createUpdateExecution in class JDBCExecutionFactoryTranslatorExceptionpublic ProcedureExecution createProcedureExecution(Call command, ExecutionContext executionContext, RuntimeMetadata metadata, Connection conn) throws TranslatorException
createProcedureExecution in class JDBCExecutionFactoryTranslatorExceptionpublic ProcedureExecution createDirectExecution(List<Argument> arguments, Command command, ExecutionContext executionContext, RuntimeMetadata metadata, Connection conn) throws TranslatorException
createDirectExecution in class JDBCExecutionFactoryTranslatorExceptionpublic boolean useAnsiJoin()
ExecutionFactoryuseAnsiJoin in class ExecutionFactory<DataSource,Connection>@Deprecated protected JDBCMetdataProcessor createMetadataProcessor()
createMetadataProcessor in class JDBCExecutionFactorygetMetadataProcessorpublic MetadataProcessor<Connection> getMetadataProcessor()
ExecutionFactorygetMetadataProcessor in class JDBCExecutionFactorypublic boolean isSourceRequiredForMetadata()
ExecutionFactoryisSourceRequiredForMetadata in class ExecutionFactory<DataSource,Connection>public void start()
throws TranslatorException
ExecutionFactorystart in class JDBCExecutionFactoryTranslatorExceptionpublic List<String> getSupportedFunctions()
ExecutionFactorygetSupportedFunctions in class JDBCExecutionFactoryfor 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 String translateLiteralDate(Date dateValue)
translateLiteralDate in class JDBCExecutionFactorydateValue - Date value, never nullpublic String translateLiteralTime(Time timeValue)
JDBCExecutionFactory{t '23:59:59'}
See JDBCExecutionFactory.hasTimeType() to represent literal times as timestamps.translateLiteralTime in class JDBCExecutionFactorytimeValue - Time value, never nullpublic String translateLiteralTimestamp(Timestamp timestampValue)
JDBCExecutionFactory{ts '2002-12-31 23:59:59'}.
See JDBCExecutionFactory.getTimestampNanoPrecision() to control the literal
precision.translateLiteralTimestamp in class JDBCExecutionFactorytimestampValue - Timestamp value, never nullpublic boolean supportsSelectWithoutFrom()
supportsSelectWithoutFrom in class ExecutionFactory<DataSource,Connection>public boolean supportsSubqueryInOn()
ExecutionFactorysupportsSubqueryInOn in class ExecutionFactory<DataSource,Connection>public boolean supportsInlineViews()
ExecutionFactorysupportsInlineViews in class JDBCExecutionFactorypublic boolean supportsExistsCriteria()
ExecutionFactorysupportsExistsCriteria in class JDBCExecutionFactorypublic boolean supportsOnlyLiteralComparison()
supportsOnlyLiteralComparison in class ExecutionFactory<DataSource,Connection>public boolean supportsOrderByNullOrdering()
ExecutionFactorysupportsOrderByNullOrdering in class ExecutionFactory<DataSource,Connection>public boolean supportsAggregatesEnhancedNumeric()
ExecutionFactorysupportsAggregatesEnhancedNumeric in class ExecutionFactory<DataSource,Connection>public boolean supportsIntersect()
ExecutionFactorysupportsIntersect in class ExecutionFactory<DataSource,Connection>public boolean supportsExcept()
ExecutionFactorysupportsExcept in class ExecutionFactory<DataSource,Connection>public boolean supportsRowLimit()
ExecutionFactorysupportsRowLimit in class ExecutionFactory<DataSource,Connection>public boolean supportsRowOffset()
ExecutionFactorysupportsRowOffset in class ExecutionFactory<DataSource,Connection>public boolean supportsFunctionsInGroupBy()
ExecutionFactorySupport indicates that the connector supports non-column expressions in GROUP BY, such as:
SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate)
supportsFunctionsInGroupBy in class ExecutionFactory<DataSource,Connection>public boolean supportsBulkUpdate()
ExecutionFactorysupportsBulkUpdate in class JDBCExecutionFactorypublic boolean supportsBatchedUpdates()
ExecutionFactoryBatchedUpdatessupportsBatchedUpdates in class JDBCExecutionFactorypublic boolean supportsCommonTableExpressions()
supportsCommonTableExpressions in class ExecutionFactory<DataSource,Connection>public boolean supportsElementaryOlapOperations()
supportsElementaryOlapOperations in class ExecutionFactory<DataSource,Connection>public boolean supportsArrayType()
ExecutionFactorysupportsArrayType in class ExecutionFactory<DataSource,Connection>public boolean supportsCorrelatedSubqueries()
ExecutionFactorysupportsCorrelatedSubqueries in class JDBCExecutionFactoryCopyright © 2017 JBoss by Red Hat. All rights reserved.