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 2006/12/18 01:16:20 UTC
svn commit: r488085 - in /db/ddlutils/trunk/src:
java/org/apache/ddlutils/platform/PlatformImplBase.java
java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java
test/org/apache/ddlutils/io/TestMisc.java
Author: tomdz
Date: Sun Dec 17 16:16:19 2006
New Revision: 488085
URL: http://svn.apache.org/viewvc?view=rev&rev=488085
Log:
Identity override is now off by default
Exposed controlling identity override in the WriteDataToDatabase subtask
Modified:
db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java
db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java
db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestMisc.java
Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java
URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java?view=diff&rev=488085&r1=488084&r2=488085
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java Sun Dec 17 16:16:19 2006
@@ -86,7 +86,7 @@
/** Whether delimited identifiers are used or not. */
private boolean _delimitedIdentifierModeOn;
/** Whether identity override is enabled. */
- private boolean _identityOverrideOn = true;
+ private boolean _identityOverrideOn;
/** Whether read foreign keys shall be sorted alphabetically. */
private boolean _foreignKeysSorted;
Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java
URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java?view=diff&rev=488085&r1=488084&r2=488085
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/task/WriteDataToDatabaseCommand.java Sun Dec 17 16:16:19 2006
@@ -54,7 +54,26 @@
private File _singleDataFile = null;
/** The input files. */
private ArrayList _fileSets = new ArrayList();
-
+ /** Whether explicit values for identity columns will be used. */
+ private boolean _useExplicitIdentityValues;
+
+ /**
+ * Defines whether values for identity columns in the data XML shall be used instead of
+ * letting the database define the value. Unless <code>ensureForeignKeyOrder</code> is
+ * set to false, setting this to <code>false</code> (the default) does not affect foreign
+ * keys as DdlUtils will automatically update the values of the columns of foreign keys
+ * pointing to the inserted row with the database-created values.
+ *
+ * @param useExplicitIdentityValues <code>true</code> if explicitly specified identity
+ * column values should be inserted instead of letting
+ * the database define the values for these columns
+ * @ant.not-required Default is <code>false</code>
+ */
+ public void setUseExplicitIdentityValues(boolean useExplicitIdentityValues)
+ {
+ _useExplicitIdentityValues = useExplicitIdentityValues;
+ }
+
/**
* Adds a fileset.
*
@@ -132,6 +151,7 @@
DataReader dataReader = null;
+ getPlatform().setIdentityOverrideOn(_useExplicitIdentityValues);
try
{
dataReader = getDataIO().getConfiguredDataReader(getPlatform(), model);
Modified: db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestMisc.java
URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestMisc.java?view=diff&rev=488085&r1=488084&r2=488085
==============================================================================
--- db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestMisc.java (original)
+++ db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestMisc.java Sun Dec 17 16:16:19 2006
@@ -77,6 +77,8 @@
createDatabase(modelXml);
+ getPlatform().setIdentityOverrideOn(true);
+
insertRow("misc1", new Object[] { new Integer(10), new Integer(1) });
insertRow("misc1", new Object[] { new Integer(12), new Integer(2) });
insertRow("misc1", new Object[] { new Integer(13), new Integer(3) });
@@ -159,6 +161,12 @@
*/
public void testIdentityOverrideOff() throws Exception
{
+ if (!getPlatformInfo().isIdentityOverrideAllowed())
+ {
+ // TODO: for testing these platforms, we need deleteRows
+ return;
+ }
+
final String modelXml =
"<?xml version='1.0' encoding='ISO-8859-1'?>\n"+
"<database name='roundtriptest'>\n"+
@@ -176,6 +184,8 @@
"</database>";
createDatabase(modelXml);
+
+ getPlatform().setIdentityOverrideOn(true);
insertRow("misc1", new Object[] { new Integer(10), new Integer(1) });
insertRow("misc1", new Object[] { new Integer(12), new Integer(2) });