|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.clazzes.jdbc2xml.schema.SchemaEngine
org.clazzes.jdbc2xml.schema.impl.SchemaEngineImpl
public class SchemaEngineImpl
The default implementation of the schema engine.
| Constructor Summary | |
|---|---|
SchemaEngineImpl()
Default constructor. |
|
| Method Summary | |
|---|---|
TableInfo |
addColumn(TableInfo ti,
ColumnInfo columnInfo)
Add a column to an existing table. |
TableInfo |
addForeignKey(TableInfo ti,
ForeignKeyInfo foreignKeyInfo)
Add a foreign key to an existing table. |
TableInfo |
addIndex(TableInfo ti,
IndexInfo indexInfo)
Add an index to an existing table. |
TableInfo |
changeColumn(TableInfo ti,
java.lang.String oldColumnName,
ColumnInfo columnInfo)
Rename an existing column of an existing table and possibly change it's type. |
void |
commit()
Perform all pending schema modifications and discard the rollback history. |
void |
createForeignKeys(TableInfo ti)
Create foreign keys of an existing table in the database. |
void |
createIndices(TableInfo ti)
Calls addIndex for each index |
java.sql.PreparedStatement |
createInsertStatement(TableInfo ti)
Create an insert statement for all column in the given table. |
void |
createTable(TableInfo ti,
boolean addForeignKeys)
Create a table in the database, including primary key and indices (which must have been added already). |
TableInfo |
dropColumn(TableInfo ti,
java.lang.String columnName,
boolean force)
Drop an existing column of an existing table. |
TableInfo |
dropForeignKey(TableInfo ti,
java.lang.String fkName)
Drop an existing foreign key of an existing table. |
TableInfo |
dropForeignKeys(TableInfo ti)
Drop all existing foreign keys of an existing table. |
TableInfo |
dropIndex(TableInfo ti,
java.lang.String indexName)
Drop an index from an existing table. |
void |
dropStaleBackupTables()
Some operations like drop table or drop column create backup tables for performing rollback operations. |
void |
dropTable(TableInfo ti,
boolean force)
Drop an existing table. |
void |
dropTables(java.util.List<TableInfo> tables,
boolean force)
Drop a list of existing table. |
TableInfo |
fetchTableInfo(java.lang.String tableName,
IndexFilter filter)
Retrieve the current layout of the given table in the database. |
java.util.List<TableInfo> |
fetchTableInfos(TableFilter filter)
Return the layout of multiple table in the database. |
TableInfo |
modifyColumn(TableInfo ti,
ColumnInfo columnInfo)
Change an existing column of an existing table. |
void |
rollback()
Roll back all schema operations undertaken since the last call to SchemaEngine.commit() or SchemaEngine.rollback(). |
| Methods inherited from class org.clazzes.jdbc2xml.schema.SchemaEngine |
|---|
getConnection, getDialect, getSchema, getTimeZone, newInstance, setConnection, setDialect, setSchema, setTimeZone |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SchemaEngineImpl()
| Method Detail |
|---|
public TableInfo fetchTableInfo(java.lang.String tableName,
IndexFilter filter)
throws java.sql.SQLException
SchemaEngine
fetchTableInfo in class SchemaEnginetableName - The name of the table to search.filter - The filter retrieval configuration. If a null value is passed,
a default filter will be used, which skips internal indices.
java.sql.SQLException - Upon database errors.IndexFilter.isKeepInternalIndices()
public java.util.List<TableInfo> fetchTableInfos(TableFilter filter)
throws java.sql.SQLException
SchemaEngine
fetchTableInfos in class SchemaEnginefilter - If null, return all tables of the configured schema. Otherwise
return only those tables, for which TableFilter.processTable(String)
returns true. Additionally, a null value incurs default index filtering,
which means to skip internal indices.
java.sql.SQLException - Upon database errors.
public java.sql.PreparedStatement createInsertStatement(TableInfo ti)
throws java.sql.SQLException
SchemaEngine
createInsertStatement in class SchemaEngineti - The table metadata.
java.sql.SQLException - Upon database errors.
public void createTable(TableInfo ti,
boolean addForeignKeys)
throws java.sql.SQLException
SchemaEngine
createTable in class SchemaEngineti - The table metadata.addForeignKeys - If this parameter is true, all foreign keys are generated
together with the table structure. If set to false, you may
create the foreign keys later on using SchemaEngine.createForeignKeys(TableInfo).
java.sql.SQLException - upon database errors.
public void createIndices(TableInfo ti)
throws java.sql.SQLException
ti -
java.sql.SQLException
public void createForeignKeys(TableInfo ti)
throws java.sql.SQLException
SchemaEngine
createForeignKeys in class SchemaEngineti - The table metadata.
java.sql.SQLException - Upon database errors.
public TableInfo dropForeignKeys(TableInfo ti)
throws java.sql.SQLException
SchemaEngine
dropForeignKeys in class SchemaEngineti - TableInfo describing the table containing the foreign keys to drop.
TableInfo without foreign keys.
java.sql.SQLException - Upon database errors.
public void dropTable(TableInfo ti,
boolean force)
throws java.sql.SQLException
SchemaEngine
dropTable in class SchemaEngineti - TableInfo describing the table to be dropped.force - If set to true, the data is not backed up before dropping the
table. Consequently, rollback is not supported, if
force is set to true.
java.sql.SQLException - Upon database errors.
public void dropTables(java.util.List<TableInfo> tables,
boolean force)
throws java.sql.SQLException
SchemaEngine
dropTables in class SchemaEnginetables - A list of TableInfo objects describing
the tables to be dropped.force - If set to true, the data is not backed up before dropping the
table. Consequently, rollback is not supported, if
force is set to true.
java.sql.SQLException - Upon database errors.
public TableInfo addColumn(TableInfo ti,
ColumnInfo columnInfo)
throws java.sql.SQLException
SchemaEngine
addColumn in class SchemaEngineti - TableInfo describing the table to add column to.columnInfo - ColumnInfo holding data for the column to be added.
TableInfo.
java.sql.SQLException - Upon database errors.
public TableInfo modifyColumn(TableInfo ti,
ColumnInfo columnInfo)
throws java.sql.SQLException
SchemaEngine
modifyColumn in class SchemaEngineti - TableInfo describing the table containing the column to change.columnInfo - ColumnInfo holding new definition data for the column.
TableInfo.
java.sql.SQLException - Upon database errors.
public TableInfo changeColumn(TableInfo ti,
java.lang.String oldColumnName,
ColumnInfo columnInfo)
throws java.sql.SQLException
SchemaEngine
changeColumn in class SchemaEngineti - TableInfo describing the table containing the column to change.oldColumnName - The original name of the column.columnInfo - ColumnInfo holding the new name and the
new definition data for the column.
TableInfo.
java.sql.SQLException - Upon database errors.
public TableInfo dropColumn(TableInfo ti,
java.lang.String columnName,
boolean force)
throws java.sql.SQLException
SchemaEngine
dropColumn in class SchemaEngineti - TableInfo describing the table containing the column to drop.columnName - Name of the column to drop.force - If set to true, the data is not backed up before dropping the
column. Consequently, rollback is not supported, if
force is set to true.
TableInfo.
java.sql.SQLException - Upon database errors.
public TableInfo addForeignKey(TableInfo ti,
ForeignKeyInfo foreignKeyInfo)
throws java.sql.SQLException
SchemaEngine
addForeignKey in class SchemaEngineti - TableInfo describing the table to add the foreign key to.foreignKeyInfo - The ForeignKeyInfo to add.
TableInfo.
java.sql.SQLException - Upon database errors.
public TableInfo dropForeignKey(TableInfo ti,
java.lang.String fkName)
throws java.sql.SQLException
SchemaEngine
dropForeignKey in class SchemaEngineti - TableInfo describing the table to drop the foreign key from.fkName - The ForeignKeyInfo to drop.
TableInfo.
java.sql.SQLException - Upon database errors.
public TableInfo addIndex(TableInfo ti,
IndexInfo indexInfo)
throws java.sql.SQLException
SchemaEngine
addIndex in class SchemaEngineti - TableInfo describing the table to add the index.indexInfo - The IndexInfo to add.
TableInfo.
java.sql.SQLException - Upon database errors.
public TableInfo dropIndex(TableInfo ti,
java.lang.String indexName)
throws java.sql.SQLException
SchemaEngine
dropIndex in class SchemaEngineti - TableInfo describing the table to drop the index from.indexName - The name of the IndexInfo to drop.
TableInfo.
java.sql.SQLException - Upon database errors.
public void dropStaleBackupTables()
throws java.sql.SQLException
SchemaEngineSchemaEngine.commit() after such operations, these backup tables
remain in the target database.
This call searches these tables, which are named like JDBC2XML__*
and drops them, if necessary.
dropStaleBackupTables in class SchemaEnginejava.sql.SQLException
public void commit()
throws java.sql.SQLException
SchemaEngine
commit in class SchemaEnginejava.sql.SQLException - Upon database errors.
public void rollback()
throws java.sql.SQLException
SchemaEngineSchemaEngine.commit() or SchemaEngine.rollback().
rollback in class SchemaEnginejava.sql.SQLException - Upon database errors or when a rollback
of a schema operation is not supported.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||