Package com.atlassian.bamboo.utils.db
Class H2DbmsBean
java.lang.Object
com.atlassian.bamboo.utils.db.AbstractDbmsBean
com.atlassian.bamboo.utils.db.H2DbmsBean
- All Implemented Interfaces:
BambooDatabaseTypeProvider,DbmsBean
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.atlassian.bamboo.utils.db.DbmsBean
DbmsBean.ColumnDefinition, DbmsBean.ConstraintDefinition, DbmsBean.IndexDefinition -
Field Summary
Fields inherited from class com.atlassian.bamboo.utils.db.AbstractDbmsBean
LARGE_STRING_TYPE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddropIndex(Connection c, String table, String index) voiddropPrimaryKey(Connection connection, String tableName) Drops the primary key on a table.@NotNull StringProvide a different SQL concatenation operator depending on SQL engine used.@NotNull Collection<DbmsBean.ConstraintDefinition> getConstraints(Connection connection, String table, @Nullable String column) Fetch information about constraintsgetConstraintType(String typeName) Detect used database typegetIndices(@NotNull Connection c, @NotNull String table) @NotNull StringgetQuery(@NotNull SqlQueryProvider sqlQueryProvider) Provide a different SQL query depending on SQL engine used.protected voidhandleException(@NotNull Connection connection, @NotNull String table, @NotNull SQLException e, BambooRunnables.Throwing<SQLException> command) Attempts to handle an SQL exception, performingcommandafter properly fixing the state of the database if the cause of the problem is known.booleanisH2()voidrenameColumn(Connection c, String tableName, String oldName, String newName) Rename columns.voidresizeVarcharColumn(@NotNull Connection connection, String tableName, String columnName, int newSize, boolean isNullable, @Nullable String defaultValue) Methods inherited from class com.atlassian.bamboo.utils.db.AbstractDbmsBean
actuallyChangeColumnToNotNull, addColumn, changeColumnDefinition, changeColumnToNotNull, changeColumnType, changeTableNameToUpperCase, clobEquals, createColumn, createIndex, createPrimaryKey, createUniqueConstraint, dropColumn, dropConstraint, dropConstraints, dropForeignKeyConstraint, dropIndexIfExists, dropTable, getColumnDefinition, getColumnDefinitionString, getColumns, getConstraintDefinitions, getIndexNames, getLargeTextTypeName, getSchema, getSchemaUncached, getSqlTypeName, getTables, hasIndexOnColumns, isColumnPresent, isColumnPresent, isColumnPresent, isMsSqlServer, isMySql, isOracle, isPostgreSql, isTable, isTablePresent, migrateColumnType, newColumnDefinition, quote, quoteIfNeeded, toLowerCase, unquoteIfNeededMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.atlassian.bamboo.utils.db.DbmsBean
getCatalog
-
Constructor Details
-
H2DbmsBean
public H2DbmsBean()
-
-
Method Details
-
getQuery
Description copied from interface:DbmsBeanProvide a different SQL query depending on SQL engine used.- Parameters:
sqlQueryProvider-- Returns:
-
getConcat
Description copied from interface:DbmsBeanProvide a different SQL concatenation operator depending on SQL engine used.- Parameters:
values- the values to concatenate.- Returns:
- the concatenation SQL to append to a query.
-
getConstraints
@NotNull public @NotNull Collection<DbmsBean.ConstraintDefinition> getConstraints(Connection connection, String table, @Nullable @Nullable String column) throws SQLException Description copied from interface:DbmsBeanFetch information about constraints- Throws:
SQLException
-
getConstraintType
- Overrides:
getConstraintTypein classAbstractDbmsBean
-
resizeVarcharColumn
public void resizeVarcharColumn(@NotNull @NotNull Connection connection, String tableName, String columnName, int newSize, boolean isNullable, @Nullable @Nullable String defaultValue) throws SQLException - Throws:
SQLException
-
getDatabaseType
Description copied from interface:BambooDatabaseTypeProviderDetect used database type- Returns:
- database type
-
isH2
public boolean isH2()- Specified by:
isH2in interfaceDbmsBean- Overrides:
isH2in classAbstractDbmsBean- Returns:
- true if db configured in Hibernate is H2
-
dropPrimaryKey
Description copied from interface:DbmsBeanDrops the primary key on a table.- Throws:
SQLException
-
renameColumn
public void renameColumn(Connection c, String tableName, String oldName, String newName) throws SQLException Description copied from interface:DbmsBeanRename columns.- Specified by:
renameColumnin interfaceDbmsBean- Specified by:
renameColumnin classAbstractDbmsBean- Throws:
SQLException
-
dropIndex
- Specified by:
dropIndexin interfaceDbmsBean- Overrides:
dropIndexin classAbstractDbmsBean- Throws:
SQLException
-
handleException
protected void handleException(@NotNull @NotNull Connection connection, @NotNull @NotNull String table, @NotNull @NotNull SQLException e, @NotNull BambooRunnables.Throwing<SQLException> command) throws SQLException Attempts to handle an SQL exception, performingcommandafter properly fixing the state of the database if the cause of the problem is known. Re-throws the exception if the cause is unknown.- Parameters:
connection- database connectiontable- table to which the problem is relatede- exception throwncommand- command to execute after properly addressing the issue- Throws:
SQLException- if thrown bycommand, or if exception could not be handled andeis rethrown
-
getIndices
public Collection<DbmsBean.IndexDefinition> getIndices(@NotNull @NotNull Connection c, @NotNull @NotNull String table) throws SQLException - Specified by:
getIndicesin interfaceDbmsBean- Overrides:
getIndicesin classAbstractDbmsBean- Throws:
SQLException
-