Main Koha release repository https://koha-community.org
Find a file
Jonathan Druart 4ae3665ad8 Bug 10611: Use mysql_auto_reconnect instead of ping
DBD::Mysql provides a mysql_auto_reconnect flag. Using it avoids
the time required to do a $dbh->ping().

Benchmarks:

use Modern::Perl;
use C4::Context;
for ( 1 .. 1000 ) {
    $dbh = C4::Context->dbh;
}

* without this patch on a local DB:
perl t.pl  0,49s user 0,02s system 98% cpu 0,525 total
* without this patch on a remote DB:
perl t.pl  0,52s user 0,05s system 1% cpu 37,358 total
* with this patch on a local DB:
perl t.pl  0,46s user 0,04s system 99% cpu 0,509 total
* with this patch on a remote DB:
perl t.pl  0,49s user 0,02s system 56% cpu 0,892 total

Testing the auto reconnect:
use Modern::Perl;
use C4::Context;
my $ping = $dbh->ping;
say $ping;
$dbh->disconnect;
$ping = $dbh->ping;
say $ping;

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Comment: Real improvement. No koha-qa errors

prove t/db_dependent/Circulation_issuingrules.t produces no error
prove t/db_dependent/Context.t produces no error

Test
1) dumped Koha DB, load it on a non-local server
2) run sample script whit and without patch, local and remote

use Modern::Perl;
use C4::Context;
for ( 1 .. 100000 ) {
    my $dbh = C4::Context->dbh;
}

Main difference I note is with remote server
a) without patch
real    0m16.357s
user    0m2.592s
sys     0m2.132s

b) with patch
real    0m0.259s
user    0m0.240s
sys     0m0.012s

I think this could be good for DBs placed on
remote servers

Bug 10611: add a "new" parameter to C4::Context->dbh

When dbh->disconnect is called and the mysql_auto_reconnect flag is set,
the dbh is not recreated: the old one is used.

Adding a new flag, we can now force the C4::Context->dbh method to
return a new dbh.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Bug 10611: Followup: remove useless calls to dbh->disconnect

These 3 calls to disconnect are done at the end of the script, they are
useless.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-03-10 23:15:35 +00:00
acqui Bug 11096: support the retrieval of large MARCXML records 2014-02-28 19:50:09 +00:00
admin Bug 7372: Move road types from the roadtype table to the ROADTYPE AV 2014-02-21 16:00:53 +00:00
authorities Bug 11652: ensure that merging authority records corrects biblios 2014-02-13 03:03:21 +00:00
basket Bug 10605: fix encoding issue on basket email (INTRANET) 2013-12-10 04:37:12 +00:00
C4 Bug 10611: Use mysql_auto_reconnect instead of ping 2014-03-10 23:15:35 +00:00
catalogue Bug 11096: support the retrieval of large MARCXML records 2014-02-28 19:50:09 +00:00
cataloguing Bug 11096: support the retrieval of large MARCXML records 2014-02-28 19:50:09 +00:00
circ Bug 11359: Add the borrower's cardnumber and phonenumber to the branch overdues report 2014-03-10 20:25:26 +00:00
course_reserves Bug 11866: (follow-up) repair security issue introduced by main patch 2014-03-10 14:57:17 +00:00
debian Bug 7234: koha-common Debian package now includes koha-sites.conf 2014-03-03 15:56:52 +00:00
docs Bug 7143: Updating about page and history 2014-01-16 15:28:13 +00:00
errors Housekeeping in errors scripts 2010-05-12 07:29:03 -04:00
etc Bug 11078: Add locking to rebuild_zebra 2014-02-28 22:21:41 +00:00
install_misc Bug 11757: remove dependency on POE 2014-02-15 01:38:15 +00:00
installer Bug 10611: Use mysql_auto_reconnect instead of ping 2014-03-10 23:15:35 +00:00
Koha Bug 7372: (follow-up) remove last traces of roadtype table and admin pages 2014-02-21 16:11:28 +00:00
koha-tmpl Bug 11465: Show counts and amounts on OPAC 'your summary' tabs 2014-03-10 21:46:24 +00:00
labels Bug 11096: support the retrieval of large MARCXML records 2014-02-28 19:50:09 +00:00
members Bug 11802 - corrects for the patron purchase suggestions page 2014-03-10 15:11:53 +00:00
misc Bug 10611: Use mysql_auto_reconnect instead of ping 2014-03-10 23:15:35 +00:00
offline_circ Bug 10240: (follow-up) don't display patrons as lost or gone-no-address incorrectly 2013-10-11 01:57:05 +00:00
opac Bug 11516: make OPAC search term highlighting work in results browser 2014-03-10 21:30:38 +00:00
OpenILS Bug 9239 QA follow-up: remove stray debug code 2013-03-16 21:32:34 -04:00
patron_lists Bug 10565: (follow-up) add new user permission for patron list management 2013-10-14 22:43:03 +00:00
patroncards Bug 10636 - patronimage should have borrowernumber as PK, not cardnumber 2013-10-14 21:08:02 +00:00
plugins Bug 7804 - Add Koha Plugin System - QA Followup 2 2013-03-20 14:50:19 -04:00
reports Bug 10718: fix items with no checkouts report 2013-09-08 20:04:43 +00:00
reserve Bug 9823: Refactor return from GetReservesFromBiblionumber 2014-01-30 16:19:55 +00:00
reviews Bug 1623 - Provide view of approved comments 2011-12-27 18:26:50 +01:00
rotating_collections Bug 9605: rotating collections permissions are wrong 2013-03-30 22:11:05 -04:00
selenium Adding selenium tests for filterMembers 2009-09-30 11:30:37 +02:00
serials Bug 11096: support the retrieval of large MARCXML records 2014-02-28 19:50:09 +00:00
services Bug 7178: Acquisition item creation improvement 2012-03-26 11:07:23 +02:00
skel Bug 11078: Add locking to rebuild_zebra 2014-02-28 22:21:41 +00:00
sms Bug 10611: Use mysql_auto_reconnect instead of ping 2014-03-10 23:15:35 +00:00
suggestion Bug 10277 - Add C4::Context->IsSuperLibrarian() 2013-12-30 15:47:23 +00:00
svc Bug 11704: Make */svc/report print the correct headers 2014-02-13 02:59:42 +00:00
t Bug 10611: Use mysql_auto_reconnect instead of ping 2014-03-10 23:15:35 +00:00
tags Bug 10730: Use DataTables on the tag review page 2013-09-25 16:47:59 +00:00
test Bug 5449: JSON malformed in Koha - Blocker with jQuery 1.4.x 2011-03-12 08:53:41 +13:00
tmp/modified_authorities changing DO_NOT_REMOVE to README.txt 2007-10-21 19:14:41 -05:00
tools Bug 11343: The max number of items to process in a batch is hardcoded 2014-03-10 19:10:27 +00:00
virtualshelves Bug 10853: All existing routing to get a CSV should return a MARC csv 2013-10-11 02:16:33 +00:00
xt Bug 11304: fix display of detail page holdings tab in translated Bootstrap theme 2013-11-27 16:52:02 +00:00
.htaccess Fix file permissions: if it is not a script, it should not be executable. 2010-04-16 00:40:34 -04:00
.mailmap 7439 Mailmap for master 2012-01-27 12:27:58 +01:00
about.pl Bug 11772: Show warning on About page:System information if no active currency is defined 2014-02-18 20:54:23 +00:00
changelanguage.pl Bug 6755 Problems with switching languages 2011-09-23 09:47:09 +12:00
edithelp.pl Bug 11661: sanitize file names supplied to edithelp.pl 2014-02-05 01:36:10 +00:00
fix-perl-path.PL installer: improvements to fix-path-perl.PL on Win32 2007-12-20 19:20:12 -06:00
help.pl Bug 11238: contruct links to the appropriate manual version dynamically 2013-11-23 19:30:16 +00:00
INSTALL Bug 7759, update of install files to use background indexing (and some whitespace tidy) 2012-04-20 16:11:52 +02:00
install-CPAN.pl Bug 5370: Fix all the references to koha.org 2010-11-08 09:41:49 +13:00
INSTALL.debian Bug 8092 follow-up: Add optional dependency on CHI 2012-06-09 13:08:18 +02:00
INSTALL.fedora7 Bug 11757: remove dependency on POE 2014-02-15 01:38:15 +00:00
INSTALL.opensuse Bug 11757: remove dependency on POE 2014-02-15 01:38:15 +00:00
INSTALL.ubuntu Bug 7764: (follow-up) editorial tweaks 2013-10-04 16:27:55 +00:00
koha_perl_deps.pl bug 10548: fix count of missing required dependencies by koha_perl_deps.pl 2013-07-11 14:03:32 +00:00
kohaversion.pl Bug 3445: DBRev. 3.15.00.021 2014-03-10 21:13:14 +00:00
LICENSE Bug 9440 - update Koha's LICENSE file from GPL2 to GPL3 2013-02-12 08:52:10 -05:00
mainpage.pl Bug 10080 - Change system pref IndependantBranches to IndependentBranches 2013-05-22 07:58:23 -07:00
Makefile.PL Bug 11078: Add locking to rebuild_zebra 2014-02-28 22:21:41 +00:00
MANIFEST.SKIP Bug 9546 : Updating make manifest tardist 2013-02-06 23:54:46 -05:00
README Bug 9440 - update Koha's LICENSE file from GPL2 to GPL3 2013-02-12 08:52:10 -05:00
README.robots Bug 6411 add another example to README.robots 2011-07-05 14:48:05 +12:00
rewrite-config.PL Bug 10580: adjust Makefile.PL to reflect that Zebra no longer optional in Koha setup 2014-02-21 17:38:15 +00:00

Koha is a free software integrated library system.

Koha is distributed under the GNU GPL version 3 or later.
Please read the file LICENSE for more details.

To install or upgrade Koha, please see the INSTALL file appropriate
to your platform.

Report bugs at http://bugs.koha-community.org/

Visit the Koha Project website at http://www.koha-community.org/