类 Ingres9Dialect
- java.lang.Object
-
- org.hibernate.dialect.Dialect
-
- org.hibernate.dialect.IngresDialect
-
- org.hibernate.dialect.Ingres9Dialect
-
- 所有已实现的接口:
ConversionContext
- 直接已知子类:
Ingres10Dialect
public class Ingres9Dialect extends IngresDialect
A SQL dialect for Ingres 9.3 and later versions. Changes:- Support for the SQL functions current_time, current_timestamp and current_date added
- Type mapping of
Types.TIMESTAMPchanged from "timestamp with time zone" to "timestamp(9) with time zone" - Improved handling of "SELECT...FOR UPDATE" statements
- Added support for pooled sequences
- Added support for SELECT queries with limit and offset
- Added getIdentitySelectString
- Modified concatenation operator
- 作者:
- Enrico Schenk, Raymond Fan
-
-
构造器概要
构造器 构造器 说明 Ingres9Dialect()Constructs a Ingres9Dialect
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 booleandoesReadCommittedCauseWritersToBlockReaders()For the underlying database, is READ_COMMITTED isolation implemented by forcing readers to wait for write locks to be released?booleandoesRepeatableReadCauseReadersToBlockWriters()For the underlying database, is REPEATABLE_READ isolation implemented by forcing writers to wait for read locks to be released?booleanforUpdateOfColumns()Is FOR UPDATE OF syntax supported?StringgetCurrentTimestampSelectString()Retrieve the command used to retrieve the current timestamp from the database.StringgetCurrentTimestampSQLFunctionName()The name of the database-specific SQL function for retrieving the current timestamp.LimitHandlergetDefaultLimitHandler()IdentityColumnSupportgetIdentityColumnSupport()Get the appropriateIdentityColumnSupportStringgetLimitString(String querySelect, int offset, int limit)Given a limit and an offset, apply the limit clause to the query.StringgetQuerySequencesString()Get the select command used retrieve the names of all sequences.booleanisCurrentTimestampSelectStringCallable()Should the value returned byDialect.getCurrentTimestampSelectString()be treated as callable.protected voidregisterDateTimeColumnTypes()Register column types date, time, timestampprotected voidregisterDateTimeFunctions()Register functions current_time, current_timestamp, current_datebooleansupportsCurrentTimestampSelection()Does this dialect support a way to retrieve the database's current timestamp value?booleansupportsLimitOffset()Does this dialect's LIMIT support (if any) additionally support specifying an offset?booleansupportsOuterJoinForUpdate()Does this dialect support FOR UPDATE in conjunction with outer joined rows?booleansupportsPooledSequences()Does this dialect support "pooled" sequences.booleansupportsUnionAll()Does this dialect support UNION ALL, which is generally a faster variant of UNION?booleansupportsVariableLimit()Does this dialect support bind variables (i.e., prepared statement parameters) for its limit/offset?booleanuseMaxForLimit()Does the LIMIT clause take a "maximum" row number instead of a total number of returned rows?-
从类继承的方法 org.hibernate.dialect.IngresDialect
dropConstraints, getAddColumnString, getCreateSequenceString, getDefaultMultiTableBulkIdStrategy, getDropSequenceString, getLimitHandler, getLowercaseFunction, getNullColumnString, getSelectGUIDString, getSelectSequenceNextValString, getSequenceInformationExtractor, getSequenceNextValString, supportsEmptyInList, supportsExpectedLobUsagePattern, supportsLimit, supportsSequences, supportsSubselectAsInPredicateLHS, supportsTupleDistinctCounts
-
从类继承的方法 org.hibernate.dialect.Dialect
addSqlHintOrComment, appendLockHint, appendLockHint, applyLocksToSql, areStringComparisonsCaseInsensitive, augmentRecognizedTableTypes, bindLimitParametersFirst, bindLimitParametersInReverseOrder, buildIdentifierHelper, buildSQLExceptionConversionDelegate, buildSQLExceptionConverter, canCreateCatalog, canCreateSchema, cast, cast, cast, closeQuote, contributeTypes, convertToFirstRowValue, createCaseFragment, createOuterJoinFragment, defaultScrollMode, escapeLiteral, forceLimitUsage, forceLobAsLastValue, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAddUniqueConstraintString, getAlterTableString, getAuxiliaryDatabaseObjectExporter, getCallableStatementSupport, getCascadeConstraintsString, getCaseInsensitiveLike, getCastTypeName, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateMultisetTableString, getCreateSchemaCommand, getCreateSequenceString, getCreateSequenceStrings, getCreateSequenceStrings, getCreateTableString, getCrossJoinSeparator, getCurrentSchemaCommand, getDefaultBatchLoadSizingStrategy, getDefaultProperties, getDialect, getDialect, getDropCatalogCommand, getDropForeignKeyString, getDropSchemaCommand, getDropSequenceStrings, getDropTableString, getForeignKeyExporter, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateSkipLockedString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIndexExporter, getInExpressionCountLimit, getKeywords, getLimitString, getLobMergeStrategy, getLockingStrategy, getMaxAliasLength, getNameQualifierSupport, getNativeIdentifierGeneratorClass, getNativeIdentifierGeneratorStrategy, getNoColumnsInsertString, getNotExpression, getQueryHintString, getQueryHintString, getReadLockString, getReadLockString, getResultSet, getResultSet, getResultSet, getSchemaNameResolver, getSelectClauseNullString, getSequenceExporter, getSqlTypeDescriptorOverride, getTableComment, getTableExporter, getTableTypeString, getTypeName, getTypeName, getUniqueDelegate, getUniqueKeyExporter, getViolatedConstraintNameExtracter, getWriteLockString, getWriteLockString, hasAlterTable, hasSelfReferentialForeignKeyBug, inlineLiteral, isJdbcLogWarningsEnabledByDefault, isLegacyLimitHandlerBehaviorEnabled, isLockTimeoutParameterized, isTypeNameRegistered, openQuote, prependComment, qualifyIndexName, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, registerResultSetOutParameter, registerResultSetOutParameter, remapSqlTypeDescriptor, renderOrderByElement, replaceResultVariableInOrderByClauseWithPosition, requiresCastingOfParametersInSelectClause, requiresParensForTupleDistinctCounts, supportsBindAsCallableArgument, supportsCascadeDelete, supportsCaseInsensitiveLike, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsExistsInSelect, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsJdbcConnectionLobCreation, supportsLobValueChangePropogation, supportsLockTimeouts, supportsNamedParameters, supportsNationalizedTypes, supportsNoColumnsInsert, supportsNonQueryWithCTE, supportsNotNullUnique, supportsNoWait, supportsParametersInInsertSelect, supportsPartitionBy, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsSelectAliasInGroupByClause, supportsSkipLocked, supportsSubqueryOnMutatingTable, supportsTableCheck, supportsTupleCounts, supportsTuplesInSubqueries, supportsUnboundedLobLocatorMaterialization, supportsUnique, supportsUniqueConstraintInCreateAlterTable, supportsValuesList, toBooleanValueString, toString, transformSelectString, useFollowOnLocking, useFollowOnLocking, useInputStreamToInsertBlob
-
-
-
-
方法详细资料
-
registerDateTimeFunctions
protected void registerDateTimeFunctions()
Register functions current_time, current_timestamp, current_date
-
registerDateTimeColumnTypes
protected void registerDateTimeColumnTypes()
Register column types date, time, timestamp
-
supportsOuterJoinForUpdate
public boolean supportsOuterJoinForUpdate()
从类复制的说明:DialectDoes this dialect support FOR UPDATE in conjunction with outer joined rows?- 覆盖:
supportsOuterJoinForUpdate在类中Dialect- 返回:
- True if outer joined rows can be locked via FOR UPDATE.
-
forUpdateOfColumns
public boolean forUpdateOfColumns()
从类复制的说明:DialectIs FOR UPDATE OF syntax supported?- 覆盖:
forUpdateOfColumns在类中Dialect- 返回:
- True if the database supports FOR UPDATE OF syntax; false otherwise.
-
getQuerySequencesString
public String getQuerySequencesString()
从类复制的说明:DialectGet the select command used retrieve the names of all sequences.- 覆盖:
getQuerySequencesString在类中IngresDialect- 返回:
- The select command; or null if sequences are not supported.
- 另请参阅:
SchemaUpdate
-
supportsPooledSequences
public boolean supportsPooledSequences()
从类复制的说明:DialectDoes this dialect support "pooled" sequences. Not aware of a better name for this. Essentially can we specify the initial and increment values?- 覆盖:
supportsPooledSequences在类中Dialect- 返回:
- True if such "pooled" sequences are supported; false otherwise.
- 另请参阅:
Dialect.getCreateSequenceStrings(String, int, int),Dialect.getCreateSequenceString(String, int, int)
-
isCurrentTimestampSelectStringCallable
public boolean isCurrentTimestampSelectStringCallable()
从类复制的说明:DialectShould the value returned byDialect.getCurrentTimestampSelectString()be treated as callable. Typically this indicates that JDBC escape syntax is being used...- 覆盖:
isCurrentTimestampSelectStringCallable在类中Dialect- 返回:
- True if the
Dialect.getCurrentTimestampSelectString()return is callable; false otherwise.
-
supportsCurrentTimestampSelection
public boolean supportsCurrentTimestampSelection()
从类复制的说明:DialectDoes this dialect support a way to retrieve the database's current timestamp value?- 覆盖:
supportsCurrentTimestampSelection在类中Dialect- 返回:
- True if the current timestamp can be retrieved; false otherwise.
-
getCurrentTimestampSelectString
public String getCurrentTimestampSelectString()
从类复制的说明:DialectRetrieve the command used to retrieve the current timestamp from the database.- 覆盖:
getCurrentTimestampSelectString在类中Dialect- 返回:
- The command.
-
getCurrentTimestampSQLFunctionName
public String getCurrentTimestampSQLFunctionName()
从类复制的说明:DialectThe name of the database-specific SQL function for retrieving the current timestamp.- 覆盖:
getCurrentTimestampSQLFunctionName在类中IngresDialect- 返回:
- The function name.
-
supportsUnionAll
public boolean supportsUnionAll()
从类复制的说明:DialectDoes this dialect support UNION ALL, which is generally a faster variant of UNION?- 覆盖:
supportsUnionAll在类中Dialect- 返回:
- True if UNION ALL is supported; false otherwise.
-
doesReadCommittedCauseWritersToBlockReaders
public boolean doesReadCommittedCauseWritersToBlockReaders()
从类复制的说明:DialectFor the underlying database, is READ_COMMITTED isolation implemented by forcing readers to wait for write locks to be released?- 覆盖:
doesReadCommittedCauseWritersToBlockReaders在类中Dialect- 返回:
- True if writers block readers to achieve READ_COMMITTED; false otherwise.
-
doesRepeatableReadCauseReadersToBlockWriters
public boolean doesRepeatableReadCauseReadersToBlockWriters()
从类复制的说明:DialectFor the underlying database, is REPEATABLE_READ isolation implemented by forcing writers to wait for read locks to be released?- 覆盖:
doesRepeatableReadCauseReadersToBlockWriters在类中Dialect- 返回:
- True if readers block writers to achieve REPEATABLE_READ; false otherwise.
-
getDefaultLimitHandler
public LimitHandler getDefaultLimitHandler()
- 覆盖:
getDefaultLimitHandler在类中IngresDialect
-
supportsLimitOffset
public boolean supportsLimitOffset()
从类复制的说明:DialectDoes this dialect's LIMIT support (if any) additionally support specifying an offset?- 覆盖:
supportsLimitOffset在类中IngresDialect- 返回:
- True if the dialect supports an offset within the limit support.
-
supportsVariableLimit
public boolean supportsVariableLimit()
从类复制的说明:DialectDoes this dialect support bind variables (i.e., prepared statement parameters) for its limit/offset?- 覆盖:
supportsVariableLimit在类中IngresDialect- 返回:
- True if bind variables can be used; false otherwise.
-
useMaxForLimit
public boolean useMaxForLimit()
从类复制的说明:DialectDoes the LIMIT clause take a "maximum" row number instead of a total number of returned rows? This is easiest understood via an example. Consider you have a table with 20 rows, but you only want to retrieve rows number 11 through 20. Generally, a limit with offset would say that the offset = 11 and the limit = 10 (we only want 10 rows at a time); this is specifying the total number of returned rows. Some dialects require that we instead specify offset = 11 and limit = 20, where 20 is the "last" row we want relative to offset (i.e. total number of rows = 20 - 11 = 9) So essentially, is limit relative from offset? Or is limit absolute?- 覆盖:
useMaxForLimit在类中IngresDialect- 返回:
- True if limit is relative from offset; false otherwise.
-
getLimitString
public String getLimitString(String querySelect, int offset, int limit)
从类复制的说明:DialectGiven a limit and an offset, apply the limit clause to the query.- 覆盖:
getLimitString在类中IngresDialect- 参数:
querySelect- The query to which to apply the limit.offset- The offset of the limitlimit- The limit of the limit ;)- 返回:
- The modified query statement with the limit applied.
-
getIdentityColumnSupport
public IdentityColumnSupport getIdentityColumnSupport()
从类复制的说明:DialectGet the appropriateIdentityColumnSupport- 覆盖:
getIdentityColumnSupport在类中Dialect- 返回:
- the IdentityColumnSupport
-
-