Merge pull request #4555 from BrentDouglas/fix/4554
[#4554] Ensure batches are sent
This commit is contained in:
commit
88e1ad26ae
@ -75,6 +75,10 @@ class BatchMultiple implements Batch {
|
||||
|
||||
@Override
|
||||
public final int[] execute() {
|
||||
return execute(configuration, queries);
|
||||
}
|
||||
|
||||
static int[] execute(final Configuration configuration, final Query[] queries) {
|
||||
ExecuteContext ctx = new DefaultExecuteContext(configuration, queries);
|
||||
ExecuteListener listener = new ExecuteListeners(ctx);
|
||||
Connection connection = ctx.connection();
|
||||
|
||||
@ -181,6 +181,12 @@ class BatchSingle implements BatchBindStep {
|
||||
}
|
||||
|
||||
private final int[] executePrepared() {
|
||||
// [#4554] If no variables are bound this should be treated like a
|
||||
// BatchMultiple as the intention was most likely to call the varargs
|
||||
// version of DSLContext#batch(Query... queries) with a single parameter.
|
||||
if (allBindValues.isEmpty()) {
|
||||
return BatchMultiple.execute(configuration, new Query[] { query });
|
||||
}
|
||||
ExecuteContext ctx = new DefaultExecuteContext(configuration, new Query[] { query });
|
||||
ExecuteListener listener = new ExecuteListeners(ctx);
|
||||
Connection connection = ctx.connection();
|
||||
|
||||
@ -234,8 +234,8 @@ public class MockTest extends AbstractTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBatchSingle() {
|
||||
DSLContext e = DSL.using(new MockConnection(new BatchSingle()), SQLDialect.H2);
|
||||
public void testBatchMultiple() {
|
||||
DSLContext e = DSL.using(new MockConnection(new BatchMultiple()), SQLDialect.H2);
|
||||
|
||||
int[] result =
|
||||
e.batch(
|
||||
@ -248,7 +248,7 @@ public class MockTest extends AbstractTest {
|
||||
assertEquals(1, result[1]);
|
||||
}
|
||||
|
||||
class BatchSingle implements MockDataProvider {
|
||||
class BatchMultiple implements MockDataProvider {
|
||||
|
||||
@Override
|
||||
public MockResult[] execute(MockExecuteContext ctx) throws SQLException {
|
||||
@ -268,8 +268,8 @@ public class MockTest extends AbstractTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBatchMultiple() {
|
||||
DSLContext e = DSL.using(new MockConnection(new BatchMultiple()), SQLDialect.H2);
|
||||
public void testBatchSingle() {
|
||||
DSLContext e = DSL.using(new MockConnection(new BatchSingle()), SQLDialect.H2);
|
||||
|
||||
Query query = e.query("insert into x values(?, ?)", null, null);
|
||||
|
||||
@ -284,7 +284,7 @@ public class MockTest extends AbstractTest {
|
||||
assertEquals(1, result[1]);
|
||||
}
|
||||
|
||||
class BatchMultiple implements MockDataProvider {
|
||||
class BatchSingle implements MockDataProvider {
|
||||
|
||||
@Override
|
||||
public MockResult[] execute(MockExecuteContext ctx) throws SQLException {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user