let unlink_query = fun query ->
    let (queries, to_be_removed) =
      List.partition (fun q -> q.qry_name <> q.qry_name)
        query.qry_db.db_queries
    in
    query.qry_db.db_queries <- queries;
    match to_be_removed with
    | [q] -> q.qry_db <- (Obj.magic 0)
    | _   -> Dbf_misc.ie ()