diff --git a/jOOQ-test/src/test/java/org/jooq/test/all/testcases/FetchTests.java b/jOOQ-test/src/test/java/org/jooq/test/all/testcases/FetchTests.java index 6d6ec292cd..d664d4f05f 100644 --- a/jOOQ-test/src/test/java/org/jooq/test/all/testcases/FetchTests.java +++ b/jOOQ-test/src/test/java/org/jooq/test/all/testcases/FetchTests.java @@ -65,6 +65,7 @@ import static org.junit.Assert.fail; import java.math.BigDecimal; import java.sql.Date; +import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; @@ -83,6 +84,8 @@ import java.util.NoSuchElementException; import org.jooq.AttachableInternal; import org.jooq.Cursor; +import org.jooq.DSLContext; +import org.jooq.ExecuteContext; import org.jooq.Field; import org.jooq.Record; import org.jooq.Record1; @@ -99,6 +102,8 @@ import org.jooq.conf.Settings; import org.jooq.exception.DataAccessException; import org.jooq.exception.InvalidResultException; import org.jooq.exception.MappingException; +import org.jooq.impl.DefaultConnectionProvider; +import org.jooq.impl.DefaultExecuteListener; import org.jooq.impl.SQLDataType; import org.jooq.test.BaseTest; import org.jooq.test.jOOQAbstractTest; @@ -120,6 +125,8 @@ import org.jooq.test.all.ImmutableAuthorWithConstructorPropertiesAndJPAAnnotatio import org.jooq.test.all.ImmutableAuthorWithConstructorPropertiesAndPublicFields; import org.jooq.test.all.StaticWithAnnotations; import org.jooq.test.all.StaticWithoutAnnotations; +import org.jooq.tools.jdbc.DefaultConnection; +import org.jooq.tools.jdbc.DefaultPreparedStatement; import org.jooq.tools.jdbc.JDBCUtils; import org.junit.Assert; @@ -1462,12 +1469,16 @@ extends BaseTest cursor = create().selectFrom(TBook()).orderBy(TBook_ID()).fetchSize(fetchSize).fetchLazy(); + Cursor cursor = create.selectFrom(TBook()).orderBy(TBook_ID()).fetchSize(fetchSize).fetchLazy(); + assertFetchSize(fetchSize, listener); assertTrue(cursor.hasNext()); assertTrue(cursor.hasNext()); @@ -1519,7 +1530,8 @@ extends BaseTest fetch0 = cursor.fetch(0); assertTrue(fetch0.isEmpty()); @@ -1559,6 +1572,34 @@ extends BaseTest extends AbstractQuery imple @Override public final Cursor fetchLazy() { - return fetchLazy(0); + return fetchLazy(fetchSize); } @Override @Deprecated public final Cursor fetchLazy(int size) { + final int previousFetchSize = fetchSize; + + // [#3515] TODO: Avoid modifying a Query's per-execution state lazy = true; fetchSize = size; @@ -354,7 +357,7 @@ abstract class AbstractResultQuery extends AbstractQuery imple } finally { lazy = false; - fetchSize = 0; + fetchSize = previousFetchSize; } return cursor; @@ -362,6 +365,8 @@ abstract class AbstractResultQuery extends AbstractQuery imple @Override public final List> fetchMany() { + + // [#3515] TODO: Avoid modifying a Query's per-execution state many = true; try {