// method, instead of relying on DefaultResultIterator to do that later
if (!observer.isIteratedResult()) {
// note that we don't need to close ResultIterator
// since "dataRows" will do it internally
List<DataRow> resultRows = it.dataRows(true);
QueryLogger
.logSelectCount(resultRows.size(), System.currentTimeMillis() - t1);
observer.nextDataRows(query, resultRows);
}