org.hibernate.dialect

Class FrontBaseDialect


public class FrontBaseDialect
extends Dialect

An SQL Dialect for Frontbase. Assumes you're using the latest version of the FrontBase JDBC driver, available from http://frontbase.com/

NOTE: The latest JDBC driver is not always included with the latest release of FrontBase. Download the driver separately, and enjoy the informative release notes.

This dialect was tested with JDBC driver version 2.3.1. This driver contains a bug that causes batches of updates to fail. (The bug should be fixed in the next release of the JDBC driver.) If you are using JDBC driver 2.3.1, you can work-around this problem by setting the following in your hibernate.properties file: hibernate.jdbc.batch_size=15

Author:
Ron Lussier rlussier@lenscraft.com

Field Summary

Fields inherited from class org.hibernate.dialect.Dialect

CLOSED_QUOTE, DEFAULT_BATCH_SIZE, NO_BATCH, QUOTE

Constructor Summary

FrontBaseDialect()

Method Summary

boolean
dropConstraints()
String
getAddColumnString()
String
getCascadeConstraintsString()
String
getCurrentTimestampCallString()
String
getForUpdateString()
Does this dialect support the FOR UPDATE syntax.
LockingStrategy
getLockingStrategy(Lockable lockable, LockMode lockMode)
boolean
isCurrentTimestampSelectStringCallable()

Methods inherited from class org.hibernate.dialect.Dialect

appendIdentitySelectToInsert, appendLockHint, applyLocksToSql, areStringComparisonsCaseInsensitive, bindLimitParametersFirst, bindLimitParametersInReverseOrder, buildSQLExceptionConverter, closeQuote, createCaseFragment, createOuterJoinFragment, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, dropConstraints, dropTemporaryTableAfterUse, forUpdateOfColumns, generateTemporaryTableName, getAddColumnString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getCascadeConstraintsString, getCastTypeName, getColumnComment, getCreateMultisetTableString, getCreateSequenceString, getCreateSequenceString, getCreateSequenceStrings, getCreateSequenceStrings, getCreateTableString, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getCurrentTimestampSQLFunctionName, getCurrentTimestampSelectString, getDefaultProperties, getDialect, getDialect, getDropForeignKeyString, getDropSequenceString, getDropSequenceStrings, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIdentityColumnString, getIdentityColumnString, getIdentityInsertString, getIdentitySelectString, getIdentitySelectString, getKeywords, getLimitString, getLimitString, getLockingStrategy, getLowercaseFunction, getMaxAliasLength, getNativeIdentifierGeneratorClass, getNoColumnsInsertString, getNullColumnString, getQuerySequencesString, getResultSet, getSelectClauseNullString, getSelectGUIDString, getSelectSequenceNextValString, getSequenceNextValString, getTableComment, getTableTypeString, getTypeName, getTypeName, getViolatedConstraintNameExtracter, hasAlterTable, hasDataTypeInIdentityColumn, hasSelfReferentialForeignKeyBug, isCurrentTimestampSelectStringCallable, openQuote, performTemporaryTableDDLInIsolation, qualifyIndexName, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, registerResultSetOutParameter, supportsBindAsCallableArgument, supportsCascadeDelete, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsCurrentTimestampSelection, supportsEmptyInList, supportsExistsInSelect, supportsExpectedLobUsagePattern, supportsIdentityColumns, supportsIfExistsAfterTableName, supportsIfExistsBeforeTableName, supportsInsertSelectIdentity, supportsLimit, supportsLimitOffset, supportsLobValueChangePropogation, supportsNotNullUnique, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsPooledSequences, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsSequences, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTemporaryTables, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnique, supportsUniqueConstraintInCreateAlterTable, supportsVariableLimit, toBooleanValueString, toString, transformSelectString, useInputStreamToInsertBlob, useMaxForLimit

Constructor Details

FrontBaseDialect

public FrontBaseDialect()

Method Details

dropConstraints

public boolean dropConstraints()
Overrides:
dropConstraints in interface Dialect

getAddColumnString

public String getAddColumnString()
Overrides:
getAddColumnString in interface Dialect

getCascadeConstraintsString

public String getCascadeConstraintsString()
Overrides:
getCascadeConstraintsString in interface Dialect

getCurrentTimestampCallString

public String getCurrentTimestampCallString()

getForUpdateString

public String getForUpdateString()
Does this dialect support the FOR UPDATE syntax. No!
Overrides:
getForUpdateString in interface Dialect
Returns:
false always. FrontBase doesn't support this syntax, which was dropped with SQL92

getLockingStrategy

public LockingStrategy getLockingStrategy(Lockable lockable,
                                          LockMode lockMode)
Overrides:
getLockingStrategy in interface Dialect

isCurrentTimestampSelectStringCallable

public boolean isCurrentTimestampSelectStringCallable()
Overrides:
isCurrentTimestampSelectStringCallable in interface Dialect