[Koha-bugs] [Bug 10662] Build OAI-PMH Harvesting Client

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Fri Nov 2 01:10:01 CET 2018


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10662

--- Comment #221 from David Cook <dcook at prosentient.com.au> ---
(In reply to Josef Moravec from comment #211)
> Comment on attachment 81783 [details] [review]
> Bug 10662: Build OAI-PMH Harvesting Client
> 
> Review of attachment 81783 [details] [review]:
> -----------------------------------------------------------------
> 
> ::: Koha/OAI/Harvester/Worker/Download/Stream.pm
> @@ +111,5 @@
> > +    }
> > +
> > +    #NOTE: Prepare database statement handle
> > +    my $dbh = C4::Context->dbh;
> > +    my $sql = "insert into oai_harvester_import_queue (uuid,result) VALUES (?,?)";
> 
> You should not use SQL in Koha modules, use
> Koha::OAI::Harvester::ImportQueue->new in place of execution of this
> statement

Ordinarily, I would agree. However, Koha::Object[s] use DBIx::Class, which is
very slow. If you read more of Koha::OAI::Harvester::Download::Stream, you'll
see that I re-use the same prepared statement handle (something we
unfortunately have never done in Koha), which makes the inserts much much much
faster. 

Here I'm aiming for high performance. DBIx::Class was built for convenience
rather than performance, so I've opted to use DBI and SQL, as it's just so much
faster. 

As a side note, Tomas and I chatted a bit at Kohacon about making the
harvester's workers use Koha's plugins, so perhaps this is something where the
built-in for Koha could use DBIC, and I could provide a more high performance
plugin outside of Koha. Although it seems a shame that we'd prefer low
performance over high performance :/.

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list