You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2014/03/17 11:59:01 UTC
svn commit: r1578297 - in /cayenne/main/trunk/cayenne-server/src:
main/java/org/apache/cayenne/access/
main/java/org/apache/cayenne/access/jdbc/
main/java/org/apache/cayenne/access/translator/batch/
main/java/org/apache/cayenne/dba/oracle/ test/java/or...
Author: aadamchik
Date: Mon Mar 17 10:59:00 2014
New Revision: 1578297
URL: http://svn.apache.org/r1578297
Log:
CAY-1912 BatchQueryBuilder refactoring
making BatchTranslator an interface
making trim function part of the interface
Added:
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslator.java
- copied, changed from r1578296, cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslator.java
cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorTest.java
- copied, changed from r1578296, cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/BatchTranslatorTest.java
Removed:
cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/BatchTranslatorTest.java
Modified:
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/BatchAction.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslator.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslatorFactory.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslator.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslator.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslator.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/SoftDeleteTranslatorFactory.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslator.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchAction.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchTranslator.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBInsertBatchTranslator.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBUpdateBatchTranslator.java
cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleBatchAction.java
cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingTest.java
cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorTest.java
cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorTest.java
cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorTest.java
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java Mon Mar 17 10:59:00 2014
@@ -38,6 +38,7 @@ import org.apache.cayenne.access.jdbc.Co
import org.apache.cayenne.access.jdbc.RowDescriptor;
import org.apache.cayenne.access.jdbc.reader.RowReader;
import org.apache.cayenne.access.jdbc.reader.RowReaderFactory;
+import org.apache.cayenne.access.translator.batch.BatchTranslator;
import org.apache.cayenne.access.translator.batch.BatchTranslatorFactory;
import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.log.JdbcEventLogger;
@@ -45,6 +46,7 @@ import org.apache.cayenne.log.NoopJdbcEv
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.EntityResolver;
import org.apache.cayenne.map.ObjAttribute;
+import org.apache.cayenne.query.BatchQuery;
import org.apache.cayenne.query.Query;
import org.apache.cayenne.query.QueryMetadata;
import org.apache.cayenne.util.ToStringBuilder;
@@ -460,6 +462,13 @@ public class DataNode implements QueryEn
Map<ObjAttribute, ColumnDescriptor> attributeOverrides) {
return rowReaderFactory.rowReader(descriptor, queryMetadata, getAdapter(), attributeOverrides);
}
+
+ /**
+ * @since 3.2
+ */
+ public BatchTranslator batchTranslator(BatchQuery query, String trimFunction) {
+ return batchTranslatorFactory.translator(query, getAdapter(), trimFunction);
+ }
/**
* @since 3.2
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/BatchAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/BatchAction.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/BatchAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/BatchAction.java Mon Mar 17 10:59:00 2014
@@ -36,7 +36,6 @@ import org.apache.cayenne.access.Optimis
import org.apache.cayenne.access.jdbc.reader.RowReader;
import org.apache.cayenne.access.translator.batch.BatchParameterBinding;
import org.apache.cayenne.access.translator.batch.BatchTranslator;
-import org.apache.cayenne.access.translator.batch.BatchTranslatorFactory;
import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dba.TypesMapping;
import org.apache.cayenne.log.JdbcEventLogger;
@@ -95,13 +94,7 @@ public class BatchAction extends BaseSQL
}
protected BatchTranslator createTranslator() throws CayenneException {
- BatchTranslatorFactory factory = dataNode.getBatchTranslatorFactory();
-
- if (factory == null) {
- throw new IllegalStateException("Adapter BatchQueryBuilderFactory is null");
- }
-
- return factory.translator(query, dataNode.getAdapter());
+ return dataNode.batchTranslator(query, null);
}
protected void runAsBatch(Connection con, BatchTranslator translator, OperationObserver delegate)
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslator.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslator.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslator.java Mon Mar 17 10:59:00 2014
@@ -20,71 +20,27 @@
package org.apache.cayenne.access.translator.batch;
import java.io.IOException;
-import java.sql.Types;
import java.util.List;
-import org.apache.cayenne.dba.DbAdapter;
-import org.apache.cayenne.dba.QuotingStrategy;
-import org.apache.cayenne.map.DbAttribute;
-import org.apache.cayenne.query.BatchQuery;
import org.apache.cayenne.query.BatchQueryRow;
/**
* Superclass of batch query translators.
+ *
+ * @since 3.2
*/
-public abstract class BatchTranslator {
-
- protected BatchQuery query;
- protected DbAdapter adapter;
- protected String trimFunction;
-
- public BatchTranslator(BatchQuery query, DbAdapter adapter) {
- this.query = query;
- this.adapter = adapter;
- }
+public interface BatchTranslator {
/**
* Translates BatchQuery into an SQL string formatted to use in a
* PreparedStatement.
- *
- * @since 3.2
- * @throws IOException
*/
- public abstract String createSqlString() throws IOException;
-
- /**
- * Appends the name of the column to the query buffer. Subclasses use this
- * method to append column names in the WHERE clause, i.e. for the columns
- * that are not being updated.
- */
- protected void appendDbAttribute(StringBuilder buf, DbAttribute dbAttribute) {
-
- // TODO: (Andrus) is there a need for trimming binary types?
- boolean trim = dbAttribute.getType() == Types.CHAR && trimFunction != null;
- if (trim) {
- buf.append(trimFunction).append('(');
- }
-
- QuotingStrategy strategy = adapter.getQuotingStrategy();
-
- buf.append(strategy.quotedName(dbAttribute));
-
- if (trim) {
- buf.append(')');
- }
- }
-
- public String getTrimFunction() {
- return trimFunction;
- }
-
- public void setTrimFunction(String string) {
- trimFunction = string;
- }
+ String createSqlString() throws IOException;
/**
* Returns PreparedStatement bindings for a given row.
*/
- public abstract List<BatchParameterBinding> createBindings(BatchQueryRow row);
+ List<BatchParameterBinding> createBindings(BatchQueryRow row);
+ String getTrimFunction();
}
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslatorFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslatorFactory.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslatorFactory.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslatorFactory.java Mon Mar 17 10:59:00 2014
@@ -32,5 +32,5 @@ public interface BatchTranslatorFactory
/**
* Creates a proper translator for a BatchQuery
*/
- BatchTranslator translator(BatchQuery query, DbAdapter adapter);
+ BatchTranslator translator(BatchQuery query, DbAdapter adapter, String trimFunction);
}
Copied: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslator.java (from r1578296, cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslator.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslator.java?p2=cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslator.java&p1=cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslator.java&r1=1578296&r2=1578297&rev=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/BatchTranslator.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslator.java Mon Mar 17 10:59:00 2014
@@ -16,7 +16,6 @@
* specific language governing permissions and limitations
* under the License.
****************************************************************/
-
package org.apache.cayenne.access.translator.batch;
import java.io.IOException;
@@ -31,28 +30,40 @@ import org.apache.cayenne.query.BatchQue
/**
* Superclass of batch query translators.
+ *
+ * @since 3.2
*/
-public abstract class BatchTranslator {
+public abstract class DefaultBatchTranslator implements BatchTranslator {
protected BatchQuery query;
protected DbAdapter adapter;
protected String trimFunction;
- public BatchTranslator(BatchQuery query, DbAdapter adapter) {
+ public DefaultBatchTranslator(BatchQuery query, DbAdapter adapter, String trimFunction) {
this.query = query;
this.adapter = adapter;
+ this.trimFunction = trimFunction;
+ }
+
+ @Override
+ public String getTrimFunction() {
+ return trimFunction;
}
/**
* Translates BatchQuery into an SQL string formatted to use in a
* PreparedStatement.
- *
- * @since 3.2
- * @throws IOException
*/
+ @Override
public abstract String createSqlString() throws IOException;
/**
+ * Returns PreparedStatement bindings for a given row.
+ */
+ @Override
+ public abstract List<BatchParameterBinding> createBindings(BatchQueryRow row);
+
+ /**
* Appends the name of the column to the query buffer. Subclasses use this
* method to append column names in the WHERE clause, i.e. for the columns
* that are not being updated.
@@ -74,17 +85,4 @@ public abstract class BatchTranslator {
}
}
- public String getTrimFunction() {
- return trimFunction;
- }
-
- public void setTrimFunction(String string) {
- trimFunction = string;
- }
-
- /**
- * Returns PreparedStatement bindings for a given row.
- */
- public abstract List<BatchParameterBinding> createBindings(BatchQueryRow row);
-
}
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorFactory.java Mon Mar 17 10:59:00 2014
@@ -33,28 +33,28 @@ import org.apache.cayenne.query.UpdateBa
public class DefaultBatchTranslatorFactory implements BatchTranslatorFactory {
@Override
- public BatchTranslator translator(BatchQuery query, DbAdapter adapter) {
+ public BatchTranslator translator(BatchQuery query, DbAdapter adapter, String trimFunction) {
if (query instanceof InsertBatchQuery) {
return insertTranslator((InsertBatchQuery) query, adapter);
} else if (query instanceof UpdateBatchQuery) {
- return updateTranslator((UpdateBatchQuery) query, adapter);
+ return updateTranslator((UpdateBatchQuery) query, adapter, trimFunction);
} else if (query instanceof DeleteBatchQuery) {
- return deleteTranslator((DeleteBatchQuery) query, adapter);
+ return deleteTranslator((DeleteBatchQuery) query, adapter, trimFunction);
} else {
throw new CayenneRuntimeException("Unsupported batch query: " + query);
}
}
- protected BatchTranslator deleteTranslator(DeleteBatchQuery query, DbAdapter adapter) {
- return new DeleteBatchTranslator(query, adapter);
+ protected BatchTranslator deleteTranslator(DeleteBatchQuery query, DbAdapter adapter, String trimFunction) {
+ return new DeleteBatchTranslator(query, adapter, trimFunction);
}
protected BatchTranslator insertTranslator(InsertBatchQuery query, DbAdapter adapter) {
return new InsertBatchTranslator(query, adapter);
}
- protected BatchTranslator updateTranslator(UpdateBatchQuery query, DbAdapter adapter) {
- return new UpdateBatchTranslator(query, adapter);
+ protected BatchTranslator updateTranslator(UpdateBatchQuery query, DbAdapter adapter, String trimFunction) {
+ return new UpdateBatchTranslator(query, adapter, trimFunction);
}
}
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslator.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslator.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslator.java Mon Mar 17 10:59:00 2014
@@ -34,10 +34,10 @@ import org.apache.cayenne.query.DeleteBa
* Translator for delete BatchQueries. Creates parameterized DELETE SQL
* statements.
*/
-public class DeleteBatchTranslator extends BatchTranslator {
+public class DeleteBatchTranslator extends DefaultBatchTranslator {
- public DeleteBatchTranslator(DeleteBatchQuery query, DbAdapter adapter) {
- super(query, adapter);
+ public DeleteBatchTranslator(DeleteBatchQuery query, DbAdapter adapter, String trimFunction) {
+ super(query, adapter, trimFunction);
}
@Override
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslator.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslator.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslator.java Mon Mar 17 10:59:00 2014
@@ -32,10 +32,12 @@ import org.apache.cayenne.query.InsertBa
/**
* Translator of InsertBatchQueries.
*/
-public class InsertBatchTranslator extends BatchTranslator {
+public class InsertBatchTranslator extends DefaultBatchTranslator {
public InsertBatchTranslator(InsertBatchQuery query, DbAdapter adapter) {
- super(query, adapter);
+ // no trimming is needed here, so passing hardcoded NULL for trim
+ // function
+ super(query, adapter, null);
}
/**
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslator.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslator.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslator.java Mon Mar 17 10:59:00 2014
@@ -19,7 +19,6 @@
package org.apache.cayenne.access.translator.batch;
import java.io.IOException;
-import java.sql.Types;
import java.util.List;
import org.apache.cayenne.dba.DbAdapter;
@@ -36,16 +35,14 @@ public class SoftDeleteBatchTranslator e
private String deletedFieldName;
- public SoftDeleteBatchTranslator(DeleteBatchQuery query, DbAdapter adapter, String deletedFieldName) {
- super(query, adapter);
+ public SoftDeleteBatchTranslator(DeleteBatchQuery query, DbAdapter adapter, String trimFunction,
+ String deletedFieldName) {
+ super(query, adapter, trimFunction);
this.deletedFieldName = deletedFieldName;
}
@Override
public String createSqlString() throws IOException {
- if (!needSoftDelete()) {
- return super.createSqlString();
- }
QuotingStrategy strategy = adapter.getQuotingStrategy();
@@ -63,19 +60,10 @@ public class SoftDeleteBatchTranslator e
List<BatchParameterBinding> bindings = super.createBindings(row);
- if (needSoftDelete()) {
- DbAttribute deleteAttribute = query.getDbEntity().getAttribute(deletedFieldName);
- bindings.add(0, new BatchParameterBinding(deleteAttribute, true));
- }
+ DbAttribute deleteAttribute = query.getDbEntity().getAttribute(deletedFieldName);
+ bindings.add(0, new BatchParameterBinding(deleteAttribute, true));
return bindings;
}
- /**
- * @return whether 'soft' deletion should be used
- */
- protected boolean needSoftDelete() {
- DbAttribute attr = query.getDbEntity().getAttribute(deletedFieldName);
- return attr != null && attr.getType() == Types.BOOLEAN;
- }
}
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/SoftDeleteTranslatorFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/SoftDeleteTranslatorFactory.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/SoftDeleteTranslatorFactory.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/SoftDeleteTranslatorFactory.java Mon Mar 17 10:59:00 2014
@@ -18,7 +18,10 @@
****************************************************************/
package org.apache.cayenne.access.translator.batch;
+import java.sql.Types;
+
import org.apache.cayenne.dba.DbAdapter;
+import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.query.DeleteBatchQuery;
/**
@@ -32,25 +35,30 @@ public class SoftDeleteTranslatorFactory
* Default name of 'deleted' field
*/
public static final String DEFAULT_DELETED_FIELD_NAME = "DELETED";
-
+
/**
* Name of 'deleted' field
*/
private String deletedFieldName;
-
+
public SoftDeleteTranslatorFactory() {
this(DEFAULT_DELETED_FIELD_NAME);
}
-
+
public SoftDeleteTranslatorFactory(String deletedFieldName) {
this.deletedFieldName = deletedFieldName;
}
-
+
@Override
- protected BatchTranslator deleteTranslator(DeleteBatchQuery query, DbAdapter adapter) {
- return new SoftDeleteBatchTranslator(query, adapter, deletedFieldName);
+ protected BatchTranslator deleteTranslator(DeleteBatchQuery query, DbAdapter adapter, String trimFunction) {
+
+ DbAttribute attr = query.getDbEntity().getAttribute(deletedFieldName);
+ boolean needsSoftDelete = attr != null && attr.getType() == Types.BOOLEAN;
+
+ return needsSoftDelete ? new SoftDeleteBatchTranslator(query, adapter, trimFunction, deletedFieldName) : super
+ .deleteTranslator(query, adapter, trimFunction);
}
-
+
/**
* @return name of 'deleted' field
*/
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslator.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslator.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslator.java Mon Mar 17 10:59:00 2014
@@ -33,11 +33,10 @@ import org.apache.cayenne.query.UpdateBa
/**
* A translator for UpdateBatchQueries that produces parameterized SQL.
*/
+public class UpdateBatchTranslator extends DefaultBatchTranslator {
-public class UpdateBatchTranslator extends BatchTranslator {
-
- public UpdateBatchTranslator(UpdateBatchQuery query, DbAdapter adapter) {
- super(query, adapter);
+ public UpdateBatchTranslator(UpdateBatchQuery query, DbAdapter adapter, String trimFunction) {
+ super(query, adapter, trimFunction);
}
@Override
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchAction.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchAction.java Mon Mar 17 10:59:00 2014
@@ -76,14 +76,13 @@ class Oracle8LOBBatchAction implements S
Oracle8LOBBatchTranslator translator;
if (query instanceof InsertBatchQuery) {
- translator = new Oracle8LOBInsertBatchTranslator((InsertBatchQuery) query, adapter);
+ translator = new Oracle8LOBInsertBatchTranslator((InsertBatchQuery) query, adapter, OracleAdapter.TRIM_FUNCTION);
} else if (query instanceof UpdateBatchQuery) {
- translator = new Oracle8LOBUpdateBatchTranslator((UpdateBatchQuery) query, adapter);
+ translator = new Oracle8LOBUpdateBatchTranslator((UpdateBatchQuery) query, adapter, OracleAdapter.TRIM_FUNCTION);
} else {
throw new CayenneException("Unsupported batch type for special LOB processing: " + query);
}
- translator.setTrimFunction(OracleAdapter.TRIM_FUNCTION);
translator.setNewBlobFunction(OracleAdapter.NEW_BLOB_FUNCTION);
translator.setNewClobFunction(OracleAdapter.NEW_CLOB_FUNCTION);
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchTranslator.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchTranslator.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBBatchTranslator.java Mon Mar 17 10:59:00 2014
@@ -27,7 +27,7 @@ import java.util.List;
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.access.translator.batch.BatchParameterBinding;
-import org.apache.cayenne.access.translator.batch.BatchTranslator;
+import org.apache.cayenne.access.translator.batch.DefaultBatchTranslator;
import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.dba.TypesMapping;
@@ -39,13 +39,13 @@ import org.apache.cayenne.query.BatchQue
* Superclass of query builders for the DML operations involving LOBs.
*
*/
-abstract class Oracle8LOBBatchTranslator extends BatchTranslator {
+abstract class Oracle8LOBBatchTranslator extends DefaultBatchTranslator {
protected String newClobFunction;
protected String newBlobFunction;
- Oracle8LOBBatchTranslator(BatchQuery query, DbAdapter adapter) {
- super(query, adapter);
+ Oracle8LOBBatchTranslator(BatchQuery query, DbAdapter adapter, String trimFunction) {
+ super(query, adapter, trimFunction);
}
abstract List<Object> getValuesForLOBUpdateParameters(BatchQueryRow row);
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBInsertBatchTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBInsertBatchTranslator.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBInsertBatchTranslator.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBInsertBatchTranslator.java Mon Mar 17 10:59:00 2014
@@ -31,8 +31,8 @@ import org.apache.cayenne.query.InsertBa
class Oracle8LOBInsertBatchTranslator extends Oracle8LOBBatchTranslator {
- Oracle8LOBInsertBatchTranslator(InsertBatchQuery query, DbAdapter adapter) {
- super(query, adapter);
+ Oracle8LOBInsertBatchTranslator(InsertBatchQuery query, DbAdapter adapter, String trimFunction) {
+ super(query, adapter, trimFunction);
}
@Override
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBUpdateBatchTranslator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBUpdateBatchTranslator.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBUpdateBatchTranslator.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/Oracle8LOBUpdateBatchTranslator.java Mon Mar 17 10:59:00 2014
@@ -31,8 +31,8 @@ import org.apache.cayenne.query.UpdateBa
class Oracle8LOBUpdateBatchTranslator extends Oracle8LOBBatchTranslator {
- Oracle8LOBUpdateBatchTranslator(UpdateBatchQuery query, DbAdapter adapter) {
- super(query, adapter);
+ Oracle8LOBUpdateBatchTranslator(UpdateBatchQuery query, DbAdapter adapter, String trimFunction) {
+ super(query, adapter, trimFunction);
}
@Override
Modified: cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleBatchAction.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleBatchAction.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleBatchAction.java (original)
+++ cayenne/main/trunk/cayenne-server/src/main/java/org/apache/cayenne/dba/oracle/OracleBatchAction.java Mon Mar 17 10:59:00 2014
@@ -39,9 +39,6 @@ class OracleBatchAction extends BatchAct
@Override
protected BatchTranslator createTranslator() throws CayenneException {
- // intercept super call to configure the builder...
- BatchTranslator builder = super.createTranslator();
- builder.setTrimFunction(OracleAdapter.TRIM_FUNCTION);
- return builder;
+ return dataNode.batchTranslator(query, OracleAdapter.TRIM_FUNCTION);
}
}
Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingTest.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingTest.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingTest.java Mon Mar 17 10:59:00 2014
@@ -81,7 +81,7 @@ public class BatchActionLockingTest exte
batchQuery.setUsingOptimisticLocking(true);
batchQuery.add(qualifierSnapshot);
- DeleteBatchTranslator batchQueryBuilder = new DeleteBatchTranslator(batchQuery, adapter);
+ DeleteBatchTranslator batchQueryBuilder = new DeleteBatchTranslator(batchQuery, adapter, null);
MockConnection mockConnection = new MockConnection();
PreparedStatementResultSetHandler preparedStatementResultSetHandler = mockConnection
@@ -122,7 +122,7 @@ public class BatchActionLockingTest exte
batchQuery.setUsingOptimisticLocking(true);
batchQuery.add(qualifierSnapshot);
- DeleteBatchTranslator batchQueryBuilder = new DeleteBatchTranslator(batchQuery, adapter);
+ DeleteBatchTranslator batchQueryBuilder = new DeleteBatchTranslator(batchQuery, adapter, null);
MockConnection mockConnection = new MockConnection();
PreparedStatementResultSetHandler preparedStatementResultSetHandler = mockConnection
Copied: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorTest.java (from r1578296, cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/BatchTranslatorTest.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorTest.java?p2=cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorTest.java&p1=cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/BatchTranslatorTest.java&r1=1578296&r2=1578297&rev=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/BatchTranslatorTest.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorTest.java Mon Mar 17 10:59:00 2014
@@ -21,13 +21,10 @@ package org.apache.cayenne.access.transl
import static org.mockito.Mockito.mock;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
import java.sql.Types;
import java.util.Collections;
import java.util.List;
-import org.apache.cayenne.access.translator.batch.BatchTranslator;
import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dba.JdbcAdapter;
import org.apache.cayenne.di.AdhocObjectFactory;
@@ -40,14 +37,14 @@ import org.apache.cayenne.unit.di.server
import org.apache.cayenne.unit.di.server.UseServerRuntime;
@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
-public class BatchTranslatorTest extends ServerCase {
+public class DefaultBatchTranslatorTest extends ServerCase {
@Inject
private AdhocObjectFactory objectFactory;
public void testConstructor() throws Exception {
DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
- BatchTranslator builder = new BatchTranslator(mock(BatchQuery.class), adapter) {
+ DefaultBatchTranslator builder = new DefaultBatchTranslator(mock(BatchQuery.class), adapter, null) {
@Override
public String createSqlString() {
return null;
@@ -66,7 +63,7 @@ public class BatchTranslatorTest extends
DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
String trimFunction = "testTrim";
- BatchTranslator builder = new BatchTranslator(mock(BatchQuery.class), adapter) {
+ DefaultBatchTranslator builder = new DefaultBatchTranslator(mock(BatchQuery.class), adapter, trimFunction) {
@Override
public String createSqlString() {
return null;
@@ -78,8 +75,6 @@ public class BatchTranslatorTest extends
}
};
- builder.setTrimFunction(trimFunction);
-
StringBuilder buf = new StringBuilder();
DbEntity entity = new DbEntity("Test");
DbAttribute attr = new DbAttribute("testAttr", Types.CHAR, null);
@@ -97,7 +92,7 @@ public class BatchTranslatorTest extends
public void testAppendDbAttribute2() throws Exception {
DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
- BatchTranslator builder = new BatchTranslator(mock(BatchQuery.class), adapter) {
+ DefaultBatchTranslator builder = new DefaultBatchTranslator(mock(BatchQuery.class), adapter, null) {
@Override
public String createSqlString() {
return null;
Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorTest.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorTest.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorTest.java Mon Mar 17 10:59:00 2014
@@ -58,7 +58,7 @@ public class DeleteBatchTranslatorTest e
public void testConstructor() throws Exception {
DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
- DeleteBatchTranslator builder = new DeleteBatchTranslator(mock(DeleteBatchQuery.class), adapter);
+ DeleteBatchTranslator builder = new DeleteBatchTranslator(mock(DeleteBatchQuery.class), adapter, null);
assertSame(adapter, builder.adapter);
}
@@ -72,7 +72,7 @@ public class DeleteBatchTranslatorTest e
DeleteBatchQuery deleteQuery = new DeleteBatchQuery(entity, idAttributes, Collections.<String> emptySet(), 1);
DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
- DeleteBatchTranslator builder = new DeleteBatchTranslator(deleteQuery, adapter);
+ DeleteBatchTranslator builder = new DeleteBatchTranslator(deleteQuery, adapter, null);
String generatedSql = builder.createSqlString();
assertNotNull(generatedSql);
assertEquals("DELETE FROM " + entity.getName() + " WHERE LOCKING_TEST_ID = ?", generatedSql);
@@ -90,7 +90,7 @@ public class DeleteBatchTranslatorTest e
DeleteBatchQuery deleteQuery = new DeleteBatchQuery(entity, idAttributes, nullAttributes, 1);
DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
- DeleteBatchTranslator builder = new DeleteBatchTranslator(deleteQuery, adapter);
+ DeleteBatchTranslator builder = new DeleteBatchTranslator(deleteQuery, adapter, null);
String generatedSql = builder.createSqlString();
assertNotNull(generatedSql);
assertEquals("DELETE FROM " + entity.getName() + " WHERE LOCKING_TEST_ID = ? AND NAME IS NULL", generatedSql);
@@ -106,7 +106,7 @@ public class DeleteBatchTranslatorTest e
DeleteBatchQuery deleteQuery = new DeleteBatchQuery(entity, idAttributes, Collections.<String> emptySet(), 1);
JdbcAdapter adapter = (JdbcAdapter) this.adapter;
- DeleteBatchTranslator builder = new DeleteBatchTranslator(deleteQuery, adapter);
+ DeleteBatchTranslator builder = new DeleteBatchTranslator(deleteQuery, adapter, null);
String generatedSql = builder.createSqlString();
String charStart = unitAdapter.getIdentifiersStartQuote();
@@ -137,7 +137,7 @@ public class DeleteBatchTranslatorTest e
JdbcAdapter adapter = (JdbcAdapter) this.adapter;
- DeleteBatchTranslator builder = new DeleteBatchTranslator(deleteQuery, adapter);
+ DeleteBatchTranslator builder = new DeleteBatchTranslator(deleteQuery, adapter, null);
String generatedSql = builder.createSqlString();
String charStart = unitAdapter.getIdentifiersStartQuote();
Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorTest.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorTest.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorTest.java Mon Mar 17 10:59:00 2014
@@ -63,13 +63,13 @@ public class SoftDeleteBatchTranslatorTe
@Inject
private AdhocObjectFactory objectFactory;
- private DeleteBatchTranslator createBuilder(DeleteBatchQuery query) {
+ private DeleteBatchTranslator createTranslator(DeleteBatchQuery query) {
JdbcAdapter adapter = objectFactory.newInstance(JdbcAdapter.class, JdbcAdapter.class.getName());
- return createBuilder(query, adapter);
+ return createTranslator(query, adapter);
}
- private DeleteBatchTranslator createBuilder(DeleteBatchQuery query, JdbcAdapter adapter) {
- return (DeleteBatchTranslator) new SoftDeleteTranslatorFactory().deleteTranslator(query, adapter);
+ private DeleteBatchTranslator createTranslator(DeleteBatchQuery query, JdbcAdapter adapter) {
+ return (DeleteBatchTranslator) new SoftDeleteTranslatorFactory().translator(query, adapter, null);
}
public void testCreateSqlString() throws Exception {
@@ -78,7 +78,7 @@ public class SoftDeleteBatchTranslatorTe
List<DbAttribute> idAttributes = Collections.singletonList(entity.getAttribute("SOFT_TEST_ID"));
DeleteBatchQuery deleteQuery = new DeleteBatchQuery(entity, idAttributes, Collections.<String> emptySet(), 1);
- DeleteBatchTranslator builder = createBuilder(deleteQuery);
+ DeleteBatchTranslator builder = createTranslator(deleteQuery);
String generatedSql = builder.createSqlString();
assertNotNull(generatedSql);
assertEquals("UPDATE " + entity.getName() + " SET DELETED = ? WHERE SOFT_TEST_ID = ?", generatedSql);
@@ -93,7 +93,7 @@ public class SoftDeleteBatchTranslatorTe
Collection<String> nullAttributes = Collections.singleton("NAME");
DeleteBatchQuery deleteQuery = new DeleteBatchQuery(entity, idAttributes, nullAttributes, 1);
- DeleteBatchTranslator builder = createBuilder(deleteQuery);
+ DeleteBatchTranslator builder = createTranslator(deleteQuery);
String generatedSql = builder.createSqlString();
assertNotNull(generatedSql);
assertEquals("UPDATE " + entity.getName() + " SET DELETED = ? WHERE SOFT_TEST_ID = ? AND NAME IS NULL",
@@ -110,7 +110,7 @@ public class SoftDeleteBatchTranslatorTe
DeleteBatchQuery deleteQuery = new DeleteBatchQuery(entity, idAttributes, Collections.<String> emptySet(), 1);
JdbcAdapter adapter = (JdbcAdapter) this.adapter;
- DeleteBatchTranslator builder = createBuilder(deleteQuery, adapter);
+ DeleteBatchTranslator builder = createTranslator(deleteQuery, adapter);
String generatedSql = builder.createSqlString();
String charStart = unitAdapter.getIdentifiersStartQuote();
Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorTest.java?rev=1578297&r1=1578296&r2=1578297&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorTest.java (original)
+++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorTest.java Mon Mar 17 10:59:00 2014
@@ -56,7 +56,7 @@ public class UpdateBatchTranslatorTest e
public void testConstructor() throws Exception {
DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
- UpdateBatchTranslator builder = new UpdateBatchTranslator(mock(UpdateBatchQuery.class), adapter);
+ UpdateBatchTranslator builder = new UpdateBatchTranslator(mock(UpdateBatchQuery.class), adapter, null);
assertSame(adapter, builder.adapter);
}
@@ -71,7 +71,7 @@ public class UpdateBatchTranslatorTest e
Collections.<String> emptySet(), 1);
DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
- UpdateBatchTranslator builder = new UpdateBatchTranslator(updateQuery, adapter);
+ UpdateBatchTranslator builder = new UpdateBatchTranslator(updateQuery, adapter, null);
String generatedSql = builder.createSqlString();
assertNotNull(generatedSql);
assertEquals("UPDATE " + entity.getName() + " SET DESCRIPTION = ? WHERE LOCKING_TEST_ID = ?", generatedSql);
@@ -90,7 +90,7 @@ public class UpdateBatchTranslatorTest e
UpdateBatchQuery updateQuery = new UpdateBatchQuery(entity, idAttributes, updatedAttributes, nullAttributes, 1);
DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
- UpdateBatchTranslator builder = new UpdateBatchTranslator(updateQuery, adapter);
+ UpdateBatchTranslator builder = new UpdateBatchTranslator(updateQuery, adapter, null);
String generatedSql = builder.createSqlString();
assertNotNull(generatedSql);
@@ -111,7 +111,7 @@ public class UpdateBatchTranslatorTest e
Collections.<String> emptySet(), 1);
JdbcAdapter adapter = (JdbcAdapter) this.adapter;
- UpdateBatchTranslator builder = new UpdateBatchTranslator(updateQuery, adapter);
+ UpdateBatchTranslator builder = new UpdateBatchTranslator(updateQuery, adapter, null);
String generatedSql = builder.createSqlString();
String charStart = unitAdapter.getIdentifiersStartQuote();
@@ -142,7 +142,7 @@ public class UpdateBatchTranslatorTest e
nullAttributes, 1);
JdbcAdapter adapter = (JdbcAdapter) this.adapter;
- UpdateBatchTranslator builder = new UpdateBatchTranslator(updateQuery, adapter);
+ UpdateBatchTranslator builder = new UpdateBatchTranslator(updateQuery, adapter, null);
String generatedSql = builder.createSqlString();
assertNotNull(generatedSql);