Class PostgresPlatform
- java.lang.Object
-
- io.ebean.config.dbplatform.DatabasePlatform
-
- io.ebean.config.dbplatform.postgres.PostgresPlatform
-
- Direct Known Subclasses:
CockroachPlatform
,Postgres9Platform
public class PostgresPlatform extends io.ebean.config.dbplatform.DatabasePlatform
Postgres 10+ platform.Defaults to use "generated by default as identity".
-
-
Constructor Summary
Constructors Constructor Description PostgresPlatform()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.ebean.config.dbplatform.PlatformIdGenerator
createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int stepSize, String seqName)
Create a Postgres specific sequence IdGenerator.boolean
isNativeArrayType()
So we can generate varchar[], int[], uuid[] column definitions and use the associated scalar types.String
tablePartitionInit(String tableName, io.ebean.annotation.PartitionMode mode, String property, String pkey)
Return SQL using built in partition helper functions to create some initial partitions.boolean
tablePartitionsExist(Connection connection, String table)
Return true if partitions exist for the given table.-
Methods inherited from class io.ebean.config.dbplatform.DatabasePlatform
completeSql, configure, convertQuotedIdentifiers, createSchemaIfNotExists, escapeLikeString, fromForUpdate, getBasicSqlLimiter, getBlobDbType, getBooleanDbType, getClobDbType, getCloseQuote, getColumnAliasPrefix, getDbDefaultValue, getDbEncrypt, getDbIdentity, getDbTypeMap, getHistorySupport, getLikeClause, getMaxConstraintNameLength, getMaxTableNameLength, getName, getOnQueryOnly, getOpenQuote, getPersistBatchOnCascade, getPlatform, getSqlLimiter, isCaseSensitiveCollation, isDdlAutoCommit, isForwardOnlyHintOnFindIterate, isIdInExpandedForm, isInlineSqlUpdateLimit, isNativeUuidType, isPlatform, isSelectCountWithAlias, isSelectCountWithColumnAlias, isSequenceBatchMode, isSupportsDeleteTableAlias, isSupportsNativeIlike, isSupportsResultSetConcurrencyModeUpdatable, isSupportsSavepointId, isTreatEmptyStringsAsNull, schemaExists, setColumnAliasPrefix, setDbEncrypt, setDbFalseLiteral, setDbTrueLiteral, setForwardOnlyHintOnFindIterate, setHistorySupport, setOnQueryOnly, setSequenceBatchMode, setSupportsResultSetConcurrencyModeUpdatable, tableExists, translate, truncateStatement, unQuote, useExtraTransactionOnIterateSecondaryQueries
-
-
-
-
Constructor Detail
-
PostgresPlatform
public PostgresPlatform()
-
-
Method Detail
-
isNativeArrayType
public boolean isNativeArrayType()
So we can generate varchar[], int[], uuid[] column definitions and use the associated scalar types.- Overrides:
isNativeArrayType
in classio.ebean.config.dbplatform.DatabasePlatform
-
createSequenceIdGenerator
public io.ebean.config.dbplatform.PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, int stepSize, String seqName)
Create a Postgres specific sequence IdGenerator.- Overrides:
createSequenceIdGenerator
in classio.ebean.config.dbplatform.DatabasePlatform
- Parameters:
be
- the BackgroundExecutor that can be used to load the sequence if desiredds
- the DataSourcestepSize
- the sequence allocation size as defined by mapping (defaults to 50)seqName
- the name of the sequence
-
tablePartitionsExist
public boolean tablePartitionsExist(Connection connection, String table) throws SQLException
Description copied from class:io.ebean.config.dbplatform.DatabasePlatform
Return true if partitions exist for the given table.- Overrides:
tablePartitionsExist
in classio.ebean.config.dbplatform.DatabasePlatform
- Throws:
SQLException
-
tablePartitionInit
public String tablePartitionInit(String tableName, io.ebean.annotation.PartitionMode mode, String property, String pkey)
Return SQL using built in partition helper functions to create some initial partitions.Only use this if extra-ddl doesn't have some initial partitions defined (which it should).
- Overrides:
tablePartitionInit
in classio.ebean.config.dbplatform.DatabasePlatform
-
-