Top Description Fields Constructors Methods
org.hibernate.dialect

public abstract Class Dialect

extends Object
Class Inheritance
Known Direct Subclasses
org.hibernate.dialect.FrontBaseDialect, org.hibernate.dialect.H2Dialect, org.hibernate.dialect.HSQLDialect, org.hibernate.dialect.InformixDialect, org.hibernate.dialect.IngresDialect, org.hibernate.dialect.InterbaseDialect, org.hibernate.dialect.JDataStoreDialect, org.hibernate.dialect.MimerSQLDialect, org.hibernate.dialect.MySQLDialect, org.hibernate.dialect.Oracle8iDialect, org.hibernate.dialect.Oracle9Dialect, org.hibernate.dialect.PointbaseDialect, org.hibernate.dialect.PostgreSQLDialect, org.hibernate.dialect.ProgressDialect, org.hibernate.dialect.RDMSOS2200Dialect, org.hibernate.dialect.SAPDBDialect, org.hibernate.dialect.TeradataDialect, org.hibernate.dialect.TimesTenDialect, org.hibernate.dialect.MckoiDialect, org.hibernate.dialect.AbstractTransactSQLDialect, org.hibernate.dialect.Cache71Dialect, org.hibernate.dialect.CUBRIDDialect, org.hibernate.dialect.DB2Dialect
Imports
java.sql.CallableStatement, .ResultSet, .SQLException, .Types, java.util.ArrayList, .Collections, .HashMap, .HashSet, .Iterator, .List, .Map, .Properties, .Set, org.slf4j.Logger, .LoggerFactory, org.hibernate.HibernateException, .LockMode, .LockOptions, .MappingException, org.hibernate.cfg.Environment, org.hibernate.dialect.function.CastFunction, .SQLFunction, .SQLFunctionTemplate, .StandardAnsiSqlAggregationFunctions, .StandardSQLFunction, org.hibernate.dialect.lock.LockingStrategy, .OptimisticForceIncrementLockingStrategy, .OptimisticLockingStrategy, .PessimisticForceIncrementLockingStrategy, .PessimisticReadSelectLockingStrategy, .PessimisticWriteSelectLockingStrategy, .SelectLockingStrategy, org.hibernate.exception.SQLExceptionConverter, .SQLStateConverter, .ViolatedConstraintNameExtracter, org.hibernate.id.IdentityGenerator, .SequenceGenerator, .TableHiLoGenerator, org.hibernate.mapping.Column, org.hibernate.persister.entity.Lockable, org.hibernate.sql.ANSICaseFragment, .ANSIJoinFragment, .CaseFragment, .ForUpdateFragment, .JoinFragment, org.hibernate.type.BasicType, .BlobType, .CharacterArrayClobType, .ClobType, .MaterializedBlobType, .MaterializedClobType, .PrimitiveCharacterArrayClobType, .StandardBasicTypes, .WrappedMaterializedBlobType, org.hibernate.util.ReflectHelper, .StringHelper

Represents a dialect of SQL implemented by a particular RDBMS. Subclasses implement Hibernate compatibility with different systems.

Subclasses should provide a public default constructor that register() a set of type mappings and default Hibernate properties.

Subclasses should be immutable.
Author
Gavin King, David Channon

Field Summary

Modifier and TypeField and Description
public static final String
public static final String
private final List<BasicType>
private static final ViolatedConstraintNameExtracter
private final TypeNames
private static final Logger
public static final String
private final Properties
public static final String
QUOTE

Characters used for quoting SQL identifiers

private final Map<String, SQLFunction>
private final Set<String>
private static final Set<BasicType>
private final TypeNames

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
protected final void
addTypeOverride(BasicType typeOverride)

public String

Returns:

The insert command with any necessary identity select clause attached.
appendIdentitySelectToInsert
(String
The insert command
insertString
)

Provided we supportsInsertSelectIdentity, then attach the "select identity" clause to the insert statement.

public String

Returns:

The table with any required lock hints.
appendLockHint
(LockMode
The lock mode to apply
mode
,
String
The name of the table to which to apply the lock hint.
tableName
)

Some dialects support an alternative means to SELECT FOR UPDATE, whereby a "lock hint" is appends to the table name in the from clause.

public String

Returns:

the modified SQL string.
applyLocksToSql
(String
the SQL string to modify
sql
,
LockOptions
lock options indexed by aliased table names.
aliasedLockOptions
,
Map<K, V>
a map of key columns indexed by aliased table names.
keyColumnNames
)

Modifies the given SQL by applying the appropriate updates for the specified lock modes and key columns.

public boolean

Returns:

True if comparisons are case insensitive.
areStringComparisonsCaseInsensitive
()

Are string comparisons implicitly case insensitive.

public boolean

Returns:

true if limit parameters should come before other parameters
bindLimitParametersFirst
()

Does the LIMIT clause come at the start of the SELECT statement, rather than at the end?

public boolean

Returns:

true if the correct order is limit, offset
bindLimitParametersInReverseOrder
()

ANSI SQL defines the LIMIT clause to be in the form LIMIT offset, limit.

public SQLExceptionConverter

Returns:

The Dialect's preferred SQLExceptionConverter.
buildSQLExceptionConverter
()

Build an instance of the SQLExceptionConverter preferred by this dialect for converting SQLExceptions into Hibernate's JDBCException hierarchy.

public char

Returns:

The dialect's specific close quote character.
closeQuote
()

The character specific to this dialect used to close a quoted identifier.

public int

Returns:

The corresponding db/dialect specific offset.
convertToFirstRowValue
(int
The user-supplied, zero-based first row offset.
zeroBasedFirstResult
)

Hibernate APIs explicitly state that setFirstResult() should be a zero-based offset.

public CaseFragment

Returns:

This dialect's org.hibernate.sql.CaseFragment strategy.
createCaseFragment
()

Create a org.hibernate.sql.CaseFragment strategy responsible for handling this dialect's variations in how CASE statements are handled.

public JoinFragment

Returns:

This dialect's org.hibernate.sql.JoinFragment strategy.
createOuterJoinFragment
()

Create a org.hibernate.sql.JoinFragment strategy responsible for handling this dialect's variations in how joins are handled.

public boolean

Returns:

True if writers block readers to achieve READ_COMMITTED; false otherwise.
doesReadCommittedCauseWritersToBlockReaders
()

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

public boolean

Returns:

True if readers block writers to achieve REPEATABLE_READ; false otherwise.
doesRepeatableReadCauseReadersToBlockWriters
()

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

public boolean

Returns:

True if constraints must be dropped prior to dropping the table; false otherwise.
dropConstraints
()

Do we need to drop constraints before dropping tables in this dialect?

public boolean

Returns:

True if the table should be dropped.
dropTemporaryTableAfterUse
()

Do we need to drop the temporary table after use?

public boolean

Returns:

True to force limit into SQL query even if none specified in Hibernate query; false otherwise.
forceLimitUsage
()

Generally, if there is no limit applied to a Hibernate query we do not apply any limits to the SQL query.

public boolean

Returns:

True if the database supports FOR UPDATE OF syntax; false otherwise.
forUpdateOfColumns
()

Is FOR UPDATE OF syntax supported?

public String

Returns:

The generated temp table name.
generateTemporaryTableName
(String
The table name from which to base the temp table name.
baseTableName
)

Generate a temporary table name given the base table.

public String

Returns:

The "add column" fragment.
getAddColumnString
()

The syntax used to add a column to a table (optional).

public String

Returns:

the "add FK" fragment
getAddForeignKeyConstraintString
(String
The FK constraint name.
constraintName
,
String[]
The names of the columns comprising the FK
foreignKey
,
String
The table referenced by the FK
referencedTable
,
String[]
The explicit columns in the referencedTable referenced by this FK.
primaryKey
,
boolean
if false, constraint should be explicit about which column names the constraint refers to
referencesPrimaryKey
)

The syntax used to add a foreign key constraint to a table.

public String

Returns:

The "add PK" fragment
getAddPrimaryKeyConstraintString
(String
The name of the PK constraint.
constraintName
)

The syntax used to add a primary key constraint to a table.

public String

Returns:

String
getCascadeConstraintsString
()

Completely optional cascading drop clause

public String

Returns:

The database type name
getCastTypeName
(int
The java.sql.Types typecode
code
)

Get the name of the database type appropriate for casting operations (via the CAST() SQL function) for the given java.sql.Types typecode.

public ColumnAliasExtractor
public String
public String

Returns:

The command used to create a multiset table.
getCreateMultisetTableString
()

Slight variation on getCreateTableString.

protected String

Returns:

The sequence creation command
getCreateSequenceString
(String
The name of the sequence
sequenceName
)

Typically dialects which support sequences can create a sequence with a single command.

protected String

Returns:

The sequence creation command
getCreateSequenceString
(String
The name of the sequence
sequenceName
,
int
The initial value to apply to 'create sequence' statement
initialValue
,
int
The increment value to apply to 'create sequence' statement
incrementSize
)

Overloaded form of getCreateSequenceString(String), additionally taking the initial value and increment size to be applied to the sequence definition.

public String[]

Returns:

The sequence creation commands
getCreateSequenceStrings
(String
The name of the sequence
sequenceName
)

The multiline script used to create a sequence.
public String[]

Returns:

The sequence creation commands
getCreateSequenceStrings
(String
The name of the sequence
sequenceName
,
int
The initial value to apply to 'create sequence' statement
initialValue
,
int
The increment value to apply to 'create sequence' statement
incrementSize
)

An optional multi-line form for databases which supportsPooledSequences().

public String

Returns:

The command used to create a table.
getCreateTableString
()

Command used to create a table.

public String

Returns:

Any required postfix.
getCreateTemporaryTablePostfix
()

Get any fragments needing to be postfixed to the command for temporary table creation.

public String

Returns:

The command used to create a temporary table.
getCreateTemporaryTableString
()

Command used to create a temporary table.

public String
getCrossJoinSeparator()

Get the separator to use for defining cross joins when translating HQL queries.

public String

Returns:

The command.
getCurrentTimestampSelectString
()

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

public String

Returns:

The function name.
getCurrentTimestampSQLFunctionName
()

The name of the database-specific SQL function for retrieving the current timestamp.

public final Properties

Returns:

a set of Hibernate properties
getDefaultProperties
()

Retrieve a set of default Hibernate properties for this database.

public static Dialect

Returns:

The specified Dialect
getDialect
()

Get an instance of the dialect specified by the current System properties.

public static Dialect

Returns:

The specified Dialect
getDialect
(Properties
The properties to use for finding the dialect class to use.
props
)

Get an instance of the dialect specified by the given properties or by the current System properties.

public String
protected String

Returns:

The sequence drop commands
getDropSequenceString
(String
The name of the sequence
sequenceName
)

Typically dialects which support sequences can drop a sequence with a single command.

public String[]

Returns:

The sequence drop commands
getDropSequenceStrings
(String
The name of the sequence
sequenceName
)

The multiline script used to drop a sequence.

public String

Returns:

The command used to drop a temporary table.
getDropTemporaryTableString
()

Command used to drop a temporary table.

public String

Returns:

The appropriate FOR UPDATE NOWAIT clause string.
getForUpdateNowaitString
()

Retrieves the FOR UPDATE NOWAIT syntax specific to this dialect.

public String

Returns:

The appropriate FOR UPDATE OF colunm_list NOWAIT clause string.
getForUpdateNowaitString
(String
The columns to be write locked.
aliases
)

Get the FOR UPDATE OF column_list NOWAIT fragment appropriate for this dialect given the aliases of the columns to be write locked.

public String

Returns:

The appropriate for update fragment.
getForUpdateString
(LockOptions
contains the lock mode to apply.
lockOptions
)

Given LockOptions (lockMode, timeout), determine the appropriate for update fragment to use.

public String

Returns:

The appropriate for update fragment.
getForUpdateString
(LockMode
The lock mode to apply.
lockMode
)

Given a lock mode, determine the appropriate for update fragment to use.

public String

Returns:

The appropriate FOR UPDATE clause string.
getForUpdateString
()

Get the string to append to SELECT statements to acquire locks for this dialect.

public String

Returns:

The appropriate FOR UPDATE OF column_list clause string.
getForUpdateString
(String
The columns to be write locked.
aliases
)

Get the FOR UPDATE OF column_list fragment appropriate for this dialect given the aliases of the columns to be write locked.

public String

Returns:

The appropriate FOR UPDATE OF column_list clause string.
getForUpdateString
(String
The columns to be write locked.
aliases
,
LockOptions lockOptions)

Get the FOR UPDATE OF column_list fragment appropriate for this dialect given the aliases of the columns to be write locked.

public final Map<String, SQLFunction>

Returns:

The map of registered functions.
getFunctions
()

Retrieves a map of the dialect's registered functions (functionName => org.hibernate.dialect.function.SQLFunction).

public String

Returns:

The Hibernate org.hibernate.type.Type name.
getHibernateTypeName
(int
The java.sql.Types typecode
code
)

Get the name of the Hibernate org.hibernate.type.Type associated with the given java.sql.Types typecode.

public String

Returns:

The Hibernate org.hibernate.type.Type name.
getHibernateTypeName
(int
The java.sql.Types typecode
code
,
int
The datatype length
length
,
int
The datatype precision
precision
,
int
The datatype scale
scale
)

Get the name of the Hibernate org.hibernate.type.Type associated with the given java.sql.Types typecode with the given storage specification parameters.

public String

Returns:

The appropriate DDL fragment.
getIdentityColumnString
(int
The java.sql.Types type code.
type
)

The syntax used during DDL to define a column as being an IDENTITY of a particular type.

protected String

Returns:

The appropriate DDL fragment.
getIdentityColumnString
()

The syntax used during DDL to define a column as being an IDENTITY.

public String

Returns:

The appropriate keyword.
getIdentityInsertString
()

The keyword used to insert a generated value into an identity column (or null).

public String

Returns:

The appropriate select command
getIdentitySelectString
(String
The table into which the insert was done
table
,
String
The PK column.
column
,
int
The java.sql.Types type code.
type
)

Get the select command to use to retrieve the last generated IDENTITY value for a particular table

protected String

Returns:

The appropriate select command
getIdentitySelectString
()

Get the select command to use to retrieve the last generated IDENTITY value.

public Set<String>
public String

Returns:

The modified query statement with the limit applied.
getLimitString
(String
The query to which to apply the limit.
query
,
int
The offset of the limit
offset
,
int
The limit of the limit ;)
limit
)

Given a limit and an offset, apply the limit clause to the query.

protected String

Returns:

the modified SQL
getLimitString
(String
The query to which to apply the limit.
query
,
boolean
Is the query requesting an offset?
hasOffset
)

Apply s limit clause to the query.

public LockingStrategy

Returns:

The appropriate locking strategy.
getLockingStrategy
(Lockable
The persister for the entity to be locked.
lockable
,
LockMode
The type of lock to be acquired.
lockMode
)

Get a strategy instance which knows how to acquire a database-level lock of the specified mode for this dialect.

public String

Returns:

The dialect-specific lowercase function.
getLowercaseFunction
()

The name of the SQL function that transforms a string to lowercase

public int

Returns:

The maximum length.
getMaxAliasLength
()

What is the maximum length Hibernate can use for generated aliases?

public Class<T>

Returns:

The native generator class.
getNativeIdentifierGeneratorClass
()

The class (which implements org.hibernate.id.IdentifierGenerator) which acts as this dialects native generation strategy.

public String

Returns:

The appropriate empty values clause.
getNoColumnsInsertString
()

The fragment used to insert a row without specifying any column values.

public String

Returns:

String
getNullColumnString
()

The keyword used to specify a nullable column.

public String

Returns:

The select command; or null if sequences are not supported.
getQuerySequencesString
()

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

public String

Returns:

The appropriate LOCK clause string.
getReadLockString
(int
in milliseconds, -1 for indefinite wait and 0 for no wait.
timeout
)

Get the string to append to SELECT statements to acquire WRITE locks for this dialect.

public ResultSet

Returns:

The extracted result set.
getResultSet
(CallableStatement
The callable statement.
statement
)

Given a callable statement previously processed by registerResultSetOutParameter, extract the java.sql.ResultSet from the OUT parameter.

public String

Returns:

The appropriate select clause value fragment.
getSelectClauseNullString
(int
The java.sql.Types type code.
sqlType
)

Given a java.sql.Types type code, determine an appropriate null value to use in a select clause.

public String

Returns:

The appropriate command.
getSelectGUIDString
()

Get the command used to select a GUID from the underlying database.

public String

Returns:

The "nextval" fragment.
getSelectSequenceNextValString
(String
the name of the sequence
sequenceName
)

Generate the select expression fragment that will retrieve the next value of a sequence as part of another (typically DML) statement.

public String

Returns:

String The "nextval" select string.
getSequenceNextValString
(String
the name of the sequence
sequenceName
)

Generate the appropriate select statement to to retrieve the next value of a sequence.

public String
public String
public String

Returns:

the database type name
getTypeName
(int
The java.sql.Types typecode
code
)

Get the name of the database type associated with the given java.sql.Types typecode.

public String

Returns:

the database type name
getTypeName
(int
The java.sql.Types typecode
code
,
int
The datatype length
length
,
int
The datatype precision
precision
,
int
The datatype scale
scale
)

Get the name of the database type associated with the given java.sql.Types typecode with the given storage specification parameters.

public final List<BasicType>

Returns:

the dialect-specific types
getTypeOverrides
()

Retrieve dialect-specific types for overriding "basic" types.

public ViolatedConstraintNameExtracter
public String

Returns:

The appropriate LOCK clause string.
getWriteLockString
(int
in milliseconds, -1 for indefinite wait and 0 for no wait.
timeout
)

Get the string to append to SELECT statements to acquire WRITE locks for this dialect.

public boolean

Returns:

True if we support altering of tables; false otherwise.
hasAlterTable
()

Does this dialect support the ALTER TABLE syntax?

public boolean

Returns:

boolean
hasDataTypeInIdentityColumn
()

Whether this dialect have an Identity clause added to the data type or a completely separate identity data type

public boolean
private static Dialect
public boolean

Returns:

True if the getCurrentTimestampSelectString return is callable; false otherwise.
isCurrentTimestampSelectStringCallable
()

Should the value returned by getCurrentTimestampSelectString be treated as callable.

public boolean

Returns:

True if the lock timeout is rendered into the SQL string as a parameter; false otherwise.
isLockTimeoutParameterized
()

If this dialect supports specifying lock timeouts, are those timeouts rendered into the SQL string as parameters.

public char

Returns:

The dialect's specific open quote character.
openQuote
()

The character specific to this dialect used to begin a quoted identifier.

public Boolean

Returns:

see the result matrix above.
performTemporaryTableDDLInIsolation
()

Does the dialect require that temporary table DDL statements occur in isolation from other statements?

public boolean

Returns:

boolean
qualifyIndexName
()

Do we need to qualify index names with the schema name?

public final String

Returns:

The quoted (or unmodified, if not starting with back-tick) value.
quote
(String
The value to be quoted.
name
)

Apply dialect-specific quoting.

protected void
registerColumnType(int
The java.sql.Types typecode
code
,
int
The maximum length of database type
capacity
,
String
The database type name
name
)

Subclasses register a type name for the given type code and maximum column length.

protected void
registerColumnType(int
The java.sql.Types typecode
code
,
String
The database type name
name
)

Subclasses register a type name for the given type code.

protected void
protected void
registerHibernateType(int
The java.sql.Types typecode
code
,
int
The maximum length of database type
capacity
,
String
The Hibernate org.hibernate.type.Type name
name
)

Registers a Hibernate org.hibernate.type.Type name for the given java.sql.Types type code and maximum column length.

protected void
registerHibernateType(int
The java.sql.Types typecode
code
,
String
The Hibernate org.hibernate.type.Type name
name
)

Registers a Hibernate org.hibernate.type.Type name for the given java.sql.Types type code.

protected void
public int

Returns:

The number of (contiguous) bind positions used.
registerResultSetOutParameter
(CallableStatement
The callable statement.
statement
,
int
The bind position at which to register the OUT param.
position
)

Registers an OUT parameter which will be returning a java.sql.ResultSet.

public boolean

Returns:

true if result variable references in the ORDER BY clause should be replaced by column positions; false otherwise.
replaceResultVariableInOrderByClauseWithPosition
()

Does this dialect require that references to result variables (i.e, select expresssion aliases) in an ORDER BY clause be replaced by column positions (1-origin) as defined by the select clause?

public boolean

Returns:

True if select clause parameter must be cast()ed
requiresCastingOfParametersInSelectClause
()

Does this dialect require that parameters appearing in the SELECT clause be wrapped in cast() calls to tell the db parser the expected type.

public boolean

Returns:

True if the database supports accepting bind params as args; false otherwise.
supportsBindAsCallableArgument
()

Does this dialect support using a JDBC bind parameter as an argument to a function or procedure call?

public boolean
public boolean

Returns:

True if circular cascade delete constraints are supported; false otherwise.
supportsCircularCascadeDeleteConstraints
()

Does this dialect support definition of cascade delete constraints which can cause circular chains?

public boolean

Returns:

True if column-level CHECK constraints are supported; false otherwise.
supportsColumnCheck
()

Does this dialect support column-level check constraints?

public boolean
public boolean

Returns:

True if the current timestamp can be retrieved; false otherwise.
supportsCurrentTimestampSelection
()

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

public boolean

Returns:

True if empty in lists are supported; false otherwise.
supportsEmptyInList
()

Does this dialect support empty IN lists?

public boolean

Returns:

True if exists checks are allowed in the select clause; false otherwise.
supportsExistsInSelect
()

Does the dialect support an exists statement in the select clause?

public boolean

Returns:

True if normal LOB usage patterns can be used with this driver; false if driver-specific hookiness needs to be applied.
supportsExpectedLobUsagePattern
()

Expected LOB usage pattern is such that I can perform an insert via prepared statement with a parameter binding for a LOB value without crazy casting to JDBC driver implementation-specific classes...

public boolean

Returns:

True if IDENTITY columns are supported; false otherwise.
supportsIdentityColumns
()

Does this dialect support identity column key generation?

public boolean
public boolean
public boolean

Returns:

True if the dialect supports selecting the just generated IDENTITY in the insert statement.
supportsInsertSelectIdentity
()

Does the dialect support some form of inserting and selecting the generated IDENTITY value all in the same statement.

public boolean

Returns:

True if this dialect supports some form of LIMIT.
supportsLimit
()

Does this dialect support some form of limiting query results via a SQL clause?

public boolean

Returns:

True if the dialect supports an offset within the limit support.
supportsLimitOffset
()

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

public boolean

Returns:

True if the changes are propagated back to the database; false otherwise.
supportsLobValueChangePropogation
()

Does the dialect support propagating changes to LOB values back to the database?

public boolean

Returns:

True is this dialect supports specifying lock timeouts.
supportsLockTimeouts
()

Informational metadata about whether this dialect is known to support specifying timeouts for requested lock acquisitions.

public boolean
public boolean

Returns:

True if outer joined rows can be locked via FOR UPDATE.
supportsOuterJoinForUpdate
()

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

public boolean

Returns:

True if this is supported; false otherwise.
supportsParametersInInsertSelect
()

Does this dialect support parameters within the SELECT clause of INSERT ...

public boolean

Returns:

True if such "pooled" sequences are supported; false otherwise.
supportsPooledSequences
()

Does this dialect support "pooled" sequences.

public boolean

Returns:

True if methods like java.sql.ResultSet#isAfterLast and java.sql.ResultSet#isBeforeFirst are supported for forward only cursors; false otherwise.
supportsResultSetPositionQueryMethodsOnForwardOnlyCursor
()

Does this dialect support asking the result set its positioning information on forward only cursors.

public boolean

Returns:

True if this SQL dialect is known to support "row value constructor" syntax; false otherwise.
supportsRowValueConstructorSyntax
()

Is this dialect known to support what ANSI-SQL terms "row value constructor" syntax; sometimes called tuple syntax.

public boolean

Returns:

True if this SQL dialect is known to support "row value constructor" syntax in the IN list; false otherwise.
supportsRowValueConstructorSyntaxInInList
()

If the dialect supports row values, does it offer such support in IN lists as well?

public boolean

Returns:

True if sequences supported; false otherwise.
supportsSequences
()

Does this dialect support sequences?

public boolean

Returns:

True if this dialect allows references the mutating table from a subquery.
supportsSubqueryOnMutatingTable
()

Does this dialect support referencing the table being mutated in a subquery.

public boolean

Returns:

True if subselects can appear as the LHS of an in-predicate; false otherwise.
supportsSubselectAsInPredicateLHS
()

Are subselects supported as the left-hand-side (LHS) of IN-predicates.

public boolean

Returns:

True if table-level CHECK constraints are supported; false otherwise.
supportsTableCheck
()

Does this dialect support table-level check constraints?

public boolean

Returns:

True if temp tables are supported; false otherwise.
supportsTemporaryTables
()

Does this dialect support temporary tables?

public boolean

Returns:

True if the database supports counting tuples; false otherwise.
supportsTupleCounts
()

Does this dialect support `count(a,b)`?

public boolean

Returns:

True if the database supports counting disintct tuples; false otherwise.
supportsTupleDistinctCounts
()

Does this dialect support `count(distinct a,b)`?

public boolean

Returns:

True if unbounded materialization is supported; false otherwise.
supportsUnboundedLobLocatorMaterialization
()

Is it supported to materialize a LOB locator outside the transaction in which it was created?

public boolean

Returns:

True if UNION ALL is supported; false otherwise.
supportsUnionAll
()

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

public boolean

Returns:

boolean
supportsUnique
()

Does this dialect support the UNIQUE column syntax?

public boolean

Returns:

boolean
supportsUniqueConstraintInCreateAlterTable
()

Does this dialect support adding Unique constraints via create and alter table ?

public boolean

Returns:

True if bind variables can be used; false otherwise.
supportsVariableLimit
()

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

public String

Returns:

The appropriate SQL literal.
toBooleanValueString
(boolean
The boolean value
bool
)

The SQL literal value to which this database maps boolean values.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
public String

Returns:

The mutated select command, or the same as was passed in.
transformSelectString
(String
The select command
select
)

Meant as a means for end users to affect the select strings being sent to the database and perhaps manipulate them in some fashion.

public boolean

Returns:

True if BLOBs and CLOBs should be bound using stream operations.
useInputStreamToInsertBlob
()

Should LOBs (both BLOB and CLOB) be bound using stream operations (i.e. java.sql.PreparedStatement#setBinaryStream).

public boolean

Returns:

True if limit is relative from offset; false otherwise.
useMaxForLimit
()

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

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait