Bug 11677: Use zebra not-onloan-count index for availability limit
This uses the work from bug 18098 to use the count of not-onloan items to
determine availability.
It keeps the allrecords,AlwaysMatches='' portion of the query so it still catches
records with the tested indexed missing.
These shouldn't exist except in the case of missing data, but kept for future use as well as
it has no negative impact and minimizes the change made.
Note that availability in this sense means not check out and not lost. Transfers, holds, and not for loan statuses
should probably have indexes built in the same way as bug 18098 (there are related FIXMEs in the code)
This updates the export_records file used for testing - adding three records with a not-onloan-count (999$x) of 1,
but marking the item on the third record lost to prevent its return
To test:
1 - make sure SearchEngine pref is set to 'Zebra'
2 - Do a search on the OPAC that returns some records
3 - Find a record in those results with more than one 1 item, and checkout 1 leaving 1 (or more) available
4 - Find another record with only 1 item, check that item out
5 - Limit opac search to available items - both records disappear
6 - Apply patch
7 - Restart all the things
8 - Repeat search
9 - First record should show, but no second
10 - Mark other items of first record as lost, return items on second record
11 - Repeat search, first record should not be in results, second should
12 - prove -v t/db_dependent/Search.t
Signed-off-by: Hayley Mapley <hayleymapley@catalyst.net.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit
d4468c5f33f03cbd616527a558c1b67670089642)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>