@Translator(name="postgresql", description="A translator for postgreSQL Database") public class PostgreSQLExecutionFactory extends JDBCExecutionFactory
JDBCExecutionFactory.StructRetrievalExecutionFactory.Format, ExecutionFactory.NullOrder, ExecutionFactory.SupportedJoinCriteria| Modifier and Type | Field and Description |
|---|---|
static Version |
EIGHT_0 |
static Version |
EIGHT_1 |
static Version |
EIGHT_2 |
static Version |
EIGHT_3 |
static Version |
EIGHT_4 |
static Version |
NINE_0 |
DEFAULT_MAX_DEPENDENT_PREDICATES, DEFAULT_MAX_IN_CRITERIA, DEFAULT_TIME_ZONE, dialectDEFAULT_MAX_FROM_GROUPS, DEFAULT_MAX_IN_CRITERIA_SIZE| Constructor and Description |
|---|
PostgreSQLExecutionFactory() |
| Modifier and Type | Method and Description |
|---|---|
static List<Object> |
addDefaultEscape(Like like)
Add a default escape
|
String |
getCreateTemporaryTablePostfix(boolean inTransaction) |
ExecutionFactory.NullOrder |
getDefaultNullOrder()
Returns the default null ordering
|
String |
getHibernateDialectClassName() |
List<String> |
getSupportedFunctions()
Get list of all supported function names.
|
int |
getTimestampNanoPrecision()
Return the precision of timestamp literals.
|
void |
loadedTemporaryTable(String tableName,
ExecutionContext context,
Connection connection)
pg needs to collect stats for effective planning
|
void |
start()
Initialize the connector with supplied configuration
|
boolean |
supportsAggregatesEnhancedNumeric()
Support indicates connector can accept STDDEV_POP, STDDEV_VAR, VAR_POP, VAR_SAMP
|
boolean |
supportsArrayAgg() |
boolean |
supportsArrayType()
The engine currently uses array types for dependent joins.
|
boolean |
supportsCommonTableExpressions() |
boolean |
supportsElementaryOlapOperations() |
boolean |
supportsExcept()
Support indicates that the connector supports the EXCEPT of two queries.
|
boolean |
supportsFormatLiteral(String literal,
ExecutionFactory.Format format) |
boolean |
supportsInlineViews()
This is true only after Postgre version 7.1
However, since version 7 was released in 2000 we'll assume a post 7 instance.
|
boolean |
supportsIntersect()
Support indicates that the connector supports the INTERSECT of two queries.
|
boolean |
supportsLikeRegex() |
boolean |
supportsOnlyFormatLiterals()
|
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 |
supportsSimilarTo() |
boolean |
supportsStringAgg() |
boolean |
supportsWindowDistinctAggregates() |
List<?> |
translate(LanguageObject obj,
ExecutionContext context)
Postgres doesn't provide min/max(boolean), so this conversion writes a min(BooleanValue) as
bool_and(BooleanValue)
|
List<?> |
translateLimit(Limit limit,
ExecutionContext context)
Return a List of translated parts (
LanguageObjects and Objects), or null
if to rely on the default translation. |
String |
translateLiteralBoolean(Boolean booleanValue)
Subclasses should override this method to provide a different sql translation
of the literal boolean value.
|
String |
translateLiteralDate(Date dateValue)
Subclasses should override this method to provide a different sql translation
of the literal date value.
|
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.
|
protected boolean |
usesDatabaseVersion() |
addSourceComment, afterInitialConnectionObtained, bindValue, closeConnection, convertObject, createDirectExecution, createMetadataProcessor, createProcedureExecution, createResultSetExecution, createTempTable, createUpdateExecution, executeStoredProcedure, formatDateValue, getConnection, getCreateTemporaryTableString, getCreateTempTableSQL, getDatabaseCalendar, getDatabaseTimeZone, getDatabaseVersion, getDefaultSupportedFunctions, getDialect, getFunctionModifiers, getLikeRegexString, getMaxPreparedInsertBatchSize, getMetadata, getSetOperationString, getSourceComment, getSQLConversionVisitor, getStructRetrieval, getTemporaryTableName, getVersion, hasTimeType, initCapabilities, isEnableDependentJoins, isSourceRequired, isSourceRequiredForCapabilities, isTrimStrings, obtainedConnection, parseName, registerFunctionModifier, registerSpecificTypeOfOutParameter, replaceElementName, retrieveValue, retrieveValue, setDatabaseTimeZone, setDatabaseVersion, setDatabaseVersion, setEnableDependentJoins, setFetchSize, setMaxPreparedInsertBatchSize, setStructRetrieval, setTrimStrings, setUseBindVariables, setUseCommentsInSourceQuery, supportsAggregatesAvg, supportsAggregatesCount, supportsAggregatesCountStar, supportsAggregatesDistinct, supportsAggregatesMax, supportsAggregatesMin, supportsAggregatesSum, supportsAliasedTable, supportsBatchedUpdates, supportsBulkUpdate, supportsCompareCriteriaEquals, supportsCompareCriteriaOrdered, supportsCorrelatedSubqueries, supportsDependentJoins, supportsExistsCriteria, supportsFullDependentJoins, supportsGeneratedKeys, supportsGeneratedKeys, supportsGroupBy, supportsHaving, supportsInCriteria, supportsInCriteriaSubquery, supportsInsertWithQueryExpression, supportsIsNullCriteria, supportsLikeCriteria, supportsLikeCriteriaEscapeCharacter, supportsNotCriteria, supportsOrCriteria, supportsOrderByUnrelated, supportsQuantifiedCompareCriteriaAll, supportsQuantifiedCompareCriteriaSome, supportsScalarSubqueries, supportsSearchedCaseExpressions, supportsSelectExpression, supportsSelfJoins, supportsSetQueryOrderBy, supportsUnions, tempTableRequiresTransaction, translateCommand, useAsInGroupAlias, useBindVariables, useCommentsInSourceQuery, useParensForJoins, useParensForSetQueries, usePreparedStatements, useSelectLimit, useStreamsForLobs, useWithRollupaddPushDownFunction, areLobsUsableAfterClose, createExecution, getCacheDirective, getConnection, getDirectQueryProcedureName, getInstance, getLanguageFactory, getMaxDependentInPredicates, getMaxFromGroups, getMaxInCriteriaSize, getNativeQueryProcedureName, getPushDownFunctions, getSupportedJoinCriteria, getTypeFacility, isCopyLobs, isForkable, isImmutable, isSourceRequiredForMetadata, isThreadBound, requiresCriteria, setCopyLobs, setDirectQueryProcedureName, setImmutable, setMaxDependentInPredicates, setMaxInCriteriaSize, setNativeQueryProcedureName, setRequiresCriteria, setSourceRequired, setSourceRequiredForMetadata, setSupportedJoinCriteria, setSupportsDirectQueryProcedure, setSupportsFullOuterJoins, setSupportsInnerJoins, setSupportsNativeQueries, setSupportsOrderBy, setSupportsOuterJoins, setSupportsSelectDistinct, setThreadBound, supportsAdvancedOlapOperations, supportsConvert, supportsDirectQueryProcedure, supportsFullOuterJoins, supportsFunctionsInGroupBy, supportsGroupByRollup, supportsInnerJoins, supportsNativeQueries, supportsOnlyCorrelatedSubqueries, supportsOnlyLiteralComparison, supportsOnlySingleTableGroupBy, supportsOrderBy, supportsOrderByWithExtendedGrouping, supportsOuterJoins, supportsSelectDistinct, supportsSubqueryInOn, supportsWindowOrderByWithAggregates, useAnsiJoinpublic static final Version EIGHT_0
public static final Version EIGHT_1
public static final Version EIGHT_2
public static final Version EIGHT_3
public static final Version EIGHT_4
public static final Version NINE_0
public void start()
throws TranslatorException
ExecutionFactorystart in class JDBCExecutionFactoryTranslatorExceptionpublic String translateLiteralBoolean(Boolean booleanValue)
JDBCExecutionFactory'0' or '1'.translateLiteralBoolean in class JDBCExecutionFactorybooleanValue - Boolean value, never nullpublic String translateLiteralDate(Date dateValue)
JDBCExecutionFactory{d '2002-12-31'}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 int getTimestampNanoPrecision()
JDBCExecutionFactorygetTimestampNanoPrecision in class JDBCExecutionFactorypublic List<?> translateLimit(Limit limit, ExecutionContext context)
JDBCExecutionFactoryLanguageObjects and Objects), or null
if to rely on the default translation.translateLimit in class JDBCExecutionFactorypublic List<?> translate(LanguageObject obj, ExecutionContext context)
translate in class JDBCExecutionFactoryLanguageObjectVisitor.visit(org.teiid.language.AggregateFunction)public static List<Object> addDefaultEscape(Like like)
like - public ExecutionFactory.NullOrder getDefaultNullOrder()
ExecutionFactorygetDefaultNullOrder in class JDBCExecutionFactoryExecutionFactory.NullOrderpublic boolean supportsOrderByNullOrdering()
ExecutionFactorysupportsOrderByNullOrdering in class ExecutionFactory<DataSource,Connection>public 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 boolean supportsInlineViews()
supportsInlineViews in class JDBCExecutionFactorypublic boolean supportsRowLimit()
ExecutionFactorysupportsRowLimit in class ExecutionFactory<DataSource,Connection>public boolean supportsRowOffset()
ExecutionFactorysupportsRowOffset in class ExecutionFactory<DataSource,Connection>public boolean supportsExcept()
ExecutionFactorysupportsExcept in class ExecutionFactory<DataSource,Connection>public boolean supportsIntersect()
ExecutionFactorysupportsIntersect in class ExecutionFactory<DataSource,Connection>public boolean supportsAggregatesEnhancedNumeric()
ExecutionFactorysupportsAggregatesEnhancedNumeric in class ExecutionFactory<DataSource,Connection>public boolean supportsCommonTableExpressions()
supportsCommonTableExpressions in class ExecutionFactory<DataSource,Connection>public boolean supportsArrayAgg()
supportsArrayAgg in class ExecutionFactory<DataSource,Connection>public boolean supportsElementaryOlapOperations()
supportsElementaryOlapOperations in class ExecutionFactory<DataSource,Connection>public boolean supportsWindowDistinctAggregates()
supportsWindowDistinctAggregates in class ExecutionFactory<DataSource,Connection>public boolean supportsSimilarTo()
supportsSimilarTo in class ExecutionFactory<DataSource,Connection>public boolean supportsLikeRegex()
supportsLikeRegex in class ExecutionFactory<DataSource,Connection>public boolean supportsOnlyFormatLiterals()
ExecutionFactorysupportsOnlyFormatLiterals in class ExecutionFactory<DataSource,Connection>public boolean supportsFormatLiteral(String literal, ExecutionFactory.Format format)
supportsFormatLiteral in class ExecutionFactory<DataSource,Connection>public boolean supportsArrayType()
ExecutionFactorysupportsArrayType in class ExecutionFactory<DataSource,Connection>protected boolean usesDatabaseVersion()
usesDatabaseVersion in class JDBCExecutionFactorypublic boolean supportsStringAgg()
supportsStringAgg in class ExecutionFactory<DataSource,Connection>public boolean supportsSelectWithoutFrom()
supportsSelectWithoutFrom in class ExecutionFactory<DataSource,Connection>public String getHibernateDialectClassName()
getHibernateDialectClassName in class JDBCExecutionFactorypublic String getCreateTemporaryTablePostfix(boolean inTransaction)
getCreateTemporaryTablePostfix in class JDBCExecutionFactorypublic void loadedTemporaryTable(String tableName, ExecutionContext context, Connection connection) throws SQLException
loadedTemporaryTable in class JDBCExecutionFactorySQLExceptionCopyright © 2013 JBoss by Red Hat. All Rights Reserved.