public class TeradataDialect extends Dialect
CLOSED_QUOTE, DEFAULT_BATCH_SIZE, LEGACY_LOB_MERGE_STRATEGY, NEW_LOCATOR_LOB_MERGE_STRATEGY, NO_BATCH, QUOTE, STREAM_XFER_LOB_MERGE_STRATEGY| Constructor and Description | 
|---|
TeradataDialect()
Constructor 
 | 
| Modifier and Type | Method and Description | 
|---|---|
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()
Teradata does not support FOR UPDATE syntax
 
 Get the string to append to SELECT statements to acquire locks
 for this dialect. 
 | 
int | 
getInExpressionCountLimit()
Return the limit that the underlying database places on the number elements in an  
IN predicate. | 
String | 
getSelectClauseNullString(int sqlType)
Given a  
Types type code, determine an appropriate
 null value to use in a select clause. | 
String | 
getTypeName(int code,
           long length,
           int precision,
           int scale)
Get the name of the database type associated with the given
  
Types typecode with the given storage specification
 parameters. | 
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()
Does this dialect support cascaded delete on foreign key definitions? 
 | 
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 propagating 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? 
 | 
appendIdentitySelectToInsert, appendLockHint, appendLockHint, applyLocksToSql, bindLimitParametersFirst, bindLimitParametersInReverseOrder, buildLimitHandler, buildSQLExceptionConversionDelegate, buildSQLExceptionConverter, cast, cast, cast, closeQuote, contributeTypes, convertToFirstRowValue, createCaseFragment, createOuterJoinFragment, defaultScrollMode, dropConstraints, forceLimitUsage, forceLobAsLastValue, forUpdateOfColumns, generateTemporaryTableName, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAddUniqueConstraintString, getCallableStatementSupport, getCascadeConstraintsString, getCaseInsensitiveLike, getCastTypeName, getColumnAliasExtractor, getColumnComment, getCreateSchemaCommand, getCreateSequenceString, getCreateSequenceString, getCreateSequenceStrings, getCreateSequenceStrings, getCreateTableString, getCrossJoinSeparator, getCurrentTimestampSelectString, getCurrentTimestampSQLFunctionName, getDefaultProperties, getDialect, getDialect, getDropForeignKeyString, getDropSchemaCommand, getDropSequenceString, getDropSequenceStrings, getDropTableString, getDropTemporaryTableString, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateSkipLockedString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIdentityColumnString, getIdentityColumnString, getIdentityInsertString, getIdentitySelectString, getIdentitySelectString, getKeywords, getLimitString, getLimitString, getLobMergeStrategy, getLockingStrategy, getLowercaseFunction, getMaxAliasLength, getNativeIdentifierGeneratorClass, getNoColumnsInsertString, getNotExpression, getNullColumnString, getQueryHintString, getQuerySequencesString, getReadLockString, getResultSet, getResultSet, getResultSet, getSelectGUIDString, getSelectSequenceNextValString, getSequenceNextValString, getSqlTypeDescriptorOverride, getTableComment, getTableTypeString, getTypeName, getUniqueDelegate, getViolatedConstraintNameExtracter, getWriteLockString, hasAlterTable, hasDataTypeInIdentityColumn, hasSelfReferentialForeignKeyBug, isCurrentTimestampSelectStringCallable, isLockTimeoutParameterized, openQuote, qualifyIndexName, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, registerResultSetOutParameter, registerResultSetOutParameter, remapSqlTypeDescriptor, renderOrderByElement, replaceResultVariableInOrderByClauseWithPosition, requiresCastingOfParametersInSelectClause, requiresParensForTupleDistinctCounts, supportsCaseInsensitiveLike, supportsColumnCheck, supportsCommentOn, supportsCurrentTimestampSelection, supportsExistsInSelect, supportsExpectedLobUsagePattern, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsInsertSelectIdentity, supportsLimit, supportsLimitOffset, supportsLockTimeouts, supportsNotNullUnique, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsPooledSequences, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTupleCounts, supportsTupleDistinctCounts, supportsTuplesInSubqueries, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnique, supportsUniqueConstraintInCreateAlterTable, supportsVariableLimit, toBooleanValueString, toString, transformSelectString, useFollowOnLocking, useInputStreamToInsertBlob, useMaxForLimitpublic String getForUpdateString()
getForUpdateString in class Dialectpublic boolean supportsIdentityColumns()
DialectsupportsIdentityColumns in class Dialectpublic boolean supportsSequences()
DialectsupportsSequences in class Dialectpublic String getAddColumnString()
DialectgetAddColumnString in class Dialectpublic boolean supportsTemporaryTables()
DialectsupportsTemporaryTables in class Dialectpublic String getCreateTemporaryTableString()
DialectgetCreateTemporaryTableString in class Dialectpublic String getCreateTemporaryTablePostfix()
DialectgetCreateTemporaryTablePostfix 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()
DialectdropTemporaryTableAfterUse in class Dialectpublic String getTypeName(int code, long length, int precision, int scale) throws HibernateException
DialectTypes typecode with the given storage specification
 parameters.getTypeName in class Dialectcode - The Types typecodelength - The datatype lengthprecision - The datatype precisionscale - The datatype scaleHibernateException - If no mapping was specified for that type.public boolean supportsCascadeDelete()
DialectsupportsCascadeDelete in class Dialecttrue indicates that the dialect does support cascaded delete on foreign keys.public boolean supportsCircularCascadeDeleteConstraints()
DialectsupportsCircularCascadeDeleteConstraints in class Dialectpublic boolean areStringComparisonsCaseInsensitive()
DialectareStringComparisonsCaseInsensitive in class Dialectpublic boolean supportsEmptyInList()
DialectsupportsEmptyInList 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()
DialectdoesReadCommittedCauseWritersToBlockReaders in class Dialectpublic boolean doesRepeatableReadCauseReadersToBlockWriters()
DialectdoesRepeatableReadCauseReadersToBlockWriters in class Dialectpublic boolean supportsBindAsCallableArgument()
DialectsupportsBindAsCallableArgument in class Dialecttrue if the database supports accepting bind params as args, false otherwise. The
 default is true.public int getInExpressionCountLimit()
DialectIN predicate.
 If the database defines no such limits, simply return zero or less-than-zero.getInExpressionCountLimit in class DialectCopyright © 2001-2015 Red Hat, Inc. All Rights Reserved.