org.jumpmind.symmetric.db
Interface IDbDialect

All Known Implementing Classes:
AbstractDbDialect, Db2DbDialect, DerbyDbDialect, FirebirdDbDialect, HsqlDbDialect, MsSqlDbDialect, MySqlDbDialect, OracleDbDialect, PostgreSqlDbDialect

public interface IDbDialect


Method Summary
 void cleanupAfterDataLoad(org.apache.ddlutils.model.Table table)
          This is called by the data loader each time the table context changes away from a table or when the the data loader is closed, giving the dialect an opportunity to do any post loading work for the given table.
 java.lang.String createCsvDataSql(Trigger trig, java.lang.String whereClause)
           
 java.lang.String createCsvPrimaryKeySql(Trigger trig, java.lang.String whereClause)
           
 java.lang.String createInitalLoadSqlFor(Node node, Trigger trigger)
           
 java.lang.String createPurgeSqlFor(Node node, Trigger trigger, TriggerHistory history)
           
 java.lang.Object createSavepoint()
           
 java.lang.Object createSavepointForFallback()
           
 void createTables(java.lang.String xml)
           
 void disableSyncTriggers()
           
 void disableSyncTriggers(java.lang.String nodeId)
           
 boolean doesDatabaseNeedConfigured()
          Check to see if the database is configured for symmetric already, or if it needs configured.
 boolean doesTriggerExist(java.lang.String catalogName, java.lang.String schema, java.lang.String tableName, java.lang.String triggerName)
           
 void enableSyncTriggers()
           
 BinaryEncoding getBinaryEncoding()
           
 java.lang.String getCreateSymmetricDDL()
           
 java.lang.String getCreateTableSQL(Trigger trig)
           
 java.lang.String getCreateTableXML(Trigger trig)
           
 IColumnFilter getDatabaseColumnFilter()
           
 java.lang.String getDefaultCatalog()
           
 java.lang.String getDefaultSchema()
           
 java.lang.String getEngineName()
          Get the name of this symmetric instance.
 java.lang.String getIdentifierQuoteString()
           
 org.springframework.jdbc.core.JdbcTemplate getJdbcTemplate()
           
 int getMajorVersion()
           
 int getMaxTriggerNameLength()
          Get the maximum size the name of a trigger can be for the database platform.
 org.apache.ddlutils.model.Table getMetaDataFor(java.lang.String catalog, java.lang.String schema, java.lang.String tableName, boolean useCache)
           
 org.apache.ddlutils.model.Table getMetaDataFor(Trigger trigger, boolean useCache)
           
 int getMinorVersion()
           
 java.lang.String getName()
           
 org.apache.ddlutils.Platform getPlatform()
           
 java.lang.String getProductVersion()
           
 java.lang.String getSelectLastInsertIdSql(java.lang.String sequenceName)
           
 org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator getSqlErrorTranslator()
           
 int getStreamingResultsFetchSize()
           
 java.lang.String getSyncTriggersExpression()
           
 java.lang.String getTablePrefix()
          Get the string prepended to the Symmetric configuration tables.
 java.lang.String getTransactionTriggerExpression(Trigger trigger)
           
 java.lang.String getTriggerName(DataEventType dml, java.lang.String triggerPrefix, int maxTriggerNameLength, Trigger trigger, TriggerHistory hist)
           
 java.lang.String getVersion()
           
 void initConfigDb()
           
 void initTrigger(DataEventType dml, Trigger trigger, TriggerHistory audit, java.lang.String tablePrefix, org.apache.ddlutils.model.Table table)
           
 long insertWithGeneratedKey(java.lang.String sql, SequenceIdentifier sequenceId)
           
 long insertWithGeneratedKey(java.lang.String sql, SequenceIdentifier sequenceIde, org.springframework.jdbc.core.PreparedStatementCallback psCallback)
           
 boolean isBlobOverrideToBinary()
           
 boolean isBlobSyncSupported()
           
 boolean isCharSpacePadded()
           
 boolean isCharSpaceTrimmed()
           
 boolean isClobSyncSupported()
           
 boolean isDateOverrideToTimestamp()
           
 boolean isEmptyStringNulled()
           
 boolean isTransactionIdOverrideSupported()
          An indicator as to whether the ability to override the default transaction id provided by the dialect can be overridden in the trigger configuration.
 void prepareTableForDataLoad(org.apache.ddlutils.model.Table table)
          This is called by the data loader each time the table context changes, giving the dialect an opportunity to do any pre loading work.
 void purge()
          Implement this if the database has some type of cleanup functionality that needs to be run when dropping database objects.
 void releaseSavepoint(java.lang.Object savepoint)
           
 void removeTrigger(java.lang.String catalogName, java.lang.String schemaName, java.lang.String triggerName, java.lang.String tableName, TriggerHistory oldHistory)
           
 java.lang.String replaceTemplateVariables(DataEventType dml, Trigger trigger, TriggerHistory history, java.lang.String targetString)
          Give access to the templating mechanism that is used for trigger creation.
 boolean requiresSavepointForFallback()
           
 void rollbackToSavepoint(java.lang.Object savepoint)
           
 boolean storesLowerCaseNamesInCatalog()
           
 boolean storesUpperCaseNamesInCatalog()
           
 boolean supportsTransactionId()
           
 

Method Detail

initTrigger

void initTrigger(DataEventType dml,
                 Trigger trigger,
                 TriggerHistory audit,
                 java.lang.String tablePrefix,
                 org.apache.ddlutils.model.Table table)

getEngineName

java.lang.String getEngineName()
Get the name of this symmetric instance. This can be set in symmetric.properties using the symmetric.runtime.engine.name property.


removeTrigger

void removeTrigger(java.lang.String catalogName,
                   java.lang.String schemaName,
                   java.lang.String triggerName,
                   java.lang.String tableName,
                   TriggerHistory oldHistory)

doesTriggerExist

boolean doesTriggerExist(java.lang.String catalogName,
                         java.lang.String schema,
                         java.lang.String tableName,
                         java.lang.String triggerName)

prepareTableForDataLoad

void prepareTableForDataLoad(org.apache.ddlutils.model.Table table)
This is called by the data loader each time the table context changes, giving the dialect an opportunity to do any pre loading work. Only one table is active at any one point.


cleanupAfterDataLoad

void cleanupAfterDataLoad(org.apache.ddlutils.model.Table table)
This is called by the data loader each time the table context changes away from a table or when the the data loader is closed, giving the dialect an opportunity to do any post loading work for the given table.


doesDatabaseNeedConfigured

boolean doesDatabaseNeedConfigured()
Check to see if the database is configured for symmetric already, or if it needs configured.

Returns:
true if configuration tables need to be created.

initConfigDb

void initConfigDb()

getPlatform

org.apache.ddlutils.Platform getPlatform()

getName

java.lang.String getName()

getVersion

java.lang.String getVersion()

getMajorVersion

int getMajorVersion()

getMinorVersion

int getMinorVersion()

getProductVersion

java.lang.String getProductVersion()

getBinaryEncoding

BinaryEncoding getBinaryEncoding()

getMetaDataFor

org.apache.ddlutils.model.Table getMetaDataFor(java.lang.String catalog,
                                               java.lang.String schema,
                                               java.lang.String tableName,
                                               boolean useCache)

getMetaDataFor

org.apache.ddlutils.model.Table getMetaDataFor(Trigger trigger,
                                               boolean useCache)

getTransactionTriggerExpression

java.lang.String getTransactionTriggerExpression(Trigger trigger)

createInitalLoadSqlFor

java.lang.String createInitalLoadSqlFor(Node node,
                                        Trigger trigger)

createPurgeSqlFor

java.lang.String createPurgeSqlFor(Node node,
                                   Trigger trigger,
                                   TriggerHistory history)

createCsvDataSql

java.lang.String createCsvDataSql(Trigger trig,
                                  java.lang.String whereClause)

createCsvPrimaryKeySql

java.lang.String createCsvPrimaryKeySql(Trigger trig,
                                        java.lang.String whereClause)

isCharSpacePadded

boolean isCharSpacePadded()

isCharSpaceTrimmed

boolean isCharSpaceTrimmed()

isEmptyStringNulled

boolean isEmptyStringNulled()

getMaxTriggerNameLength

int getMaxTriggerNameLength()
Get the maximum size the name of a trigger can be for the database platform. If the generated symmetric trigger name is greater than the max trigger name, symmetric will truncate the name, then log a warning suggesting that you might want to provide your own name.


storesUpperCaseNamesInCatalog

boolean storesUpperCaseNamesInCatalog()

storesLowerCaseNamesInCatalog

boolean storesLowerCaseNamesInCatalog()

supportsTransactionId

boolean supportsTransactionId()

requiresSavepointForFallback

boolean requiresSavepointForFallback()

createSavepoint

java.lang.Object createSavepoint()

createSavepointForFallback

java.lang.Object createSavepointForFallback()

rollbackToSavepoint

void rollbackToSavepoint(java.lang.Object savepoint)

releaseSavepoint

void releaseSavepoint(java.lang.Object savepoint)

getDatabaseColumnFilter

IColumnFilter getDatabaseColumnFilter()

purge

void purge()
Implement this if the database has some type of cleanup functionality that needs to be run when dropping database objects. An example is Oracle's 'purge recyclebin'


getSqlErrorTranslator

org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator getSqlErrorTranslator()

disableSyncTriggers

void disableSyncTriggers()

disableSyncTriggers

void disableSyncTriggers(java.lang.String nodeId)

enableSyncTriggers

void enableSyncTriggers()

getSyncTriggersExpression

java.lang.String getSyncTriggersExpression()

getDefaultSchema

java.lang.String getDefaultSchema()

getDefaultCatalog

java.lang.String getDefaultCatalog()

getStreamingResultsFetchSize

int getStreamingResultsFetchSize()

getJdbcTemplate

org.springframework.jdbc.core.JdbcTemplate getJdbcTemplate()

getCreateSymmetricDDL

java.lang.String getCreateSymmetricDDL()

getCreateTableXML

java.lang.String getCreateTableXML(Trigger trig)

getCreateTableSQL

java.lang.String getCreateTableSQL(Trigger trig)

isBlobSyncSupported

boolean isBlobSyncSupported()

isBlobOverrideToBinary

boolean isBlobOverrideToBinary()

isDateOverrideToTimestamp

boolean isDateOverrideToTimestamp()

isClobSyncSupported

boolean isClobSyncSupported()

isTransactionIdOverrideSupported

boolean isTransactionIdOverrideSupported()
An indicator as to whether the ability to override the default transaction id provided by the dialect can be overridden in the trigger configuration.


getIdentifierQuoteString

java.lang.String getIdentifierQuoteString()

createTables

void createTables(java.lang.String xml)

getSelectLastInsertIdSql

java.lang.String getSelectLastInsertIdSql(java.lang.String sequenceName)

insertWithGeneratedKey

long insertWithGeneratedKey(java.lang.String sql,
                            SequenceIdentifier sequenceId)

insertWithGeneratedKey

long insertWithGeneratedKey(java.lang.String sql,
                            SequenceIdentifier sequenceIde,
                            org.springframework.jdbc.core.PreparedStatementCallback psCallback)

getTablePrefix

java.lang.String getTablePrefix()
Get the string prepended to the Symmetric configuration tables.

Returns:

replaceTemplateVariables

java.lang.String replaceTemplateVariables(DataEventType dml,
                                          Trigger trigger,
                                          TriggerHistory history,
                                          java.lang.String targetString)
Give access to the templating mechanism that is used for trigger creation.


getTriggerName

java.lang.String getTriggerName(DataEventType dml,
                                java.lang.String triggerPrefix,
                                int maxTriggerNameLength,
                                Trigger trigger,
                                TriggerHistory hist)


Copyright © 2007-2008. All Rights Reserved.