@Internal
public interface DbmsBean
Modifier and Type | Interface and Description |
---|---|
static class |
DbmsBean.ColumnDefinition |
static class |
DbmsBean.ConstraintDefinition |
Modifier and Type | Method and Description |
---|---|
void |
addColumn(Connection c,
String tableName,
String columnName,
int columnType,
Integer columnSize)
Add a column to a table.
|
void |
changeColumnToNotNull(Connection c,
String tableName,
String columnName)
Changes column to not null, unless it's already not null.
|
void |
changeColumnType(Connection c,
String table,
String column,
int type,
Integer columnSize,
boolean isNullable)
Changes column type to the new type (see
Types . |
void |
changeTableNameToUpperCase(Connection connection,
String oldName)
Rename table from lower case to upper case.
|
void |
createIndex(Connection c,
String index,
String table,
String column) |
void |
createUniqueConstraint(Connection c,
String uniqueKey,
String table,
String column)
Create unique key
|
boolean |
dropColumn(Connection connection,
String tableName,
String columnName)
Checks whether given table contains the specified column and drops it
Checks whether given table contains the specified column and drops it, as well as foreign key constraints and index on the column.
|
void |
dropConstraint(Connection c,
String tableName,
String constraint)
Drop constraint
|
void |
dropForeignKeyConstraint(Connection c,
String tableName,
String foreignKey) |
void |
dropIndex(Connection c,
String table,
String index) |
boolean |
dropIndexIfExists(Connection c,
String table,
String index) |
void |
dropPrimaryKey(Connection connection,
String tableName)
Drops the primary key on a table.
|
void |
dropTable(Connection c,
String tableName)
Drop table.
|
default String |
getCatalog(Connection c) |
List<DbmsBean.ColumnDefinition> |
getColumns(Connection c,
String table,
String column) |
String |
getConcat(String... values)
Provide a different SQL concatenation operator depending on SQL engine used.
|
Collection<DbmsBean.ConstraintDefinition> |
getConstraints(Connection connection,
String table,
String column)
Fetch information about constraints
|
DatabaseType |
getDatabaseType()
Detect used database type
|
List<String> |
getIndexNames(Connection c,
String table,
String column)
Returns indices set up on a given table, optionally narrowed down to a column.
|
String |
getQuery(SqlQueryProvider sqlQueryProvider)
Provide a different SQL query depending on SQL engine used.
|
String |
getSchema(Connection c)
Schema name, retrieved from connection or cache
|
boolean |
isColumnPresent(Connection connection,
String tableName,
String columnName)
Checks whether given table contains the specified column.
|
boolean |
isColumnPresent(Statement statement,
String tableName,
String columnName)
Checks whether given table contains the specified column.
|
boolean |
isHsqldb() |
boolean |
isMsSqlServer() |
boolean |
isMySql() |
boolean |
isOracle() |
boolean |
isPostgreSql() |
boolean |
isTablePresent(Connection connection,
String tableName)
Checks whether given table is present in the database
|
void |
migrateColumnType(Connection c,
String table,
String column,
int columnType,
Integer columnSize)
Changes column type to the new type (see
Types . |
PreparedStatement |
prepareStatement(Connection connection,
PreparedStatementProvider preparedStatementProvider)
Provide a different
PreparedStatement depending on SQL engine used. |
void |
renameColumn(Connection c,
String tableName,
String oldName,
String newName)
Rename columns.
|
void |
resizeVarcharColumn(Connection connection,
String tableName,
String columnName,
int newSize,
boolean isNullable,
String defaultValue) |
@NotNull String getQuery(@NotNull SqlQueryProvider sqlQueryProvider)
sqlQueryProvider
- @NotNull String getConcat(String... values)
values
- the values to concatenate.@NotNull Collection<DbmsBean.ConstraintDefinition> getConstraints(Connection connection, String table, @Nullable String column) throws SQLException
SQLException
List<String> getIndexNames(Connection c, String table, String column) throws SQLException
SQLException
@NotNull PreparedStatement prepareStatement(@NotNull Connection connection, @NotNull PreparedStatementProvider preparedStatementProvider) throws SQLException
PreparedStatement
depending on SQL engine used.connection
- preparedStatementProvider
- SQLException
boolean isColumnPresent(@NotNull Connection connection, @NotNull String tableName, @NotNull String columnName) throws SQLException
connection
- tableName
- columnName
- SQLException
boolean isColumnPresent(@NotNull Statement statement, @NotNull String tableName, @NotNull String columnName) throws SQLException
statement
- tableName
- columnName
- SQLException
boolean dropColumn(@NotNull Connection connection, @NotNull String tableName, @NotNull String columnName) throws SQLException
connection
- tableName
- columnName
- SQLException
void migrateColumnType(Connection c, String table, String column, int columnType, @Nullable Integer columnSize) throws SQLException
Types
. Uses rename + add + copy + drop for maximum compatibility.SQLException
void changeColumnType(Connection c, String table, String column, int type, @Nullable Integer columnSize, boolean isNullable) throws SQLException
Types
. Uses alter table, so won't cope with all type conversions.SQLException
void dropIndex(Connection c, String table, String index) throws SQLException
SQLException
boolean dropIndexIfExists(Connection c, String table, String index) throws SQLException
SQLException
void createIndex(Connection c, String index, String table, String column) throws SQLException
SQLException
void createUniqueConstraint(Connection c, String uniqueKey, String table, String column) throws SQLException
SQLException
- if the operation fails (ie. key exists or data in the column is not unique)boolean isTablePresent(@NotNull Connection connection, @NotNull String tableName) throws SQLException
connection
- connection used to verify DB table existencetableName
- name of DB tableSQLException
- if a database error occurs or connection is closedvoid resizeVarcharColumn(@NotNull Connection connection, String tableName, String columnName, int newSize, boolean isNullable, @Nullable String defaultValue) throws SQLException
SQLException
boolean isMySql()
boolean isOracle()
@Nullable String getSchema(Connection c) throws SQLException
SQLException
@Nullable default String getCatalog(Connection c) throws SQLException
SQLException
boolean isHsqldb()
boolean isPostgreSql()
boolean isMsSqlServer()
DatabaseType getDatabaseType()
void dropPrimaryKey(Connection connection, String tableName) throws SQLException
SQLException
void changeTableNameToUpperCase(Connection connection, String oldName) throws SQLException
SQLException
void renameColumn(Connection c, String tableName, String oldName, String newName) throws SQLException
SQLException
void addColumn(Connection c, String tableName, String columnName, int columnType, @Nullable Integer columnSize) throws SQLException
SQLException
void dropConstraint(Connection c, String tableName, String constraint) throws SQLException
SQLException
- if constraint does not existvoid dropForeignKeyConstraint(Connection c, String tableName, String foreignKey) throws SQLException
SQLException
void changeColumnToNotNull(Connection c, String tableName, String columnName) throws SQLException
SQLException
List<DbmsBean.ColumnDefinition> getColumns(Connection c, @NotNull String table, @Nullable String column) throws SQLException
SQLException
void dropTable(Connection c, String tableName) throws SQLException
SQLException
Copyright © 2017 Atlassian Software Systems Pty Ltd. All rights reserved.