|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.hibernate.dialect.Dialect
org.hibernate.dialect.TeradataDialect
public class TeradataDialect
A dialect for the Teradata database created by MCR as part of the dialect certification process.
| Field Summary |
|---|
| Fields inherited from class org.hibernate.dialect.Dialect |
|---|
CLOSED_QUOTE, DEFAULT_BATCH_SIZE, NO_BATCH, QUOTE |
| Constructor Summary | |
|---|---|
TeradataDialect()
Constructor |
|
| Method Summary | |
|---|---|
boolean |
areStringComparisonsCaseInsensitive()
Are string comparisons implicitly case insensitive. |
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 |
dropTemporaryTableAfterUse()
Do we need to drop the temporary table after use? |
String |
getAddColumnString()
The syntax used to add a column to a table (optional). |
String |
getCreateMultisetTableString()
Slight variation on Dialect.getCreateTableString(). |
String |
getCreateTemporaryTablePostfix()
Get any fragments needing to be postfixed to the command for temporary table creation. |
String |
getCreateTemporaryTableString()
Command used to create a temporary table. |
String |
getForUpdateString()
Does this dialect support the FOR UPDATE syntax? |
String |
getSelectClauseNullString(int sqlType)
Given a Types type code, determine an appropriate
null value to use in a select clause. |
String |
getTypeName(int code,
int length,
int precision,
int scale)
Get the name of the database type associated with the given java.sql.Types typecode. |
Boolean |
performTemporaryTableDDLInIsolation()
Does the dialect require that temporary table DDL statements occur in isolation from other statements? This would be the case if the creation would cause any current transaction to get committed implicitly. |
boolean |
supportsBindAsCallableArgument()
Does this dialect support using a JDBC bind parameter as an argument to a function or procedure call? |
boolean |
supportsCascadeDelete()
|
boolean |
supportsCircularCascadeDeleteConstraints()
Does this dialect support definition of cascade delete constraints which can cause circular chains? |
boolean |
supportsEmptyInList()
Does this dialect support empty IN lists? For example, is [where XYZ in ()] a supported construct? |
boolean |
supportsIdentityColumns()
Does this dialect support identity column key generation? |
boolean |
supportsLobValueChangePropogation()
Does the dialect support propogating changes to LOB values back to the database? Talking about mutating the internal value of the locator as opposed to supplying a new locator instance... |
boolean |
supportsSequences()
Does this dialect support sequences? |
boolean |
supportsTemporaryTables()
Does this dialect support temporary tables? |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public TeradataDialect()
| Method Detail |
|---|
public String getForUpdateString()
getForUpdateString in class Dialectpublic boolean supportsIdentityColumns()
Dialect
supportsIdentityColumns in class Dialectpublic boolean supportsSequences()
Dialect
supportsSequences in class Dialectpublic String getAddColumnString()
Dialect
getAddColumnString in class Dialectpublic boolean supportsTemporaryTables()
Dialect
supportsTemporaryTables in class Dialectpublic String getCreateTemporaryTableString()
Dialect
getCreateTemporaryTableString in class Dialectpublic String getCreateTemporaryTablePostfix()
Dialect
getCreateTemporaryTablePostfix in class Dialectpublic Boolean performTemporaryTableDDLInIsolation()
DialectDatabaseMetaData.dataDefinitionCausesTransactionCommit()
method. However, that does not distinguish between temporary table
DDL and other forms of DDL; MySQL, for example, reports DDL causing a
transaction commit via its driver, even though that is not the case for
temporary table DDL.
Possible return values and their meanings:Boolean.TRUE - Unequivocally, perform the temporary table DDL
in isolation.Boolean.FALSE - Unequivocally, do not perform the
temporary table DDL in isolation.DatabaseMetaData.dataDefinitionCausesTransactionCommit()
performTemporaryTableDDLInIsolation in class Dialectpublic boolean dropTemporaryTableAfterUse()
Dialect
dropTemporaryTableAfterUse in class Dialect
public String getTypeName(int code,
int length,
int precision,
int scale)
throws HibernateException
getTypeName in class Dialectcode - java.sql.Types typecodelength - the length or precision of the columnprecision - the precision of the columnscale - the scale of the column
HibernateExceptionpublic boolean supportsCascadeDelete()
supportsCascadeDelete in class Dialectpublic boolean supportsCircularCascadeDeleteConstraints()
Dialect
supportsCircularCascadeDeleteConstraints in class Dialectpublic boolean areStringComparisonsCaseInsensitive()
Dialect
areStringComparisonsCaseInsensitive in class Dialectpublic boolean supportsEmptyInList()
Dialect
supportsEmptyInList in class Dialectpublic String getSelectClauseNullString(int sqlType)
DialectTypes type code, determine an appropriate
null value to use in a select clause.
One thing to consider here is that certain databases might
require proper casting for the nulls here since the select here
will be part of a UNION/UNION ALL.
getSelectClauseNullString in class DialectsqlType - The Types type code.
public String getCreateMultisetTableString()
DialectDialect.getCreateTableString(). Here, we have the
command used to create a table when there is no primary key and
duplicate rows are expected.
Most databases do not care about the distinction; originally added for
Teradata support which does care.
getCreateMultisetTableString in class Dialectpublic boolean supportsLobValueChangePropogation()
DialectBlob.setBinaryStream(long),
Blob.setBytes(long, byte[]),
Blob.setBytes(long, byte[], int, int),
or Blob.truncate(long).
For CLOBs, the internal value might be changed by:
Clob.setAsciiStream(long),
Clob.setCharacterStream(long),
Clob.setString(long, String),
Clob.setString(long, String, int, int),
or Clob.truncate(long).
NOTE : I do not know the correct answer currently for
databases which (1) are not part of the cruise control process
or (2) do not Dialect.supportsExpectedLobUsagePattern().
supportsLobValueChangePropogation in class Dialectpublic boolean doesReadCommittedCauseWritersToBlockReaders()
Dialect
doesReadCommittedCauseWritersToBlockReaders in class Dialectpublic boolean doesRepeatableReadCauseReadersToBlockWriters()
Dialect
doesRepeatableReadCauseReadersToBlockWriters in class Dialectpublic boolean supportsBindAsCallableArgument()
Dialect
supportsBindAsCallableArgument in class Dialect
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||