Bugzilla – Attachment 16431 Details for
Bug 9726
XISBN service throttle not initialized
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[SIGNED-OFF] Bug 9726: XISBN service throttle not initialized
SIGNED-OFF-Bug-9726-XISBN-service-throttle-not-ini.patch (text/plain), 2.60 KB, created by
Owen Leonard
on 2013-03-19 17:04:31 UTC
(
hide
)
Description:
[SIGNED-OFF] Bug 9726: XISBN service throttle not initialized
Filename:
MIME Type:
Creator:
Owen Leonard
Created:
2013-03-19 17:04:31 UTC
Size:
2.60 KB
patch
obsolete
>From bc4e27fa62f4939ca51849098e0678cbdd7eedf3 Mon Sep 17 00:00:00 2001 >From: Fridolyn SOMERS <fridolyn.somers@biblibre.com> >Date: Thu, 28 Feb 2013 10:04:17 +0100 >Subject: [PATCH] [SIGNED-OFF] Bug 9726: XISBN service throttle not > initialized >Content-Type: text/plain; charset="utf-8" > >For limiting XISBN API use, XISBNDailyLimit syspref is used to compare >with daily use count of the API. This count is stored in >services_throttle table. But this table content is never initialized, >not in installer nor in updatedatabase. So count is never increased and >API is used without limit. > >This patch add an insert of service type in services_throttle if not >existing. So service throttle will be initialized. > >Test plan : >- Check that you don't have a line in services_throttle for > service_type=xisbn >- Activate FRBRizeEditions and XISBN sysprefs >- Set a small number in XISBNDailyLimit (ie 5) >- Go to a biblio page (with ISBN) >- Look at services_throttle table > => you should have a line for service_type=xisbn with service_count=1. >- Refresh biblio page untill limit is reached > => service_count should be equal to limit for service_type=xisbn > >Signed-off-by: Owen Leonard <oleonard@myacpl.org> > >Passes test plan correctly. >--- > C4/XISBN.pm | 16 +++++++++++----- > 1 file changed, 11 insertions(+), 5 deletions(-) > >diff --git a/C4/XISBN.pm b/C4/XISBN.pm >index 8616c95..12025f8 100644 >--- a/C4/XISBN.pm >+++ b/C4/XISBN.pm >@@ -156,12 +156,16 @@ sub _get_url { > sub _service_throttle { > my ($service_type,$daily_limit) = @_; > my $dbh = C4::Context->dbh; >- my $sth = $dbh->prepare("SELECT service_count FROM services_throttle WHERE service_type=?"); >+ my $sth = $dbh->prepare(q{ SELECT service_count FROM services_throttle WHERE service_type=? }); > $sth->execute($service_type); >- my $count = 1; >+ my $count = 0; > >- while (my $counter = $sth->fetchrow_hashref()) { >- $count = $counter->{service_count} if $counter->{service_count}; >+ if ($sth->rows == 0) { >+ # initialize services throttle >+ my $sth2 = $dbh->prepare(q{ INSERT INTO services_throttle (service_type, service_count) VALUES (?, ?) }); >+ $sth2->execute($service_type, $count); >+ } else { >+ $count = $sth->fetchrow_array; > } > > # we're over the limit >@@ -169,7 +173,9 @@ sub _service_throttle { > > # not over the limit > $count++; >- $sth = $dbh->do("UPDATE services_throttle SET service_count=$count WHERE service_type='xisbn'"); >+ my $sth3 = $dbh->prepare(q{ UPDATE services_throttle SET service_count=? WHERE service_type=? }); >+ $sth3->execute($count, $service_type); >+ > return undef; > } > >-- >1.7.9.5
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 9726
:
15754
|
16431
|
17063