Is there really a need to rewrite Spock tests to another testing framework?
Remko. (Shameless plug) Every java main() method deserves http://picocli.info > On Mar 7, 2019, at 6:25, Gary Gregory <garydgreg...@gmail.com> wrote: > > Robert, > > This seems like a fine addition to DbUtils. I'd love to see a PR on GitHub. > Adding more documentation would be nice. WRT bringing this into DbUtils, > can we avoid adding a new interface by using Java 8 default methods > on QueryRunner? If DbUtils is not on Java 8, we can bring it up to Java 8. > > Gary > > On Wed, Mar 6, 2019 at 1:05 PM Robert Huffman <robert.huff...@gmail.com> > wrote: > >> I like DbUtils QueryRunner, but the thing that has always bothered me is >> that it forces me to read the entire ResultSet into memory rather than >> allowing me to use cursors. So I developed a little library to do that, >> which I called dbstream, which is on GitHub: >> https://github.com/rhuffman/dbstream/ >> >> It provides an abstract StreamingResultSetHandler that will return a >> Stream<T>, which each element is built from one row of the query. It >> utilizes cursors by keeping the ResultSet (and underlying Connection) open >> until the Stream is closed. There are three concrete subclasses of the >> handler: >> >> - ArrayStreamingHandler: returns a Stream<Object[]>, where each Object[] >> is the values from a row of the result >> - ObjectStreamingHandler: returns a Stream<Object>, where each object is >> a bean built from a row of the result >> - MapStreamingHandler: returns a Stream<Map<String,Object>>, where each >> object is a map of column names and values built from a row of the >> result >> >> Of course, the QueryRunner.query methods close their database objects >> before returning, so I needed different query methods to execute the query. >> I extended QueryRunner to create StreamingQueryRunner with these two >> methods: >> >> - public <T> Stream<T> queryAsStream( >> String sql, >> StreamingResultSetHandler<T> handler, >> Object... args) >> >> - public <T> Stream<T> queryAsStream( >> Connection connection, >> String sql, >> StreamingResultSetHandler<T> handler, >> Object... args) >> >> >> I'm probably going to publish it to Maven Central. However, would the >> DbUtils developers be amenable to doing something like this directly in >> DbUtils? I could integrate the work into DbUtils and give you a pull >> request. It might take me a bit because I would have to convert the tests >> from Spock, but it wouldn't be too bad. >> --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org