org.hibernate.dialect
Class Ingres9Dialect
java.lang.Object
   org.hibernate.dialect.Dialect
org.hibernate.dialect.Dialect
       org.hibernate.dialect.IngresDialect
org.hibernate.dialect.IngresDialect
           org.hibernate.dialect.Ingres9Dialect
org.hibernate.dialect.Ingres9Dialect
- Direct Known Subclasses: 
- 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 concatination operator
- Author:
- Enrico Schenk, Raymond Fan
 
 
 
| Method Summary | 
|  boolean | doesReadCommittedCauseWritersToBlockReaders()For the underlying database, is READ_COMMITTED isolation implemented by
 forcing readers to wait for write locks to be released?
 | 
|  boolean | doesRepeatableReadCauseReadersToBlockWriters()For the underlying database, is REPEATABLE_READ isolation implemented by
 forcing writers to wait for read locks to be released?
 | 
|  boolean | forUpdateOfColumns()Is FOR UPDATE OF syntax supported?
 | 
|  String | getCurrentTimestampSelectString()Retrieve the command used to retrieve the current timestammp from the
 database.
 | 
|  String | getCurrentTimestampSQLFunctionName()Expression for current_timestamp
 | 
|  String | getIdentitySelectString()Get the select command used to retrieve the last generated sequence
 value.
 | 
|  String | getLimitString(String querySelect,
               int offset,
               int limit)Add a LIMIT clause to the given SQL SELECT
 | 
|  String | getQuerySequencesString()Get the select command used retrieve the names of all sequences.
 | 
|  boolean | isCurrentTimestampSelectStringCallable()Should the value returned by
 getCurrentTimestampSelectString()be
 treated as callable. | 
| protected  void | registerDateTimeColumnTypes()Register column types date, time, timestamp
 | 
| protected  void | registerDateTimeFunctions()Register functions current_time, current_timestamp, current_date
 | 
|  boolean | supportsCurrentTimestampSelection()Does this dialect support a way to retrieve the database's current
 timestamp value?
 | 
|  boolean | supportsLimitOffset()Does this dialect's LIMIT support (if any) additionally support
 specifying an offset?
 | 
|  boolean | supportsOuterJoinForUpdate()Does this dialect support FOR UPDATE in conjunction with outer
 joined rows?
 | 
|  boolean | supportsPooledSequences()Does this dialect support "pooled" sequences.
 | 
|  boolean | supportsUnionAll()Does this dialect support UNION ALL, which is generally a faster variant
 of UNION?
 | 
|  boolean | supportsVariableLimit()Does this dialect support bind variables (i.e., prepared statememnt
 parameters) for its limit/offset?
 | 
|  boolean | useMaxForLimit()Does the LIMIT clause take a "maximum" row number instead
 of a total number of returned rows?
 | 
 
| Methods inherited from class org.hibernate.dialect.IngresDialect | 
| dropConstraints, generateTemporaryTableName, getAddColumnString, getCreateSequenceString, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getDropSequenceString, getLowercaseFunction, getNullColumnString, getSelectGUIDString, getSelectSequenceNextValString, getSequenceNextValString, supportsEmptyInList, supportsExpectedLobUsagePattern, supportsForUpdateOf, supportsLimit, supportsNotNullUnique, supportsSequences, supportsSubselectAsInPredicateLHS, supportsTemporaryTables, supportsTupleDistinctCounts | 
 
| Methods inherited from class org.hibernate.dialect.Dialect | 
| addTypeOverride, appendIdentitySelectToInsert, appendLockHint, applyLocksToSql, areStringComparisonsCaseInsensitive, bindLimitParametersFirst, bindLimitParametersInReverseOrder, buildSQLExceptionConverter, closeQuote, convertToFirstRowValue, createCaseFragment, createOuterJoinFragment, dropTemporaryTableAfterUse, forceLimitUsage, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getCascadeConstraintsString, getCastTypeName, getColumnAliasExtractor, getColumnComment, getCreateMultisetTableString, getCreateSequenceString, getCreateSequenceStrings, getCreateSequenceStrings, getCreateTableString, getCrossJoinSeparator, getDefaultProperties, getDialect, getDialect, getDropForeignKeyString, getDropSequenceStrings, getDropTemporaryTableString, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIdentityColumnString, getIdentityColumnString, getIdentityInsertString, getIdentitySelectString, getKeywords, getLimitString, getLockingStrategy, getMaxAliasLength, getNativeIdentifierGeneratorClass, getNoColumnsInsertString, getReadLockString, getResultSet, getSelectClauseNullString, getTableComment, getTableTypeString, getTypeName, getTypeName, getTypeOverrides, getViolatedConstraintNameExtracter, getWriteLockString, hasAlterTable, hasDataTypeInIdentityColumn, hasSelfReferentialForeignKeyBug, isLockTimeoutParameterized, openQuote, performTemporaryTableDDLInIsolation, qualifyIndexName, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, registerResultSetOutParameter, replaceResultVariableInOrderByClauseWithPosition, requiresCastingOfParametersInSelectClause, supportsBindAsCallableArgument, supportsCascadeDelete, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsExistsInSelect, supportsIdentityColumns, supportsIfExistsAfterTableName, supportsIfExistsBeforeTableName, supportsInsertSelectIdentity, supportsLobValueChangePropogation, supportsLockTimeouts, supportsParametersInInsertSelect, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsSubqueryOnMutatingTable, supportsTableCheck, supportsTupleCounts, supportsUnboundedLobLocatorMaterialization, supportsUnique, supportsUniqueConstraintInCreateAlterTable, toBooleanValueString, toString, transformSelectString, useInputStreamToInsertBlob | 
 
 
Ingres9Dialect
public Ingres9Dialect()
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()
- Does this dialect support FOR UPDATE in conjunction with outer
 joined rows?
 
- 
- Overrides:
- supportsOuterJoinForUpdatein class- Dialect
 
- 
- Returns:
- True if outer joined rows can be locked via FOR UPDATE.
 
forUpdateOfColumns
public boolean forUpdateOfColumns()
- Is FOR UPDATE OF syntax supported?
 
- 
- Overrides:
- forUpdateOfColumnsin class- Dialect
 
- 
- Returns:
- True if the database supports FOR UPDATE OF syntax;
         false otherwise.
 
getIdentitySelectString
public String getIdentitySelectString()
- Get the select command used to retrieve the last generated sequence
 value.
 
- 
- Overrides:
- getIdentitySelectStringin class- Dialect
 
- 
- Returns:
- Statement to retrieve last generated sequence value
 
getQuerySequencesString
public String getQuerySequencesString()
- Get the select command used retrieve the names of all sequences.
 
- 
- Overrides:
- getQuerySequencesStringin class- IngresDialect
 
- 
- Returns:
- The select command; or null if sequences are not supported.
- See Also:
- SchemaUpdate
 
supportsPooledSequences
public boolean supportsPooledSequences()
- Does this dialect support "pooled" sequences. Not aware of a better name
 for this. Essentially can we specify the initial and increment values?
 
- 
- Overrides:
- supportsPooledSequencesin class- Dialect
 
- 
- Returns:
- True if such "pooled" sequences are supported; false otherwise.
- See Also:
- Dialect.getCreateSequenceStrings(String, int, int),- Dialect.getCreateSequenceString(String, int, int)
 
isCurrentTimestampSelectStringCallable
public boolean isCurrentTimestampSelectStringCallable()
- Should the value returned by getCurrentTimestampSelectString()be
 treated as callable. Typically this indicates that JDBC escape sytnax is
 being used...
 
- 
- Overrides:
- isCurrentTimestampSelectStringCallablein class- Dialect
 
- 
- Returns:
- True if the getCurrentTimestampSelectString()return is
         callable; false otherwise.
 
supportsCurrentTimestampSelection
public boolean supportsCurrentTimestampSelection()
- Does this dialect support a way to retrieve the database's current
 timestamp value?
 
- 
- Overrides:
- supportsCurrentTimestampSelectionin class- Dialect
 
- 
- Returns:
- True if the current timestamp can be retrieved; false otherwise.
 
getCurrentTimestampSelectString
public String getCurrentTimestampSelectString()
- Retrieve the command used to retrieve the current timestammp from the
 database.
 
- 
- Overrides:
- getCurrentTimestampSelectStringin class- Dialect
 
- 
- Returns:
- The command.
 
getCurrentTimestampSQLFunctionName
public String getCurrentTimestampSQLFunctionName()
- Expression for current_timestamp
 
- 
- Overrides:
- getCurrentTimestampSQLFunctionNamein class- IngresDialect
 
- 
- Returns:
- The function name.
 
supportsUnionAll
public boolean supportsUnionAll()
- Does this dialect support UNION ALL, which is generally a faster variant
 of UNION?
 
- 
- Overrides:
- supportsUnionAllin class- Dialect
 
- 
- Returns:
- True if UNION ALL is supported; false otherwise.
 
doesReadCommittedCauseWritersToBlockReaders
public boolean doesReadCommittedCauseWritersToBlockReaders()
- For the underlying database, is READ_COMMITTED isolation implemented by
 forcing readers to wait for write locks to be released?
 
- 
- Overrides:
- doesReadCommittedCauseWritersToBlockReadersin class- Dialect
 
- 
- Returns:
- true
 
doesRepeatableReadCauseReadersToBlockWriters
public boolean doesRepeatableReadCauseReadersToBlockWriters()
- For the underlying database, is REPEATABLE_READ isolation implemented by
 forcing writers to wait for read locks to be released?
 
- 
- Overrides:
- doesRepeatableReadCauseReadersToBlockWritersin class- Dialect
 
- 
- Returns:
- true
 
supportsLimitOffset
public boolean supportsLimitOffset()
- Does this dialect's LIMIT support (if any) additionally support
 specifying an offset?
 
- 
- Overrides:
- supportsLimitOffsetin class- IngresDialect
 
- 
- Returns:
- true
 
supportsVariableLimit
public boolean supportsVariableLimit()
- Does this dialect support bind variables (i.e., prepared statememnt
 parameters) for its limit/offset?
 
- 
- Overrides:
- supportsVariableLimitin class- IngresDialect
 
- 
- Returns:
- false
 
useMaxForLimit
public boolean useMaxForLimit()
- Does the LIMIT clause take a "maximum" row number instead
 of a total number of returned rows?
 
- 
- Overrides:
- useMaxForLimitin class- IngresDialect
 
- 
- Returns:
- True if limit is relative from offset; false otherwise.
 
getLimitString
public String getLimitString(String querySelect,
                             int offset,
                             int limit)
- Add a LIMIT clause to the given SQL SELECT
 
- 
- Overrides:
- getLimitStringin class- IngresDialect
 
- 
- Parameters:
- querySelect- The query to which to apply the limit.
- offset- The offset of the limit
- limit- The limit of the limit ;)
- Returns:
- the modified SQL
 
Copyright © 2001-2010 Red Hat, Inc.  All Rights Reserved.