Class PostgreSqlSymmetricDialect
java.lang.Object
org.jumpmind.symmetric.db.AbstractSymmetricDialect
org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect
- All Implemented Interfaces:
ISymmetricDialect
- Direct Known Subclasses:
GreenplumSymmetricDialect
public class PostgreSqlSymmetricDialect
extends AbstractSymmetricDialect
implements ISymmetricDialect
-
Field Summary
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
ConstructorsConstructorDescriptionPostgreSqlSymmetricDialect
(IParameterService parameterService, IDatabasePlatform platform) -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
void
disableSyncTriggers
(ISqlTransaction transaction, String nodeId) boolean
doesDdlTriggerExist
(String catalogName, String schema, String triggerName) protected boolean
doesTriggerExistOnPlatform
(StringBuilder sqlBuffer, String catalogName, String schema, String tableName, String triggerName) void
void
enableSyncTriggers
(ISqlTransaction transaction) long
getCurrentSequenceValue
(SequenceIdentifier identifier) protected String
final Date
int
getTransactionId
(ISqlTransaction transaction) getTransactionTriggerExpression
(String defaultCatalog, String defaultSchema, Trigger trigger) void
removeDdlTrigger
(StringBuilder sqlBuffer, String catalogName, String schemaName, String triggerName) void
removeTrigger
(StringBuilder sqlBuffer, String catalogName, String schemaName, String triggerName, String tableName, ISqlTransaction transaction) boolean
boolean
boolean
Methods inherited from class org.jumpmind.symmetric.db.AbstractSymmetricDialect
areDatabaseTransactionsPendingSince, buildSqlReplacementTokens, canGapsOccurInCapturedDataIds, cleanupTriggers, close, createCsvDataSql, createCsvPrimaryKeySql, createDdlTrigger, createInitialLoadSqlFor, createOrAlterTablesIfNecessary, createPostDdlTriggerDDL, createPostTriggerDDL, createPurgeSqlFor, createPurgeSqlFor, createPurgeSqlFor, createPurgeSqlForMultipleTables, createRequiredDatabaseObjects, createTrigger, createTrigger, disableSyncTriggers, doesTriggerExist, dropTablesAndDatabaseObjects, escapesTemplatesForDatabaseInserts, getColumnPositionUsingTemplate, getCreateRequiredDatabaseObjectsDDL, getCreateSymmetricDDL, getDatabaseTime, getDatabaseTimeSQL, getDataHasChangedCondition, getDriverName, getDriverVersion, getDropTriggerSql, getEngineName, getInitialLoadTableAlias, getInitialLoadTwoPassLobLengthSql, getInitialLoadTwoPassLobSql, getMajorVersion, getMasterCollation, getMaxTriggerNameLength, getMinorVersion, getName, getParameterService, getPlatform, getProductVersion, getSequenceKeyName, getSequenceName, getSourceNodeExpression, getSqlKeywords, getSqlReplacementTokens, getSymmetricDdlChanges, getSymTablePermissions, getTablePrefix, getTargetDialect, getTargetDialect, getTargetPlatform, getTargetPlatform, getTemplateNumberPrecisionSpec, getTriggerTemplate, getVersion, initTablesAndDatabaseObjects, insertWithGeneratedKey, insertWithGeneratedKey, install, installed, isBlobSyncSupported, isClobSyncSupported, isInitialLoadTwoPassLob, isTransactionIdOverrideSupported, logSql, massageDataExtractionSql, massageForLob, merge, needsToSelectLobData, orderColumns, postCreateDdlTrigger, postCreateTrigger, prefixConfigDatabase, preProcessTriggerSqlClause, readDatabaseFromXml, readSymmetricSchemaFromDatabase, readSymmetricSchemaFromXml, removeTrigger, replaceTokens, setExtensionService, setTargetDialect, supportsBatchUpdates, supportsDdlTriggers, supportsOpenCursorsAcrossCommit, supportsSubselectsInDelete, supportsSubselectsInUpdate, switchCatalogForTriggerInstall, truncateTable, uninstall, uninstall, verifyDatabaseIsCompatible
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, createOrAlterTablesIfNecessary, createPurgeSqlFor, createPurgeSqlFor, createPurgeSqlFor, createPurgeSqlForMultipleTables, createRequiredDatabaseObjects, createTrigger, createTrigger, disableSyncTriggers, doesTriggerExist, dropTablesAndDatabaseObjects, escapesTemplatesForDatabaseInserts, getColumnPositionUsingTemplate, getCreateRequiredDatabaseObjectsDDL, getCreateSymmetricDDL, getDatabaseTime, getDatabaseTimeSQL, getDataHasChangedCondition, getDriverName, getDriverVersion, getEngineName, getInitialLoadTableAlias, getInitialLoadTwoPassLobSql, getMajorVersion, getMasterCollation, getMaxTriggerNameLength, getMinorVersion, getName, getParameterService, getPlatform, getProductVersion, getSequenceKeyName, getSequenceName, getSourceNodeExpression, getSqlKeywords, getSqlReplacementTokens, getSymmetricDdlChanges, getSymTablePermissions, getTablePrefix, getTargetDialect, getTargetDialect, getTargetPlatform, getTargetPlatform, getTemplateNumberPrecisionSpec, getTriggerTemplate, getVersion, initTablesAndDatabaseObjects, insertWithGeneratedKey, insertWithGeneratedKey, isBlobSyncSupported, isClobSyncSupported, isInitialLoadTwoPassLob, isTransactionIdOverrideSupported, massageDataExtractionSql, massageForLob, needsToSelectLobData, orderColumns, preProcessTriggerSqlClause, readSymmetricSchemaFromXml, removeTrigger, setExtensionService, setTargetDialect, supportsBatchUpdates, supportsDdlTriggers, supportsOpenCursorsAcrossCommit, supportsSubselectsInDelete, supportsSubselectsInUpdate, truncateTable, verifyDatabaseIsCompatible
-
Constructor Details
-
PostgreSqlSymmetricDialect
-
-
Method Details
-
createRequiredDatabaseObjectsImpl
- Overrides:
createRequiredDatabaseObjectsImpl
in classAbstractSymmetricDialect
-
dropRequiredDatabaseObjects
public void dropRequiredDatabaseObjects()- Specified by:
dropRequiredDatabaseObjects
in interfaceISymmetricDialect
- Specified by:
dropRequiredDatabaseObjects
in classAbstractSymmetricDialect
-
requiresAutoCommitFalseToSetFetchSize
public boolean requiresAutoCommitFalseToSetFetchSize()- Overrides:
requiresAutoCommitFalseToSetFetchSize
in classAbstractSymmetricDialect
-
doesTriggerExistOnPlatform
protected boolean doesTriggerExistOnPlatform(StringBuilder sqlBuffer, String catalogName, String schema, String tableName, String triggerName) - Specified by:
doesTriggerExistOnPlatform
in classAbstractSymmetricDialect
-
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
-
doesDdlTriggerExist
- Specified by:
doesDdlTriggerExist
in interfaceISymmetricDialect
- Overrides:
doesDdlTriggerExist
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
-
getTransactionId
- Specified by:
getTransactionId
in interfaceISymmetricDialect
- Overrides:
getTransactionId
in classAbstractSymmetricDialect
-
supportsTransactionId
public boolean supportsTransactionId()- Specified by:
supportsTransactionId
in interfaceISymmetricDialect
- Overrides:
supportsTransactionId
in classAbstractSymmetricDialect
-
getEarliestTransactionStartTime
- Specified by:
getEarliestTransactionStartTime
in interfaceISymmetricDialect
- Overrides:
getEarliestTransactionStartTime
in classAbstractSymmetricDialect
-
supportsTransactionViews
public boolean supportsTransactionViews()- Specified by:
supportsTransactionViews
in interfaceISymmetricDialect
- Overrides:
supportsTransactionViews
in classAbstractSymmetricDialect
-
cleanDatabase
public void cleanDatabase()- Specified by:
cleanDatabase
in interfaceISymmetricDialect
-
getBinaryEncoding
- Specified by:
getBinaryEncoding
in interfaceISymmetricDialect
- Specified by:
getBinaryEncoding
in classAbstractSymmetricDialect
-
getSqlTypeForIds
public int getSqlTypeForIds()- Specified by:
getSqlTypeForIds
in interfaceISymmetricDialect
- Overrides:
getSqlTypeForIds
in classAbstractSymmetricDialect
-
getDbSpecificDataHasChangedCondition
- Overrides:
getDbSpecificDataHasChangedCondition
in classAbstractSymmetricDialect
-
getCurrentSequenceValue
- Specified by:
getCurrentSequenceValue
in interfaceISymmetricDialect
- Overrides:
getCurrentSequenceValue
in classAbstractSymmetricDialect
-