From: Dobrica Pavlinusic Date: Sun, 24 Oct 2010 18:29:19 +0000 (+0200) Subject: fetch marc for GetMarcBiblio and skip xml parsing X-Git-Url: http://git.rot13.org/?a=commitdiff_plain;h=a18a7f709447cccf617e8fa5b545d6a82606deeb;hp=095b0af09d6cbc2bf579ba6ae353b9715b035118;p=koha.git fetch marc for GetMarcBiblio and skip xml parsing this is *HUGE* performance improvement old new stmts 1112898 786000 subs 295048 228382 --- diff --git a/C4/Biblio.pm b/C4/Biblio.pm index a24079d595..7d6d3d9bd0 100644 --- a/C4/Biblio.pm +++ b/C4/Biblio.pm @@ -1066,6 +1066,9 @@ sub GetMarcBiblio { my $biblionumber = shift; my $embeditems = shift || 0; my $dbh = C4::Context->dbh; + +=for slow + my $sth = $dbh->prepare("SELECT marcxml FROM biblioitems WHERE biblionumber=? "); $sth->execute($biblionumber); my $row = $sth->fetchrow_hashref; @@ -1082,6 +1085,16 @@ sub GetMarcBiblio { C4::Biblio::EmbedItemsInMarcBiblio($record, $biblionumber) if ($embeditems); return $record; + +=cut + + my $sth = $dbh->prepare("SELECT marc FROM biblioitems WHERE biblionumber=? "); + $sth->execute($biblionumber); + my $row = $sth->fetchrow_hashref; + if ( $row->{marc} ) { + my $record = MARC::Record->new(); + $record = MARC::Record::new_from_usmarc( $row->{marc} ); + return $record; } else { return undef; }