Angular reporter - table name specified more than once

Bug #2092695 reported by Garry Collum
40
This bug affects 11 people
Affects Status Importance Assigned to Milestone
Evergreen
Fix Released
High
Unassigned
3.13
Fix Released
High
Unassigned
3.14
Fix Released
High
Unassigned

Bug Description

Evergreen 3.13.6 and current master.

This bug occurs with the Hold Transit table, but possibly also occurs with other tables that define more than one type of organizational unit.

If try to display the short name of the destination library and the short names of either the sending library or the Transited Item -> Circulating Library, the report errors out with a 'table name specified more than once error'.

To replicate in Concerto place a hold for a patron and check that item in so it goes intransit.

Create a report template using the Hold Transit table. Display the Transit ID, and the Destination Library -> Shortname.

Run the report.

Clone the template and add the Sending Library -> Shortname to the display.

Run the report again. You should receive an error in the results.

If you create a report displaying the Destination Library link and the Sending Library link, instead of trying to use the shortnames, the proper organization unit ID's do display in the results.

Changed in evergreen:
status: New → Confirmed
Revision history for this message
Jennifer Pringle (jpringle-u) wrote :

Additional info in duplicate bug https://bugs.launchpad.net/evergreen/+bug/2106410

tags: added: angular regression
Changed in evergreen:
importance: Undecided → High
Revision history for this message
Jennifer Pringle (jpringle-u) wrote :

This is preventing us from recreating reports teplates we had in the old reporter.

Additional tables that we've found affected so far are circ matrix matchpoint and hold request.

Revision history for this message
Mike Rylander (mrylander) wrote :

I've found the root cause of this, and pushed a branch to address it:

https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/miker/lp-2092695-report-table-alias-fix

From the commit message:

When calculating the alias to use for a table in a report, we need to include the linking column names to disambiguate which "version" of the joined table we're passing through in a particular join path. This commit does that whenever there is column-level data available.

To test:

1) Create a template starting from the Hold Transit source that displays the Shortname of the Sending Library AND the Destination Library. See that the template cause an error when run.

2) Apply this patch, and then clone the template from (1). See that the report runs correctly.

NOTE: To fix templates without having to clone them and then clean up the old ones, you can choose the Clone action on the template, change the URL path component from "clone" to "edit" once it loads, and then save the template. The join aliases are calculated when the template is saved, so this will repair the template in place.

tags: added: pullrequest
Galen Charlton (gmc)
Changed in evergreen:
milestone: none → 3.15.1
Revision history for this message
Galen Charlton (gmc) wrote :

Tested and pushed down to rel_3_13. Thanks, Mike!

Changed in evergreen:
status: Confirmed → Fix Committed
Changed in evergreen:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.