Package org.jumpmind.symmetric.db.mssql
Class MsSqlSymmetricDialect
java.lang.Object
org.jumpmind.symmetric.db.AbstractSymmetricDialect
org.jumpmind.symmetric.db.mssql.MsSqlSymmetricDialect
- All Implemented Interfaces:
ISymmetricDialect
- Direct Known Subclasses:
MsSql2000SymmetricDialect
,MsSql2008SymmetricDialect
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
protected static final String
protected static final String
protected Boolean
Fields inherited from class org.jumpmind.symmetric.db.AbstractSymmetricDialect
databaseMajorVersion, databaseMinorVersion, databaseName, databaseProductVersion, driverName, driverVersion, extensionService, isSpatialTypesEnabled, log, MAX_SYMMETRIC_SUPPORTED_TRIGGER_SIZE, parameterService, platform, sqlKeywords, sqlReplacementTokens, supportsDdlTriggers, supportsGetGeneratedKeys, supportsSubselectsInDelete, supportsSubselectsInUpdate, supportsTransactionViews, tablePrefixLowerCase, targetDialect, triggerTemplate
-
Constructor Summary
ConstructorsConstructorDescriptionMsSqlSymmetricDialect
(IParameterService parameterService, IDatabasePlatform platform) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
void
protected void
protected void
boolean
createOrAlterTablesIfNecessary
(String... tableNames) void
protected void
void
disableSyncTriggers
(ISqlTransaction transaction, String nodeId) protected boolean
doesTriggerExistOnPlatform
(StringBuilder sqlBuffer, String catalogName, String schema, String tableName, String triggerName) protected void
protected void
void
protected void
void
enableSyncTriggers
(ISqlTransaction transaction) long
getCurrentSequenceValue
(SequenceIdentifier identifier) protected String
getTransactionTriggerExpression
(String defaultCatalog, String defaultSchema, Trigger trigger) boolean
boolean
protected void
postCreateTrigger
(ISqlTransaction transaction, StringBuilder sqlBuffer, DataEventType dml, Trigger trigger, TriggerHistory hist, Channel channel, String tablePrefix, Table table) void
removeDdlTrigger
(StringBuilder sqlBuffer, String catalogName, String schemaName, String triggerName) void
removeTrigger
(StringBuilder sqlBuffer, String catalogName, String schemaName, String triggerName, String tableName, ISqlTransaction transaction) protected void
setColumnToNtext
(Column column) protected void
setColumnToVarChar
(Column column, boolean forceNtype) protected boolean
boolean
protected String
switchCatalogForTriggerInstall
(String catalog, ISqlTransaction transaction) void
Methods inherited from class org.jumpmind.symmetric.db.AbstractSymmetricDialect
areDatabaseTransactionsPendingSince, buildSqlReplacementTokens, canGapsOccurInCapturedDataIds, cleanupTriggers, close, createCsvDataSql, createCsvPrimaryKeySql, createDdlTrigger, createInitialLoadSqlFor, createPostDdlTriggerDDL, createPostTriggerDDL, createPurgeSqlFor, createPurgeSqlFor, createPurgeSqlFor, createPurgeSqlForMultipleTables, createRequiredDatabaseObjects, createTrigger, createTrigger, disableSyncTriggers, doesDdlTriggerExist, doesTriggerExist, dropTablesAndDatabaseObjects, escapesTemplatesForDatabaseInserts, getColumnPositionUsingTemplate, getCreateRequiredDatabaseObjectsDDL, getCreateSymmetricDDL, getDatabaseTime, getDatabaseTimeSQL, getDataHasChangedCondition, getDriverName, getDriverVersion, getDropTriggerSql, getEarliestTransactionStartTime, getEngineName, getInitialLoadTableAlias, getInitialLoadTwoPassLobLengthSql, getInitialLoadTwoPassLobSql, getMajorVersion, getMasterCollation, getMaxTriggerNameLength, getMinorVersion, getName, getParameterService, getPlatform, getProductVersion, getSequenceKeyName, getSequenceName, getSourceNodeExpression, getSqlKeywords, getSqlReplacementTokens, getSqlTypeForIds, getSymmetricDdlChanges, getTablePrefix, getTargetDialect, getTargetDialect, getTargetPlatform, getTargetPlatform, getTemplateNumberPrecisionSpec, getTransactionId, getTriggerTemplate, getVersion, initTablesAndDatabaseObjects, insertWithGeneratedKey, insertWithGeneratedKey, install, installed, isBlobSyncSupported, isClobSyncSupported, isInitialLoadTwoPassLob, logSql, massageDataExtractionSql, massageForLob, merge, orderColumns, postCreateDdlTrigger, prefixConfigDatabase, preProcessTriggerSqlClause, readDatabaseFromXml, readSymmetricSchemaFromDatabase, removeTrigger, replaceTokens, requiresAutoCommitFalseToSetFetchSize, setExtensionService, setTargetDialect, supportsBatchUpdates, supportsDdlTriggers, supportsOpenCursorsAcrossCommit, supportsSubselectsInDelete, supportsSubselectsInUpdate, supportsTransactionViews, truncateTable, uninstall, uninstall
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.jumpmind.symmetric.db.ISymmetricDialect
areDatabaseTransactionsPendingSince, canGapsOccurInCapturedDataIds, cleanupTriggers, createCsvDataSql, createCsvPrimaryKeySql, createDdlTrigger, createInitialLoadSqlFor, createPurgeSqlFor, createPurgeSqlFor, createPurgeSqlFor, createPurgeSqlForMultipleTables, createRequiredDatabaseObjects, createTrigger, createTrigger, disableSyncTriggers, doesDdlTriggerExist, doesTriggerExist, dropTablesAndDatabaseObjects, escapesTemplatesForDatabaseInserts, getColumnPositionUsingTemplate, getCreateRequiredDatabaseObjectsDDL, getCreateSymmetricDDL, getDatabaseTime, getDatabaseTimeSQL, getDataHasChangedCondition, getDriverName, getDriverVersion, getEarliestTransactionStartTime, getEngineName, getInitialLoadTableAlias, getInitialLoadTwoPassLobSql, getMajorVersion, getMasterCollation, getMaxTriggerNameLength, getMinorVersion, getName, getParameterService, getPlatform, getProductVersion, getSequenceKeyName, getSequenceName, getSourceNodeExpression, getSqlKeywords, getSqlReplacementTokens, getSqlTypeForIds, getSymmetricDdlChanges, getTablePrefix, getTargetDialect, getTargetDialect, getTargetPlatform, getTargetPlatform, getTemplateNumberPrecisionSpec, getTransactionId, getTriggerTemplate, getVersion, initTablesAndDatabaseObjects, insertWithGeneratedKey, insertWithGeneratedKey, isBlobSyncSupported, isClobSyncSupported, isInitialLoadTwoPassLob, massageDataExtractionSql, massageForLob, orderColumns, preProcessTriggerSqlClause, removeTrigger, setExtensionService, setTargetDialect, supportsBatchUpdates, supportsDdlTriggers, supportsOpenCursorsAcrossCommit, supportsSubselectsInDelete, supportsSubselectsInUpdate, supportsTransactionViews, truncateTable
-
Field Details
-
SQL_DROP_FUNCTION
- See Also:
-
SQL_FUNCTION_INSTALLED
- See Also:
-
supportsDisableTriggers
-
noCount
protected int noCount
-
-
Constructor Details
-
MsSqlSymmetricDialect
-
-
Method Details
-
readSymmetricSchemaFromXml
- Specified by:
readSymmetricSchemaFromXml
in interfaceISymmetricDialect
- Overrides:
readSymmetricSchemaFromXml
in classAbstractSymmetricDialect
-
setColumnToNtext
-
setColumnToVarChar
-
createOrAlterTablesIfNecessary
- Specified by:
createOrAlterTablesIfNecessary
in interfaceISymmetricDialect
- Overrides:
createOrAlterTablesIfNecessary
in classAbstractSymmetricDialect
-
alterLockEscalation
protected boolean alterLockEscalation() -
verifyDatabaseIsCompatible
public void verifyDatabaseIsCompatible()- Specified by:
verifyDatabaseIsCompatible
in interfaceISymmetricDialect
- Overrides:
verifyDatabaseIsCompatible
in classAbstractSymmetricDialect
-
createRequiredDatabaseObjectsImpl
- Overrides:
createRequiredDatabaseObjectsImpl
in classAbstractSymmetricDialect
-
createBase64EncodeFunction
-
createTriggersDisabledFunction
-
createNodeDisabledFunction
-
dropRequiredDatabaseObjects
public void dropRequiredDatabaseObjects()- Specified by:
dropRequiredDatabaseObjects
in interfaceISymmetricDialect
- Specified by:
dropRequiredDatabaseObjects
in classAbstractSymmetricDialect
-
dropBase64EncodeFunction
protected void dropBase64EncodeFunction() -
dropTriggersDisabledFunction
protected void dropTriggersDisabledFunction() -
dropNodeDisabledFunction
protected void dropNodeDisabledFunction() -
supportsDisableTriggers
protected boolean supportsDisableTriggers() -
removeTrigger
public void removeTrigger(StringBuilder sqlBuffer, String catalogName, String schemaName, String triggerName, String tableName, ISqlTransaction transaction) - Specified by:
removeTrigger
in interfaceISymmetricDialect
- Overrides:
removeTrigger
in classAbstractSymmetricDialect
-
switchCatalogForTriggerInstall
- Overrides:
switchCatalogForTriggerInstall
in classAbstractSymmetricDialect
-
postCreateTrigger
protected void postCreateTrigger(ISqlTransaction transaction, StringBuilder sqlBuffer, DataEventType dml, Trigger trigger, TriggerHistory hist, Channel channel, String tablePrefix, Table table) - Overrides:
postCreateTrigger
in classAbstractSymmetricDialect
-
getBinaryEncoding
- Specified by:
getBinaryEncoding
in interfaceISymmetricDialect
- Specified by:
getBinaryEncoding
in classAbstractSymmetricDialect
-
doesTriggerExistOnPlatform
protected boolean doesTriggerExistOnPlatform(StringBuilder sqlBuffer, String catalogName, String schema, String tableName, String triggerName) - Specified by:
doesTriggerExistOnPlatform
in classAbstractSymmetricDialect
-
removeDdlTrigger
public void removeDdlTrigger(StringBuilder sqlBuffer, String catalogName, String schemaName, String triggerName) - Specified by:
removeDdlTrigger
in interfaceISymmetricDialect
- Overrides:
removeDdlTrigger
in classAbstractSymmetricDialect
-
disableSyncTriggers
- Specified by:
disableSyncTriggers
in interfaceISymmetricDialect
-
enableSyncTriggers
- Specified by:
enableSyncTriggers
in interfaceISymmetricDialect
-
getSyncTriggersExpression
- Specified by:
getSyncTriggersExpression
in interfaceISymmetricDialect
-
getSyncTriggersOnIncomingExpression
- Specified by:
getSyncTriggersOnIncomingExpression
in interfaceISymmetricDialect
- Overrides:
getSyncTriggersOnIncomingExpression
in classAbstractSymmetricDialect
-
getTransactionTriggerExpression
public String getTransactionTriggerExpression(String defaultCatalog, String defaultSchema, Trigger trigger) - Specified by:
getTransactionTriggerExpression
in interfaceISymmetricDialect
- Overrides:
getTransactionTriggerExpression
in classAbstractSymmetricDialect
-
supportsTransactionId
public boolean supportsTransactionId()- Specified by:
supportsTransactionId
in interfaceISymmetricDialect
- Overrides:
supportsTransactionId
in classAbstractSymmetricDialect
-
isTransactionIdOverrideSupported
public boolean isTransactionIdOverrideSupported()- Specified by:
isTransactionIdOverrideSupported
in interfaceISymmetricDialect
- Overrides:
isTransactionIdOverrideSupported
in classAbstractSymmetricDialect
-
cleanDatabase
public void cleanDatabase()- Specified by:
cleanDatabase
in interfaceISymmetricDialect
-
needsToSelectLobData
public boolean needsToSelectLobData()- Specified by:
needsToSelectLobData
in interfaceISymmetricDialect
- Overrides:
needsToSelectLobData
in classAbstractSymmetricDialect
-
getDbSpecificDataHasChangedCondition
- Overrides:
getDbSpecificDataHasChangedCondition
in classAbstractSymmetricDialect
-
getCurrentSequenceValue
- Specified by:
getCurrentSequenceValue
in interfaceISymmetricDialect
- Overrides:
getCurrentSequenceValue
in classAbstractSymmetricDialect
-
getSymTablePermissions
- Specified by:
getSymTablePermissions
in interfaceISymmetricDialect
- Overrides:
getSymTablePermissions
in classAbstractSymmetricDialect
-