Class PostgreSqlDatabasePlatform
java.lang.Object
org.jumpmind.db.platform.AbstractDatabasePlatform
org.jumpmind.db.platform.AbstractJdbcDatabasePlatform
org.jumpmind.db.platform.postgresql.PostgreSqlDatabasePlatform
- All Implemented Interfaces:
IDatabasePlatform
- Direct Known Subclasses:
GreenplumPlatform
,PostgreSql95DatabasePlatform
-
Field Summary
FieldsFields inherited from class org.jumpmind.db.platform.AbstractJdbcDatabasePlatform
dataSource, sqlTemplate, sqlTemplateDirty
Fields inherited from class org.jumpmind.db.platform.AbstractDatabasePlatform
clearCacheModelTimeoutInMs, databaseVersion, ddlBuilder, ddlReader, defaultCatalog, defaultSchema, log, metadataIgnoreCase, MODEL_DEFAULT_NAME, PERMISSION_TEST_TABLE_NAME, REQUIRED_FIELD_NULL_SUBSTITUTE, settings, sourceNodeId, storesLowerCaseIdentifiers, storesMixedCaseIdentifiers, storesUpperCaseIdentifiers, supportsMultiThreadedTransactions, supportsTransactions, supportsTruncate, tableCache, useMultiThreadSyncTriggers, ZERO_DATE_STRING
-
Constructor Summary
ConstructorsConstructorDescriptionPostgreSqlDatabasePlatform
(DataSource dataSource, SqlTemplateSettings settings) -
Method Summary
Modifier and TypeMethodDescriptionboolean
canColumnBeUsedInWhereClause
(Column column) protected String
protected Array
createArray
(Column column, String value) protected PostgreSqlDdlBuilder
protected PostgreSqlDdlReader
protected PostgreSqlJdbcSqlTemplate
protected PostgreSqlJdbcSqlTemplate
protected String
getDateTimeStringValue
(String name, int type, Row row, boolean useVariableDates) getDeleteSql
(Table table) long
getEstimatedRowCount
(Table table) getName()
Object[]
getObjectValues
(BinaryEncoding encoding, String[] values, Column[] orderedMetaData, boolean useVariableDates, boolean fitToColumn) getSliceTableSql
(String columnName, int sliceNum, int totalSlices) protected String
getTimestampStringValue
(String name, int type, Row row, boolean useVariableDates) protected String
getTimestampTzStringValue
(String name, int type, Row row, boolean useVariableDates) getTruncateSql
(Table table) protected static boolean
isBlobStoredByReference
(String jdbcTypeName) massageForLimitOffset
(String sql, int limit, int offset) protected String
massageInfinityDate
(String date) protected static SqlTemplateSettings
overrideSettings
(SqlTemplateSettings settings) boolean
boolean
Methods inherited from class org.jumpmind.db.platform.AbstractJdbcDatabasePlatform
getDataSource, getSqlTemplate, getSqlTemplateDirty, resetDataSource
Methods inherited from class org.jumpmind.db.platform.AbstractDatabasePlatform
allowsUniqueIndexDuplicatesWithNulls, alterCaseToMatchDatabaseDefaultCase, alterCaseToMatchDatabaseDefaultCase, alterCaseToMatchDatabaseDefaultCase, alterCaseToMatchDatabaseDefaultCase, alterCaseToMatchDatabaseDefaultCase, alterDatabase, alterDatabase, alterTables, alterTables, appendString, checkSymTablePermissions, cleanNumber, createDatabase, createDmlStatement, createDmlStatement, createDmlStatement, createDmlStatement, createTables, dropDatabase, dropTables, getAlterSymTablePermission, getClearCacheModelTimeoutInMs, getCreateSymFunctionPermission, getCreateSymRoutinePermission, getCreateSymTablePermission, getCsvStringValue, getDatabaseInfo, getDatabaseVersion, getDdlBuilder, getDdlReader, getDropSymTablePermission, getExecuteSymPermission, getLobColumns, getObjectValue, getObjectValues, getObjectValues, getObjectValues, getPermissionTableDefinition, getSqlScriptReplacementTokens, getStringValues, getTableFromCache, getTableFromCache, getTimeZone, hasMatchingPlatform, isBlob, isClob, isLob, isMetadataIgnoreCase, isStoresLowerCaseIdentifiers, isStoresMixedCaseQuotedIdentifiers, isStoresUpperCaseIdentifiers, isUseMultiThreadSyncTriggers, logFailedResults, makeAllColumnsPrimaryKeys, makePlatformSpecific, massageForObjectDoesNotExist, parseBigDecimal, parseBigInteger, parseBoolean, parseDate, parseFloat, parseInteger, parseQualifiedTableName, parseTimestamp, prefixColumnNames, prefixDatabase, prefixForeignKeys, prefixIndexes, readDatabase, readDatabaseFromXml, readDatabaseFromXml, readFromDatabase, readTableFromDatabase, readTableFromDatabase, readTableFromDatabaseAllowException, resetCachedTableModel, scrubSql, setClearCacheModelTimeoutInMs, setDatabaseVersion, setMetadataIgnoreCase, supportsMultiThreadedTransactions, supportsParametersInSelect, supportsTransactions
-
Field Details
-
JDBC_DRIVER
- See Also:
-
JDBC_SUBPROTOCOL
- See Also:
-
-
Constructor Details
-
PostgreSqlDatabasePlatform
-
-
Method Details
-
overrideSettings
-
isBlobStoredByReference
-
createDdlBuilder
- Specified by:
createDdlBuilder
in classAbstractJdbcDatabasePlatform
-
createDdlReader
- Specified by:
createDdlReader
in classAbstractJdbcDatabasePlatform
-
createSqlTemplate
- Overrides:
createSqlTemplate
in classAbstractJdbcDatabasePlatform
-
createSqlTemplateDirty
- Overrides:
createSqlTemplateDirty
in classAbstractJdbcDatabasePlatform
-
getName
- Returns:
- a constant that represents this database type from
DatabaseNamesConstants
- See Also:
-
getDefaultSchema
-
getDefaultCatalog
-
createArray
- Overrides:
createArray
in classAbstractDatabasePlatform
-
cleanTextForTextBasedColumns
- Overrides:
cleanTextForTextBasedColumns
in classAbstractDatabasePlatform
-
getObjectValues
public Object[] getObjectValues(BinaryEncoding encoding, String[] values, Column[] orderedMetaData, boolean useVariableDates, boolean fitToColumn) - Specified by:
getObjectValues
in interfaceIDatabasePlatform
- Overrides:
getObjectValues
in classAbstractDatabasePlatform
-
getCreateSymTriggerPermission
- Overrides:
getCreateSymTriggerPermission
in classAbstractDatabasePlatform
-
getDropSymTriggerPermission
- Overrides:
getDropSymTriggerPermission
in classAbstractDatabasePlatform
-
getLogMinePermission
- Specified by:
getLogMinePermission
in interfaceIDatabasePlatform
- Overrides:
getLogMinePermission
in classAbstractDatabasePlatform
-
getEstimatedRowCount
- Specified by:
getEstimatedRowCount
in interfaceIDatabasePlatform
- Overrides:
getEstimatedRowCount
in classAbstractDatabasePlatform
-
getTruncateSql
- Specified by:
getTruncateSql
in interfaceIDatabasePlatform
- Overrides:
getTruncateSql
in classAbstractDatabasePlatform
-
getDeleteSql
- Specified by:
getDeleteSql
in interfaceIDatabasePlatform
- Overrides:
getDeleteSql
in classAbstractDatabasePlatform
-
getTransactions
- Specified by:
getTransactions
in interfaceIDatabasePlatform
- Overrides:
getTransactions
in classAbstractDatabasePlatform
-
supportsLimitOffset
public boolean supportsLimitOffset()- Specified by:
supportsLimitOffset
in interfaceIDatabasePlatform
- Overrides:
supportsLimitOffset
in classAbstractDatabasePlatform
-
massageForLimitOffset
- Specified by:
massageForLimitOffset
in interfaceIDatabasePlatform
- Overrides:
massageForLimitOffset
in classAbstractDatabasePlatform
-
massageForObjectAlreadyExists
- Specified by:
massageForObjectAlreadyExists
in interfaceIDatabasePlatform
- Overrides:
massageForObjectAlreadyExists
in classAbstractDatabasePlatform
-
supportsSliceTables
public boolean supportsSliceTables()- Specified by:
supportsSliceTables
in interfaceIDatabasePlatform
- Overrides:
supportsSliceTables
in classAbstractDatabasePlatform
-
getSliceTableSql
- Specified by:
getSliceTableSql
in interfaceIDatabasePlatform
- Overrides:
getSliceTableSql
in classAbstractDatabasePlatform
-
canColumnBeUsedInWhereClause
- Specified by:
canColumnBeUsedInWhereClause
in interfaceIDatabasePlatform
- Overrides:
canColumnBeUsedInWhereClause
in classAbstractDatabasePlatform
-
getCharSetName
- Specified by:
getCharSetName
in interfaceIDatabasePlatform
- Overrides:
getCharSetName
in classAbstractDatabasePlatform
-
getDateTimeStringValue
- Overrides:
getDateTimeStringValue
in classAbstractDatabasePlatform
-
getTimestampStringValue
- Overrides:
getTimestampStringValue
in classAbstractDatabasePlatform
-
getTimestampTzStringValue
protected String getTimestampTzStringValue(String name, int type, Row row, boolean useVariableDates) - Overrides:
getTimestampTzStringValue
in classAbstractDatabasePlatform
-
massageInfinityDate
-