FetchSizeTest.java
package org.sqlite;
import static org.assertj.core.api.Assertions.assertThat;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
/**
 * Created by IntelliJ IDEA. User: david_donn Date: 19/01/2010 Time: 11:50:24 AM To change this
 * template use File | Settings | File Templates.
 */
public class FetchSizeTest {
    private Connection conn;
    @BeforeEach
    public void connect() throws Exception {
        conn = DriverManager.getConnection("jdbc:sqlite:");
    }
    @AfterEach
    public void close() throws SQLException {
        conn.close();
    }
    @Test
    public void testFetchSize() throws SQLException {
        assertThat(conn.prepareStatement("create table s1 (c1)").executeUpdate()).isEqualTo(0);
        PreparedStatement insertPrep = conn.prepareStatement("insert into s1 values (?)");
        insertPrep.setInt(1, 1);
        assertThat(insertPrep.executeUpdate()).isEqualTo(1);
        insertPrep.setInt(1, 2);
        assertThat(insertPrep.executeUpdate()).isEqualTo(1);
        insertPrep.setInt(1, 3);
        assertThat(insertPrep.executeUpdate()).isEqualTo(1);
        insertPrep.setInt(1, 4);
        assertThat(insertPrep.executeUpdate()).isEqualTo(1);
        insertPrep.setInt(1, 5);
        assertThat(insertPrep.executeUpdate()).isEqualTo(1);
        insertPrep.close();
        PreparedStatement selectPrep = conn.prepareStatement("select c1 from s1");
        ResultSet rs = selectPrep.executeQuery();
        rs.setFetchSize(2);
        assertThat(rs.next()).isTrue();
        assertThat(rs.next()).isTrue();
        assertThat(rs.next()).isTrue();
        assertThat(rs.next()).isTrue();
        assertThat(rs.next()).isTrue();
        assertThat(rs.next()).isFalse();
    }
}