palio.connectors.schema.generators
Class AbstractSQLGenerator
java.lang.Object
palio.connectors.schema.generators.AbstractSQLGenerator
- Direct Known Subclasses:
- DB2SQLGenerator, DeprecatedPostgreSQLGenerator, HSQLDBGenerator, MSSQL2kGenerator, MySQLGenerator, OracleSQLGenerator, PostgreSQLGenerator, SybaseSQLGenerator
public abstract class AbstractSQLGenerator
- extends java.lang.Object
- Author:
- Szymon Kuklewicz, Damian Turczyński
Method Summary |
abstract void |
alterTableAddColumn(SQLBatch sqls,
java.lang.String table,
java.lang.String column,
TableColumnDataType dataType,
java.lang.Object defaultValue,
boolean notNull)
|
void |
alterTableAddForeignKey(SQLBatch sqls,
java.lang.String table,
java.lang.String constraintName,
java.lang.String columns,
java.lang.String references)
|
abstract void |
alterTableAddKey(SQLBatch sqls,
java.lang.String table,
ConstraintType constraintType,
java.lang.String constraintName,
java.lang.String columns,
java.lang.String additional)
|
void |
alterTableAddPrimaryKey(SQLBatch sqls,
java.lang.String table,
java.lang.String constraintName,
java.lang.String columns)
|
void |
alterTableAddUniqueKey(SQLBatch sqls,
java.lang.String table,
java.lang.String constraintName,
java.lang.String columns)
|
abstract void |
alterTableAlterColumn(SQLBatch sqls,
java.lang.String table,
java.lang.String column,
TableColumnDataType dataType,
java.lang.Object defaultValue,
boolean changeNotNull,
boolean shouldBeNotNull)
Parameter notNull may be null if state of "not null constraint" is not to be changed |
void |
alterTableDropColumn(SQLBatch sqls,
java.lang.String table,
java.lang.String column)
|
void |
alterTableDropForeignKey(SQLBatch sqls,
java.lang.String table,
java.lang.String constraintName)
|
abstract void |
alterTableDropKey(SQLBatch sqls,
java.lang.String table,
ConstraintType constraintType,
java.lang.String constraintName)
|
void |
alterTableDropPrimaryKey(SQLBatch sqls,
java.lang.String table,
java.lang.String constraintName)
|
void |
alterTableDropUniqueKey(SQLBatch sqls,
java.lang.String table,
java.lang.String constraintName)
|
abstract void |
alterTableSetNotNull(SQLBatch sqls,
java.lang.String table,
java.lang.String column,
TableColumnDataType currentDataType,
java.lang.Object currentDefaultValue,
boolean notNull)
Some databases require repeating of column data type where some don't so user should not expect that this operation may change column data type as well. |
boolean |
areConstraintsViolateColumnDataTypeChange()
Note! |
void |
createIndex(SQLBatch sqls,
java.lang.String name,
java.lang.String tableName,
java.lang.String columns)
|
abstract void |
createSequence(SQLBatch sqls,
java.lang.String name)
|
abstract void |
createTable(SQLBatch sqls,
Table table)
|
void |
dropIndex(SQLBatch sqls,
java.lang.String name,
java.lang.String tableName,
java.lang.String columns)
|
abstract void |
dropSequence(SQLBatch sqls,
java.lang.String sequenceToDrop)
|
abstract void |
dropTable(SQLBatch sqls,
java.lang.String tableToDrop)
|
DatabaseSchema |
scanDatabase(SQLConnector connector,
SQLScannerFilter filter)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractSQLGenerator
public AbstractSQLGenerator()
areConstraintsViolateColumnDataTypeChange
public boolean areConstraintsViolateColumnDataTypeChange()
- Note! Implementations should not create indexes for foreign keys as there are automatically created outside createTable routime.
createTable
public abstract void createTable(SQLBatch sqls,
Table table)
createSequence
public abstract void createSequence(SQLBatch sqls,
java.lang.String name)
alterTableAddKey
public abstract void alterTableAddKey(SQLBatch sqls,
java.lang.String table,
ConstraintType constraintType,
java.lang.String constraintName,
java.lang.String columns,
java.lang.String additional)
alterTableAddColumn
public abstract void alterTableAddColumn(SQLBatch sqls,
java.lang.String table,
java.lang.String column,
TableColumnDataType dataType,
java.lang.Object defaultValue,
boolean notNull)
alterTableAlterColumn
public abstract void alterTableAlterColumn(SQLBatch sqls,
java.lang.String table,
java.lang.String column,
TableColumnDataType dataType,
java.lang.Object defaultValue,
boolean changeNotNull,
boolean shouldBeNotNull)
- Parameter notNull may be null if state of "not null constraint" is not to be changed
alterTableSetNotNull
public abstract void alterTableSetNotNull(SQLBatch sqls,
java.lang.String table,
java.lang.String column,
TableColumnDataType currentDataType,
java.lang.Object currentDefaultValue,
boolean notNull)
- Some databases require repeating of column data type where some don't so user should not expect that this operation may change column data type as well.
alterTableDropKey
public abstract void alterTableDropKey(SQLBatch sqls,
java.lang.String table,
ConstraintType constraintType,
java.lang.String constraintName)
dropTable
public abstract void dropTable(SQLBatch sqls,
java.lang.String tableToDrop)
dropSequence
public abstract void dropSequence(SQLBatch sqls,
java.lang.String sequenceToDrop)
alterTableDropForeignKey
public void alterTableDropForeignKey(SQLBatch sqls,
java.lang.String table,
java.lang.String constraintName)
alterTableDropPrimaryKey
public void alterTableDropPrimaryKey(SQLBatch sqls,
java.lang.String table,
java.lang.String constraintName)
alterTableDropUniqueKey
public void alterTableDropUniqueKey(SQLBatch sqls,
java.lang.String table,
java.lang.String constraintName)
alterTableDropColumn
public void alterTableDropColumn(SQLBatch sqls,
java.lang.String table,
java.lang.String column)
alterTableAddForeignKey
public void alterTableAddForeignKey(SQLBatch sqls,
java.lang.String table,
java.lang.String constraintName,
java.lang.String columns,
java.lang.String references)
alterTableAddUniqueKey
public void alterTableAddUniqueKey(SQLBatch sqls,
java.lang.String table,
java.lang.String constraintName,
java.lang.String columns)
alterTableAddPrimaryKey
public void alterTableAddPrimaryKey(SQLBatch sqls,
java.lang.String table,
java.lang.String constraintName,
java.lang.String columns)
createIndex
public void createIndex(SQLBatch sqls,
java.lang.String name,
java.lang.String tableName,
java.lang.String columns)
dropIndex
public void dropIndex(SQLBatch sqls,
java.lang.String name,
java.lang.String tableName,
java.lang.String columns)
scanDatabase
public DatabaseSchema scanDatabase(SQLConnector connector,
SQLScannerFilter filter)
throws palio.PalioException
- Throws:
palio.PalioException