Koha-clms/misc
Jonathan Druart f9ba7383dc 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>
(cherry picked from commit 4ae3665ad8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>

Conflicts:
	C4/Context.pm

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 82f5b527d8)
2014-06-06 07:18:51 -04:00
..
admin Bug 6061: clearing up system preference on update 2011-06-14 14:16:48 +12:00
bin Revert "Bug 7167: New version for updatedatabase" 2012-12-27 14:02:56 -05:00
cronjobs Bug 10611: Use mysql_auto_reconnect instead of ping 2014-06-06 07:18:51 -04:00
interface_customization Bug 9615 - Combine staff home page images into single sprite 2013-02-20 08:29:22 -05:00
load_testing Bug 8413 Space in barcodes breaks GET request in benchmark_staff.pl 2012-08-31 17:55:41 +02:00
maintenance Bug 9192: let UNIMARC_sync_date_created_with_marc_biblio.pl create fields if needed 2013-12-05 12:10:06 -03:00
migration_tools Bug 11417: make sure remove_unused_authorities.pl accepts --test 2014-02-07 12:15:19 -03:00
release_notes 3.12.12 release notes 2014-03-25 09:40:28 +13:00
translator Translation updates for 3.12.11 release 2014-02-25 11:11:03 -03:00
batchCompareMARCvsFrameworks.pl Bug 2505 - Add commented use warnings where missing in the misc/ directory 2010-04-21 20:26:44 +12:00
batchDeleteUnusedSubfields.pl Bug 2505 - Add commented use warnings where missing in the misc/ directory 2010-04-21 20:26:44 +12:00
batchImportMARCWithBiblionumbers.pl Bug 8576: Software error on authority edition when using merge 2012-08-28 17:55:33 +02:00
batchRebuildBiblioTables.pl Bug 6001 : batchRebuildBiblioTables.pl doesn't crash anymore when GetMarcBiblio fails. Unprocessed biblionumbers are displayed at the end of the execution instead. 2011-04-29 08:56:57 +12:00
batchRepairMissingBiblionumbers.pl Repair the old repairmissingbiblionumbers script 2009-04-18 15:39:24 -05:00
batchdeletebiblios.pl Bug 8674 follow-up Fix perlcritic error 2012-10-02 17:48:03 +02:00
batchupdateISBNs.pl Bug 2505 - Add commented use warnings where missing in the misc/ directory 2010-04-21 20:26:44 +12:00
check_sysprefs.pl MT3289 : check_sysprefs.pl case sensitive variable names 2011-03-31 15:23:24 +13:00
commit_file.pl Bug 2060: Update command line MARC import scripts 2012-09-19 17:16:18 +02:00
export_borrowers.pl Bug 9045 - Adding some parameters to export_borrowers.pl 2013-03-21 10:47:42 -04:00
exportauth.pl Bug 6755 Problems with switching languages 2011-09-23 09:47:09 +12:00
koha-install-log Bug 10712: Save missing config variables to install log 2013-08-16 12:40:20 -03:00
kohalib.pl Bug 2505 - Add commented use warnings where missing in the misc/ directory 2010-04-21 20:26:44 +12:00
link_bibs_to_authorities.pl Bug 8818: make sure we load modules before using them 2012-10-01 19:01:50 +02:00
perlmodule_ls.pl Bug 2505 - add strict and warnings to perlmodule_ls 2010-04-21 20:30:52 +12:00
perlmodule_rm.pl Bug 2505 - remove unnecessary -w and replace with use warnings; 2010-04-07 13:27:07 -04:00
recreateIssueStatistics.pl Bug 6025: Adds a script that re-create missing statistics from issues and old_issues tables 2012-03-20 17:02:33 +01:00
sax_parser_print.pl Bug 2617: Add strict (and warnings), partial fix. 2009-03-11 08:36:55 -05:00
sax_parser_test.pl Bug 6752: Be stricter with utf-8 encoding of output 2012-01-27 12:11:06 +01:00
stage_file.pl Bug 2060: Update command line MARC import scripts 2012-09-19 17:16:18 +02:00