In vert.x we have the test:
@Test public void testStreamOnClosedConnection() { String sql = "SELECT ID, FNAME, LNAME FROM select_table ORDER BY ID"; final AtomicInteger cnt = new AtomicInteger(0); final SQLConnection conn = connection(); conn.queryStream(sql, onSuccess(res -> { conn.close(); res.resultSetClosedHandler(v -> { fail("Should not happen"); }).handler(row -> { fail("Should not happen"); }).endHandler(v -> { fail("Should not happen"); }).exceptionHandler(t -> { testComplete(); }); })); await(); }
Now once the query is run we call conn.close() and all remaining handlers show fail except the exception handler, however the test fails and I do get the data from the result set.
This is quite strange since it works for other pools C3P0, Hikari, BoneCP.