protected void deregisterResultSet()

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);
                }
            }
        }
    }