public class

Ingres9Dialect

extends IngresDialect
java.lang.Object
   ↳ org.hibernate.dialect.Dialect
     ↳ org.hibernate.dialect.IngresDialect
       ↳ org.hibernate.dialect.Ingres9Dialect
Known Direct Subclasses

Class Overview

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.TIMESTAMP changed 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

Summary

[Expand]
Inherited Constants
From class org.hibernate.dialect.Dialect
Public Constructors
Ingres9Dialect()
Public Methods
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 getCurrentTimestampSQLFunctionName()
Expression for current_timestamp
String getCurrentTimestampSelectString()
Retrieve the command used to retrieve the current timestammp from the database.
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.
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?
Protected Methods
void registerDateTimeColumnTypes()
Register column types date, time, timestamp
void registerDateTimeFunctions()
Register functions current_time, current_timestamp, current_date
[Expand]
Inherited Methods
From class org.hibernate.dialect.IngresDialect
From class org.hibernate.dialect.Dialect
From class java.lang.Object

Public Constructors

public Ingres9Dialect ()

Public Methods

public boolean doesReadCommittedCauseWritersToBlockReaders ()

For the underlying database, is READ_COMMITTED isolation implemented by forcing readers to wait for write locks to be released?

Returns
  • true

public boolean doesRepeatableReadCauseReadersToBlockWriters ()

For the underlying database, is REPEATABLE_READ isolation implemented by forcing writers to wait for read locks to be released?

Returns
  • true

public boolean forUpdateOfColumns ()

Is FOR UPDATE OF syntax supported?

Returns
  • True if the database supports FOR UPDATE OF syntax; false otherwise.

public String getCurrentTimestampSQLFunctionName ()

Expression for current_timestamp

Returns
  • The function name.

public String getCurrentTimestampSelectString ()

Retrieve the command used to retrieve the current timestammp from the database.

Returns
  • The command.

public String getIdentitySelectString ()

Get the select command used to retrieve the last generated sequence value.

Returns
  • Statement to retrieve last generated sequence value

public String getLimitString (String querySelect, int offset, int limit)

Add a LIMIT clause to the given SQL SELECT

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

public String getQuerySequencesString ()

Get the select command used retrieve the names of all sequences.

Returns
  • The select command; or null if sequences are not supported.
See Also

public boolean isCurrentTimestampSelectStringCallable ()

Should the value returned by getCurrentTimestampSelectString() be treated as callable. Typically this indicates that JDBC escape sytnax is being used...

Returns

public boolean supportsCurrentTimestampSelection ()

Does this dialect support a way to retrieve the database's current timestamp value?

Returns
  • True if the current timestamp can be retrieved; false otherwise.

public boolean supportsLimitOffset ()

Does this dialect's LIMIT support (if any) additionally support specifying an offset?

Returns
  • true

public boolean supportsOuterJoinForUpdate ()

Does this dialect support FOR UPDATE in conjunction with outer joined rows?

Returns
  • True if outer joined rows can be locked via FOR UPDATE.

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?

Returns
  • True if such "pooled" sequences are supported; false otherwise.

public boolean supportsUnionAll ()

Does this dialect support UNION ALL, which is generally a faster variant of UNION?

Returns
  • True if UNION ALL is supported; false otherwise.

public boolean supportsVariableLimit ()

Does this dialect support bind variables (i.e., prepared statememnt parameters) for its limit/offset?

Returns
  • false

public boolean useMaxForLimit ()

Does the LIMIT clause take a "maximum" row number instead of a total number of returned rows?

Returns
  • True if limit is relative from offset; false otherwise.

Protected Methods

protected void registerDateTimeColumnTypes ()

Register column types date, time, timestamp

protected void registerDateTimeFunctions ()

Register functions current_time, current_timestamp, current_date