gov.nih.nci.caarray.util
Class CaarrayInnoDBDialect

java.lang.Object
  extended by org.hibernate.dialect.Dialect
      extended by org.hibernate.dialect.MySQLDialect
          extended by org.hibernate.dialect.MySQLInnoDBDialect
              extended by gov.nih.nci.caarray.util.CaarrayInnoDBDialect

public class CaarrayInnoDBDialect
extends org.hibernate.dialect.MySQLInnoDBDialect

A hack: hibernate has a bug in parsing the Filter clauses with subselects where it unnecessarily prepends table qualifications to identifiers. To get around this, we need to use a special known value as the identifier and then tell hibernate that it's a keyword, thereby preventing it from qualifying it with the table name.

Author:
dkokotov

Field Summary
static java.lang.String FILTER_ALIAS
          The well known value used as the identifier in the nested subqueries for CSM filters.
 
Fields inherited from class org.hibernate.dialect.Dialect
CLOSED_QUOTE, QUOTE
 
Constructor Summary
CaarrayInnoDBDialect()
          Create a new dialect.
 
Method Summary
 
Methods inherited from class org.hibernate.dialect.MySQLInnoDBDialect
getTableTypeString, hasSelfReferentialForeignKeyBug, supportsCascadeDelete
 
Methods inherited from class org.hibernate.dialect.MySQLDialect
closeQuote, getAddColumnString, getAddForeignKeyConstraintString, getCastTypeName, getColumnComment, getCreateTemporaryTableString, getCurrentTimestampSelectString, getDropForeignKeyString, getIdentityColumnString, getIdentitySelectString, getLimitString, getResultSet, getSelectGUIDString, getTableComment, isCurrentTimestampSelectStringCallable, openQuote, qualifyIndexName, registerResultSetOutParameter, registerVarcharTypes, supportsCurrentTimestampSelection, supportsIdentityColumns, supportsIfExistsBeforeTableName, supportsLimit, supportsRowValueConstructorSyntax, supportsTemporaryTables
 
Methods inherited from class org.hibernate.dialect.Dialect
appendIdentitySelectToInsert, appendLockHint, bindLimitParametersFirst, bindLimitParametersInReverseOrder, buildSQLExceptionConverter, createCaseFragment, createOuterJoinFragment, dropConstraints, dropTemporaryTableAfterUse, forUpdateOfColumns, generateTemporaryTableName, getAddPrimaryKeyConstraintString, getCascadeConstraintsString, getCreateSequenceString, getCreateSequenceStrings, getCreateTemporaryTablePostfix, getCurrentTimestampSQLFunctionName, getDefaultProperties, getDialect, getDialect, getDropSequenceString, getDropSequenceStrings, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIdentityColumnString, getIdentityInsertString, getIdentitySelectString, getKeywords, getLimitString, getLockingStrategy, getLowercaseFunction, getMaxAliasLength, getNativeIdentifierGeneratorClass, getNoColumnsInsertString, getNullColumnString, getQuerySequencesString, getSelectClauseNullString, getSelectSequenceNextValString, getSequenceNextValString, getTypeName, getTypeName, getViolatedConstraintNameExtracter, hasAlterTable, hasDataTypeInIdentityColumn, performTemporaryTableDDLInIsolation, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, supportsColumnCheck, supportsCommentOn, supportsIfExistsAfterTableName, supportsInsertSelectIdentity, supportsLimitOffset, supportsNotNullUnique, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsSequences, supportsTableCheck, supportsUnionAll, supportsUnique, supportsUniqueConstraintInCreateAlterTable, supportsVariableLimit, toBooleanValueString, toString, transformSelectString, useInputStreamToInsertBlob, useMaxForLimit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FILTER_ALIAS

public static final java.lang.String FILTER_ALIAS
The well known value used as the identifier in the nested subqueries for CSM filters.

See Also:
Constant Field Values
Constructor Detail

CaarrayInnoDBDialect

public CaarrayInnoDBDialect()
Create a new dialect.