Bugzilla – Attachment 69778 Details for
Bug 19599
anonymise_issue_history can be very slow on large systems
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 19599: Execute 1 query per patron
Bug-19599-Execute-1-query-per-patron.patch (text/plain), 2.25 KB, created by
Nick Clemens
on 2017-12-13 15:45:25 UTC
(
hide
)
Description:
Bug 19599: Execute 1 query per patron
Filename:
MIME Type:
Creator:
Nick Clemens
Created:
2017-12-13 15:45:25 UTC
Size:
2.25 KB
patch
obsolete
>From 383f20cf582ccc377cd3694aa17b41850248e344 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Thu, 9 Nov 2017 10:34:08 -0300 >Subject: [PATCH] Bug 19599: Execute 1 query per patron > >Signed-off-by: Nick Clemens <nick@bywatersolutions.com> >--- > Koha/Patron.pm | 12 +++++++++--- > Koha/Patrons.pm | 13 ++++++++----- > 2 files changed, 17 insertions(+), 8 deletions(-) > >diff --git a/Koha/Patron.pm b/Koha/Patron.pm >index 92e70a5..c13706d 100644 >--- a/Koha/Patron.pm >+++ b/Koha/Patron.pm >@@ -512,14 +512,20 @@ sub add_enrolment_fee_if_needed { > > =head3 checkouts > >-my $issues = $patron->checkouts >+my $checkouts = $patron->checkouts > > =cut > > sub checkouts { > my ($self) = @_; >- my $issues = $self->_result->issues; >- return Koha::Checkouts->_new_from_dbic( $issues ); >+ my $checkouts = $self->_result->issues; >+ return Koha::Checkouts->_new_from_dbic( $checkouts ); >+} >+ >+sub old_checkouts { >+ my ($self) = @_; >+ my $old_checkouts = $self->_result->old_issues; >+ return Koha::Old::Checkouts->_new_from_dbic( $old_checkouts ); > } > > =head3 get_overdues >diff --git a/Koha/Patrons.pm b/Koha/Patrons.pm >index 263cec7..fd2b997 100644 >--- a/Koha/Patrons.pm >+++ b/Koha/Patrons.pm >@@ -168,8 +168,9 @@ sub anonymise_issue_history { > # The anonymisation should not fail quietly if AnonymousPatron is not a valid entry > # Set it to undef (NULL) > my $dtf = Koha::Database->new->schema->storage->datetime_parser; >- my $old_issues_to_anonymise = $self->search_related( >- 'old_issues', >+ my $nb_rows = 0; >+ while ( my $patron = $self->next ) { >+ my $old_issues_to_anonymise = $patron->old_checkouts->search( > { > ( > $older_than_date >@@ -178,9 +179,11 @@ sub anonymise_issue_history { > : () > ) > } >- ); >- my $anonymous_patron = C4::Context->preference('AnonymousPatron') || undef; >- $old_issues_to_anonymise->update( { 'old_issues.borrowernumber' => $anonymous_patron } ); >+ ); >+ my $anonymous_patron = C4::Context->preference('AnonymousPatron') || undef; >+ $nb_rows += $old_issues_to_anonymise->update( { 'old_issues.borrowernumber' => $anonymous_patron } ); >+ } >+ return $nb_rows; > } > > =head3 type >-- >2.1.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 19599
:
69052
|
69054
|
69778
|
69860
|
69999