return false;
}
+ if (!postCreationInit(con)) {
+ return false;
+ }
+
+ return true;
+ }
+
+ public void purge(Connection con) throws SQLException {
+ dropAllTables(con);
+ dropAllSequences(con);
+ }
+
+ boolean postCreationInit(Connection con) throws SQLException {
+ // no-op
+ // Override this in a derived class if you need to initialize something
+ // after the tables and sequences are created.
return true;
}
return true;
}
+ void dropAllTables(Connection con) {
+ for (Table table : m_tables) {
+ try {
+ m_driver.dropTable(con, table);
+ }
+ catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
boolean createAllSequences(Connection con) throws SQLException {
for (Sequence seq : m_sequences) {
if (!m_driver.createSequence(con, seq)) {
return true;
}
+ void dropAllSequences(Connection con) {
+ for (Sequence seq : m_sequences) {
+ try {
+ m_driver.dropSequence(con, seq);
+ }
+ catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
void addTable(Table table) {
m_tables.add(table);
}
// { table_name },
// { column_name, type, width (-1 for default), null/not_null }
// }
- void addTables(Object[][][] tables)
+ void addTables(Table[] tables)
{
- for (Object[][] table : tables) {
- addTable(Table.construct(table));
+ for (Table table : tables) {
+ addTable(table);
}
}
void addSequence(Sequence seq) {
m_sequences.add(seq);
}
+
+ void addSequences(Sequence[] sequences) {
+ for (Sequence sequence : sequences) {
+ addSequence(sequence);
+ }
+ }
}