Preferred library holdings no longer return when searching at system level
Bug #1756912 reported by
Bob Wicksall
This bug affects 6 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Medium
|
Unassigned | ||
3.1 |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Evergreen 3.0.4
I logon as a patron and set my "Preferred search location" to Geneva public library. Next I search for Hobbit at the System level. In at least Evergreen 2.10 I get the following holdings information if Geneva has a copy:
14 of 16 copies available at OWWL
1 of 1 copy available at Geneva Public Library
In Evergreen 3.0 I just get:
14 of 16 copies available at OWWL
Since the upgrade to 3.0 holdings information for "pref_lib" is no longer returned.
Changed in evergreen: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
tags: | added: opac regression |
Changed in evergreen: | |
milestone: | 3.0.5 → 3.0.6 |
Changed in evergreen: | |
milestone: | 3.0.6 → 3.0.7 |
Changed in evergreen: | |
milestone: | 3.0.7 → 3.0.8 |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
After a little digging it looks like this was caused by LP#1698206: Eliminate Staged Search.
unapi.biblio_ record_ entry_feed replaced unapi.bre in WWW/EGCatLoader /Util.pm. Util.pm is continuing to send 'pref_lib' but it's in the wrong parameter (title). Also, unapi.biblio_ record_ entry_feed and unapi.metabib_ virtual_ record_ feed don't know what to do with pref_lib once they get it.
I was able to restore pref_lib functionality with the following hack on my test server. This has been very lightly.
******* ******* ******* ******* *** WWW/EGCatLoader /Util.pm ******* ******* ******* ***
OpenILS/
*******
--- Util.pm.orig 2018-03-20 15:45:29.232569315 -0400
$ unapi_args- >{site} ,
$ unapi_args- >{depth} ,
$ slimit, args->{ pref_lib} args->{ pref_lib}
+++ Util.pm 2018-03-20 15:47:02.348572718 -0400
@@ -406,7 +406,7 @@
- undef, undef, $unapi_
+ undef, undef, undef, undef, undef, undef, undef, undef, $unapi_
]}
);
******* ******* ******* ******* ** record_ entry_feed ******* ******* ******* **
unapi.biblio_
*******
--- unapi.biblio_ record_ entry_feed. txt 2018-03-16 16:44:39.928533700 -0400 record_ entry_feed_ pls.txt 2018-03-20 16:02:46.125997337 -0400 record_ entry_feed( bigint[ ], text, text[], text, integer, hstore, hstore, boolean, text, text, text, text, text, xml) record_ entry_feed( bigint[ ], text, text[], text, integer, hstore, hstore, boolean, text, text, text, text, text, xml, integer)
+++ unapi.biblio_
@@ -1,6 +1,6 @@
--- Function: unapi.biblio_
+-- Function: unapi.biblio_
--- DROP FUNCTION unapi.biblio_ record_ entry_feed( bigint[ ], text, text[], text, integer, hstore, hstore, boolean, text, text, text, text, text, xml); record_ entry_feed( bigint[ ], text, text[], text, integer, hstore, hstore, boolean, text, text, text, text, text, xml, integer);
+-- DROP FUNCTION unapi.biblio_
CREATE OR REPLACE FUNCTION unapi.biblio_ record_ entry_feed( transform. namespace_ uri,xmlns_ uri);
id_list bigint[],
@@ -16,7 +16,8 @@
creator text DEFAULT NULL::text,
update_ts text DEFAULT NULL::text,
unapi_url text DEFAULT NULL::text,
- header_xml xml DEFAULT NULL::xml)
+ header_xml xml DEFAULT NULL::xml,
+ pref_lib integer DEFAULT NULL::integer)
RETURNS xml AS
$BODY$
DECLARE
@@ -44,7 +45,7 @@
xmlns_uri := COALESCE(
-- Gather the bib xml
- SELECT XMLAGG( unapi.bre(i, format, '', includes, org, depth, slimit, soffset, include_xmlns)) INTO tmp_xml FROM UNNEST( id_list ) i;
+ SELECT XMLAGG( unapi.bre(i, format, '', includes, org, depth, slimit, soffset, include_xmlns, pref_lib)) INTO tmp_xml FROM UNNEST( id_list ) i;
IF layout. title_element IS NOT NULL THEN title_element ||', XMLATTRIBUTES( $1 AS xmlns), $3), $2)' INTO tmp_xml USING xmlns_uri, tmp_xml::XML, title; record_ entry_feed( bigint[ ], text, text[], text, integer, hstore, hstore, boolean, text, text, text, text, text, xml) record_ entry_feed( bigint[ ], text, text[], text, integer, hstore, hstore, boolean, text, te...
EXECUTE 'SELECT XMLCONCAT( XMLELEMENT( name '|| layout.
@@ -78,5 +79,5 @@
$BODY$
LANGUAGE plpgsql STABLE
COST 100;
-ALTER FUNCTION unapi.biblio_
+ALTER FUNCTION unapi.biblio_