You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ddlutils-dev@db.apache.org by to...@apache.org on 2005/11/26 20:48:28 UTC
svn commit: r349139 - in /db/ddlutils/trunk/src/java/org/apache/ddlutils:
Platform.java platform/PlatformImplBase.java
Author: tomdz
Date: Sat Nov 26 11:48:23 2005
New Revision: 349139
URL: http://svn.apache.org/viewcvs?rev=349139&view=rev
Log:
Implemented DDLUTILS-45
Modified:
db/ddlutils/trunk/src/java/org/apache/ddlutils/Platform.java
db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java
Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/Platform.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/Platform.java?rev=349139&r1=349138&r2=349139&view=diff
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/Platform.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/Platform.java Sat Nov 26 11:48:23 2005
@@ -199,6 +199,16 @@
public void createTables(Connection connection, Database model, boolean dropTablesFirst, boolean continueOnError) throws DynaSqlException;
/**
+ * Returns the SQL for creating the tables defined in the database model.
+ *
+ * @param model The database model
+ * @param dropTablesFirst Whether to drop the tables prior to creating them (anew)
+ * @param continueOnError Whether to continue executing the sql commands when an error occurred
+ * @return The SQL statements
+ */
+ public String createTablesSql(Database model, boolean dropTablesFirst, boolean continueOnError) throws DynaSqlException;
+
+ /**
* Creates the tables defined in the database model.
*
* @param model The database model
@@ -220,6 +230,17 @@
public void createTables(Connection connection, Database model, CreationParameters params, boolean dropTablesFirst, boolean continueOnError) throws DynaSqlException;
/**
+ * Returns the SQL for creating the tables defined in the database model.
+ *
+ * @param model The database model
+ * @param params The parameters used in the creation
+ * @param dropTablesFirst Whether to drop the tables prior to creating them (anew)
+ * @param continueOnError Whether to continue executing the sql commands when an error occurred
+ * @return The SQL statements
+ */
+ public String createTablesSql(Database model, CreationParameters params, boolean dropTablesFirst, boolean continueOnError) throws DynaSqlException;
+
+ /**
* Alters the database schema so that it match the given model. Drops and table modifications will
* not be made.
*
@@ -240,6 +261,18 @@
public void alterTables(Database desiredDb, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException;
/**
+ * Returns the SQL for altering the database schema so that it match the given model.
+ *
+ * @param desiredDb The desired database schema
+ * @param doDrops Whether columns, tables and indexes should be dropped if not in the
+ * new schema
+ * @param modifyColumns Whether columns should be altered for datatype, size as required
+ * @param continueOnError Whether to continue with the next sql statement when an error occurred
+ * @return The SQL statements
+ */
+ public String alterTablesSql(Database desiredDb, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException;
+
+ /**
* Alters the database schema so that it match the given model. Drops and table modifications will
* not be made.
*
@@ -262,6 +295,19 @@
public void alterTables(Database desiredDb, CreationParameters params, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException;
/**
+ * Returns the SQL for altering the database schema so that it match the given model.
+ *
+ * @param desiredDb The desired database schema
+ * @param params The parameters used in the creation
+ * @param doDrops Whether columns, tables and indexes should be dropped if not in the
+ * new schema
+ * @param modifyColumns Whether columns should be altered for datatype, size as required
+ * @param continueOnError Whether to continue with the next sql statement when an error occurred
+ * @return The SQL statements
+ */
+ public String alterTablesSql(Database desiredDb, CreationParameters params, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException;
+
+ /**
* Alters the database schema so that it match the given model. Drops and table modifications will
* not be made.
*
@@ -284,6 +330,19 @@
public void alterTables(Connection connection, Database desiredDb, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException;
/**
+ * Returns the SQL for altering the database schema so that it match the given model.
+ *
+ * @param connection A connection to the existing database that shall be modified
+ * @param desiredDb The desired database schema
+ * @param doDrops Whether columns, tables and indexes should be dropped if not in the
+ * new schema
+ * @param modifyColumns Whether columns should be altered for datatype, size as required
+ * @param continueOnError Whether to continue with the next sql statement when an error occurred
+ * @return The SQL statements
+ */
+ public String alterTablesSql(Connection connection, Database desiredDb, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException;
+
+ /**
* Alters the database schema so that it match the given model. Drops and table modifications will
* not be made.
*
@@ -308,12 +367,35 @@
public void alterTables(Connection connection, Database desiredDb, CreationParameters params, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException;
/**
+ * Returns the SQL for altering the database schema so that it match the given model.
+ *
+ * @param connection A connection to the existing database that shall be modified
+ * @param desiredDb The desired database schema
+ * @param params The parameters used in the creation
+ * @param doDrops Whether columns, tables and indexes should be dropped if not in the
+ * new schema
+ * @param modifyColumns Whether columns should be altered for datatype, size as required
+ * @param continueOnError Whether to continue with the next sql statement when an error occurred
+ * @return The SQL statements
+ */
+ public String alterTablesSql(Connection connection, Database desiredDb, CreationParameters params, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException;
+
+ /**
* Drops the tables defined in the given database.
*
* @param model The database model
* @param continueOnError Whether to continue executing the sql commands when an error occurred
*/
public void dropTables(Database model, boolean continueOnError) throws DynaSqlException;
+
+ /**
+ * Returns the SQL for dropping the tables defined in the given database.
+ *
+ * @param model The database model
+ * @param continueOnError Whether to continue executing the sql commands when an error occurred
+ * @return The SQL statements
+ */
+ public String dropTablesSql(Database model, boolean continueOnError) throws DynaSqlException;
/**
* Drops the tables defined in the given database.
Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java?rev=349139&r1=349138&r2=349139&view=diff
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java Sat Nov 26 11:48:23 2005
@@ -269,6 +269,16 @@
*/
public void createTables(Connection connection, Database model, boolean dropTablesFirst, boolean continueOnError) throws DynaSqlException
{
+ String sql = createTablesSql(model, dropTablesFirst, continueOnError);
+
+ evaluateBatch(connection, sql, continueOnError);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String createTablesSql(Database model, boolean dropTablesFirst, boolean continueOnError) throws DynaSqlException
+ {
String sql = null;
try
@@ -283,7 +293,7 @@
{
// won't happen because we're using a string writer
}
- evaluateBatch(connection, sql, continueOnError);
+ return sql;
}
/**
@@ -308,6 +318,16 @@
*/
public void createTables(Connection connection, Database model, CreationParameters params, boolean dropTablesFirst, boolean continueOnError) throws DynaSqlException
{
+ String sql = createTablesSql(model, params, dropTablesFirst, continueOnError);
+
+ evaluateBatch(connection, sql, continueOnError);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String createTablesSql(Database model, CreationParameters params, boolean dropTablesFirst, boolean continueOnError) throws DynaSqlException
+ {
String sql = null;
try
@@ -322,7 +342,7 @@
{
// won't happen because we're using a string writer
}
- evaluateBatch(connection, sql, continueOnError);
+ return sql;
}
/**
@@ -353,6 +373,23 @@
/**
* {@inheritDoc}
*/
+ public String alterTablesSql(Database desiredDb, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException
+ {
+ Connection connection = borrowConnection();
+
+ try
+ {
+ return alterTablesSql(connection, desiredDb, doDrops, modifyColumns, continueOnError);
+ }
+ finally
+ {
+ returnConnection(connection);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public void alterTables(Database desiredDb, CreationParameters params, boolean continueOnError) throws DynaSqlException
{
alterTables(desiredDb, params, false, false, continueOnError);
@@ -378,6 +415,23 @@
/**
* {@inheritDoc}
*/
+ public String alterTablesSql(Database desiredDb, CreationParameters params, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException
+ {
+ Connection connection = borrowConnection();
+
+ try
+ {
+ return alterTablesSql(connection, desiredDb, params, doDrops, modifyColumns, continueOnError);
+ }
+ finally
+ {
+ returnConnection(connection);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public void alterTables(Connection connection, Database desiredDb, boolean continueOnError) throws DynaSqlException
{
alterTables(connection, desiredDb, false, false, continueOnError);
@@ -388,6 +442,16 @@
*/
public void alterTables(Connection connection, Database desiredModel, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException
{
+ String sql = alterTablesSql(connection, desiredModel, doDrops, modifyColumns, continueOnError);
+
+ evaluateBatch(connection, sql, continueOnError);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String alterTablesSql(Connection connection, Database desiredModel, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException
+ {
String sql = null;
Database currentModel = readModelFromDatabase(connection);
@@ -403,7 +467,7 @@
{
// won't happen because we're using a string writer
}
- evaluateBatch(connection, sql, continueOnError);
+ return sql;
}
/**
@@ -419,6 +483,16 @@
*/
public void alterTables(Connection connection, Database desiredModel, CreationParameters params, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException
{
+ String sql = alterTablesSql(connection, desiredModel, params, doDrops, modifyColumns, continueOnError);
+
+ evaluateBatch(connection, sql, continueOnError);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String alterTablesSql(Connection connection, Database desiredModel, CreationParameters params, boolean doDrops, boolean modifyColumns, boolean continueOnError) throws DynaSqlException
+ {
String sql = null;
Database currentModel = readModelFromDatabase(connection);
@@ -434,7 +508,7 @@
{
// won't happen because we're using a string writer
}
- evaluateBatch(connection, sql, continueOnError);
+ return sql;
}
/**
@@ -459,6 +533,16 @@
*/
public void dropTables(Connection connection, Database model, boolean continueOnError) throws DynaSqlException
{
+ String sql = dropTablesSql(model, continueOnError);
+
+ evaluateBatch(connection, sql, continueOnError);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String dropTablesSql(Database model, boolean continueOnError) throws DynaSqlException
+ {
String sql = null;
try
@@ -473,7 +557,7 @@
{
// won't happen because we're using a string writer
}
- evaluateBatch(connection, sql, continueOnError);
+ return sql;
}
/**