call number browse (shelflist) disjointed for LC normalized call numbers
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
High
|
Dan Wells |
Bug Description
Testing of the new normalized call number browse revealed frequent failure with disjointed results. While the best possible fix is already outlined well in Bug #690829, the attached patch (against rel_2_0) attempts to address a majority of the typical cases in at least a "we are migrating this sucker tomorrow" kind of way :-)
The current failure results from the fact that selecting on the label but sorting on the label_key allows incorrect results into the 'after' set. For example, a browse of LC call number "Z7026 .K3" gives a middle row of:
Z6941 .M23 ------- Z8 .F8 H57 1989 ------- Z8 .G72 K56 2006
The actual call number browsed is not even on the page, and the "Z8 ..." numbers get into the set because their label is in fact 'greater' than "Z7026", but then get moved to the front of the selection because the label_sortkey sort value is much lower than "Z7026" (it is "Z0008 ...").
Though further testing (particular of non-LC data) would be wise, I think we should commit this patch (or something very similar) to rel_2_0 to address the immediate known issues while the more comprehensive solution is targeted at 2_1. This patch also assumes that the label_sortkey contains meaningful value, so any edge cases which result in a blank sortkey will need to be addressed separately.
description: | updated |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
I am concerned about possible regression on this issue:
http:// svn.open- ils.org/ trac/ILS/ changeset/ 19560
but at this point I am unable to reproduce it with the data I have. Test cases, if known would be much appreciated.