Bugzilla – Attachment 65416 Details for
Bug 19023
inventory tool performance
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 19023 - inventory tool performance
Bug-19023---inventory-tool-performance.patch (text/plain), 3.30 KB, created by
Fridolin Somers
on 2017-08-02 09:26:33 UTC
(
hide
)
Description:
Bug 19023 - inventory tool performance
Filename:
MIME Type:
Creator:
Fridolin Somers
Created:
2017-08-02 09:26:33 UTC
Size:
3.30 KB
patch
obsolete
>From 842178ec6984109909312d4b105d9223dc89660c Mon Sep 17 00:00:00 2001 >From: Fridolin Somers <fridolin.somers@biblibre.com> >Date: Wed, 2 Aug 2017 11:21:58 +0200 >Subject: [PATCH] Bug 19023 - inventory tool performance > >Inventory tool performance seems to be worst since 16.11. >I think it is because of authorized values computing changed by Bug 17249. > >For each subfield of each item, we try to get the authorized value description with Koha::AuthorisedValues->search_by_marc_field. >But this method does not use cache like Koha::AuthorisedValues->get_description_by_koha_field. > >I propose to use Koha::AuthorisedValues->get_description_by_koha_field and also to look for authorized value description only for item fields used in TT : location, notforloan, itemlost, damaged, withdrawn. > >I have experimented inventory time on 100 items from 5s to 1s. > >Test plan : >- Without patch >- Perform inventory with barcode file >- Check results and mesure execution time >- Apply patch >- Reperform inventory with same barcode file >- Check results is the same >- Compare execution time >- Run prove t/db_dependent/Items/GetItemsForInventory.t >--- > tools/inventory.pl | 24 +++++++++--------------- > 1 file changed, 9 insertions(+), 15 deletions(-) > >diff --git a/tools/inventory.pl b/tools/inventory.pl >index d6f9e4a..8df02ab 100755 >--- a/tools/inventory.pl >+++ b/tools/inventory.pl >@@ -257,20 +257,14 @@ if( @scanned_items ) { > # status, or are still checked out. > foreach my $item ( @scanned_items ) { > $item->{notforloancode} = $item->{notforloan}; # save for later use >- >- # Populating with authorised values >- foreach my $field ( keys %$item ) { >- # If the koha field is mapped to a marc field >- my $fc = $item->{'frameworkcode'} || ''; >- my ($f, $sf) = GetMarcFromKohaField("items.$field", $fc); >- if ($f and $sf) { >- # We replace the code with it's description >- my $av = Koha::AuthorisedValues->search_by_marc_field({ frameworkcode => $fc, tagfield => $f, tagsubfield => $sf, }); >- $av = $av->count ? $av->unblessed : []; >- my $authvals = { map { ( $_->{authorised_value} => $_->{lib} ) } @$av }; >- if ($authvals and defined $item->{$field} and defined $authvals->{$item->{$field}}) { >- $item->{$field} = $authvals->{$item->{$field}}; >- } >+ my $fc = $item->{'frameworkcode'} || ''; >+ >+ # Populating with authorised values description >+ foreach my $field (qw/ location notforloan itemlost damaged withdrawn /) { >+ my $av = Koha::AuthorisedValues->get_description_by_koha_field( >+ { frameworkcode => $fc, kohafield => "items.$field", authorised_value => $item->{$field} } ); >+ if ( $av and defined $item->{$field} and defined $av->{lib} ) { >+ $item->{$field} = $av->{lib}; > } > } > >@@ -358,7 +352,7 @@ if (defined $input->param('CSVexport') && $input->param('CSVexport') eq 'on'){ > $csv->combine(@translated_keys); > print $csv->string, "\n"; > >- my @keys = qw / title author barcode itemnumber homebranch location itemcallnumber notforloan lost damaged withdrawn stocknumber /; >+ my @keys = qw/ title author barcode itemnumber homebranch location itemcallnumber notforloan lost damaged withdrawn stocknumber /; > for my $item ( @$loop ) { > my @line; > for my $key (@keys) { >-- >2.7.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 19023
:
65416
|
65426
|
65435