[Koha-bugs] [Bug 27463] New: OAI-PMH date handling in ListBase.pm
bugzilla-daemon at bugs.koha-community.org
bugzilla-daemon at bugs.koha-community.org
Mon Jan 18 15:38:51 CET 2021
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=27463
Bug ID: 27463
Summary: OAI-PMH date handling in ListBase.pm
Change sponsored?: ---
Product: Koha
Version: 20.11
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P5 - low
Component: Web services
Assignee: koha-bugs at lists.koha-community.org
Reporter: rudolfbyker at gmail.com
QA Contact: testopia at bugs.koha-community.org
Currently in Koha/OAI/Server/ListBase.pm two different criteria are used for
querying dates and displaying dates. When displaying the "Last Modified" date,
this is used:
SELECT MAX(timestamp)
FROM (
SELECT timestamp FROM biblio_metadata WHERE biblionumber = ?
UNION
SELECT timestamp FROM deleteditems WHERE biblionumber = ?
UNION
SELECT timestamp FROM items WHERE biblionumber = ?
) bi
But when querying, only biblio_metadata.timestamp is used.
This should be made consistent. We could use a query like this (using a join,
but removing the need to do a separate query for each record, so it might
actually be faster than what we have now):
select bm.biblionumber, greatest(bm.timestamp, i.timestamp) as t from
biblio_metadata bm inner join items i on bm.biblionumber=i.biblionumber having
t >= '2020-07-14' and t <= '2020-07-15' limit 10;
Furthermore, we should only use items.timestamp and deleteditems.timestamp when
the user has the "include_items" option set in their OAI-PMH config. It does
not make sense to query item timestamps if you are only sending data about the
records, and not the items. Therefore, if "include_items" is disabled, we can
do a simpler query:
select biblionumber, timestamp from biblio_metadata where timestamp >=
'2020-07-14' and timestamp <= '2020-07-15' limit 10;
See full discussion on IRC:
http://irc.koha-community.org/koha/2021-01-18#i_2324076
Definition of "datestamp" for reference:
https://www.openarchives.org/OAI/openarchivesprotocol.html#Datestamp
--
You are receiving this mail because:
You are the assignee for the bug.
You are watching all bug changes.
More information about the Koha-bugs
mailing list