Comment 6 for bug 1419813

Revision history for this message
Chris Sharp (chrissharp123) wrote :

Thanks again, Galen.

Well, moving onwards, though, I'd like to reframe this ticket to be broader than "the IDL has the wrong join type".

The problem at this point is that "has_a" is conceptually incorrect here because not every item has an entry in config.rule_age_hold_protect, but changing that to "might_have" causes the SQL builder (either in the JS or Perl layer) to join on crahp.id = asset.copy.id (or reporter.classic_item_list.id) which is obviously wrong and ignores the IDL.

The suggested workaround was to keep the "rel" type as "has_a" and use nullability to force the correct join. But when I tried that, it only allows "Parent" nullability (e.g., a RIGHT OUTER LOIN) when what's needed is a LEFT (OUTER) JOIN. So until this is fixed, there is not a way to create a report template that will display hold age protection rules correctly.

While this is the only instance of this issue I've seen, I would suspect the problem is more widespread.