in asterixdb-jdbc/asterix-jdbc-core/src/main/java/org/apache/asterix/jdbc/core/ADBStatement.java [457:476]
protected void deregisterResultSet(ADBResultSet rs) {
if (rs.rowParserOwnsResources) {
resultSetsWithResources.remove(rs);
} else {
resultSetsWithoutResources.removeIf(ref -> {
ADBResultSet refrs = ref.get();
return refrs == null || refrs == rs;
});
}
if (closeOnCompletion && resultSetsWithResources.isEmpty() && resultSetsWithoutResources.isEmpty()) {
try {
closeImpl(false, true);
} catch (SQLException e) {
// this exception shouldn't happen because there are no result sets to close
if (getLogger().isLoggable(Level.FINE)) {
getLogger().log(Level.FINE, e.getMessage(), e);
}
}
}
}