Project

General

Profile

Feature #14801

Association query objects should not ignore non-dereferenceable pointers given as input

Added by Gianluca Petrillo over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Target version:
Start date:
12/09/2016
Due date:
% Done:

100%

Estimated time:
32.00 h
Spent time:
Scope:
Internal
Experiment:
-
SSI Package:
art
Duration:

Description

The current behaviour of the query objects FindOne/FindMany is to treat art pointers in the query list that are not dereferenceable as not being associated with anything.
For example:

art::FindManyP<B> query({ ptrA1, ptrA2 }, event, inputTag);
std::vector<art::Ptr<B>> BfromA1 = query.at(0);

will always return an empty vector if ptrA1 is not resolvable (e.g. if its data product has been dropped).
This means that an empty vector as result can mean either that there is no associated B, or that the A pointer is not dereferenceable.
Likewise, FindOneP will return an "invalid" art::maybe_ref.

This request is for FindXxx to return the associated objects even when the reference object is a non-dereferenceable (but still, of course, valid) art pointer.
In this way, the result of an empty vector or a invalid maybe_ref will always mean that there are no associated B's to that art pointer (unless that art pointer is default-constructed, but that's a different issue).

Incidentally, the query algorithm might be in principle faster if it hadn't to try and dereference the art pointers.


Related issues

Has duplicate canvas - Bug #14763: FindMany silently ignores associations to non-available productsClosed12/05/2016

History

#1 Updated by Christopher Green over 3 years ago

  • Status changed from New to Assigned
  • Assignee set to Christopher Green
  • Estimated time set to 32.00 h

#2 Updated by Kyle Knoepfel over 3 years ago

  • Status changed from Assigned to Resolved
  • Target version set to 2.06.00
  • % Done changed from 0 to 100

#3 Updated by Kyle Knoepfel over 3 years ago

  • Status changed from Resolved to Closed

#4 Updated by Christopher Green over 3 years ago

  • Related to Bug #14763: FindMany silently ignores associations to non-available products added

#5 Updated by Christopher Green over 3 years ago

  • Related to deleted (Bug #14763: FindMany silently ignores associations to non-available products)

#6 Updated by Christopher Green over 3 years ago

  • Is duplicate of Bug #14763: FindMany silently ignores associations to non-available products added

#7 Updated by Christopher Green over 3 years ago

  • Is duplicate of deleted (Bug #14763: FindMany silently ignores associations to non-available products)

#8 Updated by Christopher Green over 3 years ago

  • Has duplicate Bug #14763: FindMany silently ignores associations to non-available products added


Also available in: Atom PDF