[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