Koha-clms/t/db_dependent
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
..
Acquisition Bug 10275: Use a transaction for OrderFromSubscription.t 2013-07-25 12:44:42 -03:00
Koha Bug 11279: (follow-up) remove unnecessary check on number of quotes 2014-02-07 12:13:03 -03:00
LDAP
…
Labels Bug 10333: Labels/t_Batch.t needs to create its own data 2013-10-08 13:20:25 -03:00
Members Bug 10481: Unit tests for C4::Members::AddEnrolmentFeeIfNeeded 2013-09-11 14:33:32 -03:00
Record 7661 Followup for resolving moved Record test 2012-03-14 14:59:46 +01:00
Reports Bug 8594 - prevent the report system from breaking some subqueries 2012-09-05 10:12:06 +02:00
data/zebraexport Bug 10684: add regression test 2013-11-21 10:13:02 -03:00
lib Bug 10458: Remove obsolete Z3950 module and test 2013-06-28 11:54:52 -03:00
needs_user_input
…
www Bug 8300: Add mechanized unit test for batch import 2013-05-01 07:57:28 -04:00
00-strict.t Bug 8383: Add test to check that Perl scripts compile 2012-07-10 11:13:40 +02:00
Accounts.t Bug 5327 Made test file for Accounts.pm 2011-01-20 19:57:50 +13:00
Acquisition.t bug 10556: regression test for setting deliverytime when adding vendor 2013-07-25 12:59:02 -03:00
Amazon.t Bug 5327 - Now we are doing db calls, we need to shift this to t/db_dependent 2011-01-19 13:38:52 +13:00
Auth.t Bug 5477 [SIGN-OFF] Fix test cases that require database access 2011-01-29 17:02:31 +13:00
Auth_ParseSearchHistoryCookie.t move Auth_ParseSearchHistoryCookie.t to db_dependent directory 2013-07-28 18:06:59 -03:00
Auth_with_cas.t Bug 5477 [SIGN-OFF] Fix test cases that require database access 2011-01-29 17:02:31 +13:00
AuthoritiesMarc.t Bug 8890 - move two more db dependent tests 2012-10-24 17:52:42 +02:00
BackgroundJob.t bug 5327 add tests for C4/BackgroundJob.pm 2012-01-17 15:31:56 +01:00
Barcodes.t Bug 6448 [2/3] Barcodes::EAN13 autoBarcode 2012-08-02 18:41:44 +02:00
Biblio.t Bug 7576: Add ISSN to SearchForTitleIn preference 2012-02-27 11:44:20 +01:00
Bookseller.t Bug 10689: add regression test 2013-11-19 14:53:15 -03:00
Branch.t Bug 10508: (follow-up) remove Perl 5.14 construct 2013-09-13 14:19:53 -03:00
Budgets.t Bug 10535: (follow-up) wrap Budgets.t in transaction 2013-12-03 12:30:48 -03:00
Circulation.t Bug 11218: (follow-up) fix whitespace 2013-11-18 14:22:02 -03:00
Circulation_Issuingrule.t Bug 10767: (follow-up) remove FIXME comments 2013-09-13 14:33:11 -03:00
Circulation_OfflineOperation.t Bug 10710: (follow-up) perltidy new code 2013-09-13 14:34:41 -03:00
Circulation_issuingrules.t Bug 10298: Followup: Adapt existing code 2013-12-03 15:19:47 -03:00
Circulation_transfers.t Bug 10699: add explicit return value for DeleteBranchTransferLimits() 2013-09-13 14:43:58 -03:00
ClassSource.t Bug 10644: (follow-up) remove inadvertant dependence on Perl 5.14 2013-08-16 12:34:39 -03:00
Context.t Bug 10611: Use mysql_auto_reconnect instead of ping 2014-06-06 07:18:51 -04:00
Csv.t Bug 5327 - move another test around 2012-02-01 18:15:21 +01:00
External_BakerTaylor.t Bug 5327: Unit tests for C4/Exteral/BakerTaylor.pm 2011-12-07 16:17:05 +01:00
Heading_MARC21.t Merge remote-tracking branch 'origin/new/bug_7284' 2012-04-04 18:18:26 +02:00
Holds.t bug 2394: regression test for canreservefromotherbranches 2013-09-10 12:39:14 -03:00
HoldsQueue.t Bug 10243: (follow-up) add unit tests 2013-12-05 15:04:17 -03:00
Holidays.t Holidays Test Plan - DB Dependent 2012-10-01 16:44:02 +02:00
ILSDI_Services.t Bug 10667: (follow-up) fix reference to UT library in test case 2013-11-08 15:18:57 -03:00
Items.t Bug 10872: UT for GetHiddenItemnumbers and POD fix 2013-11-11 10:37:00 -03:00
KitchenSinkPlugin.kpz Bug 7804 - Add Koha Plugin System - QA Followup 3 - Additional Unit Tests 2013-03-20 14:50:38 -04:00
Koha.t Bug 10656: add regression test 2013-09-16 10:33:41 -03:00
Koha_Authority.t Bug 7417: Include see from references in bibliographic searches 2012-09-13 14:19:28 +02:00
Koha_borrower_modifications.t Bug 7067 - QA Followup - Fix failing tests 2012-12-14 08:09:01 -05:00
Koha_template_plugin_KohaBranchName.t Bug 10494: test cases for the KohaBranchName plugin 2013-07-15 15:02:05 -03:00
Koha_template_plugin_KohaDates.t Bug 929 : Follow up, shifting test 2012-02-07 16:42:22 +01:00
Linker_FirstMatch.t Bug 7724: Skip Linker test if Zebra isn't set up 2012-03-20 11:21:10 +01:00
Log.t Fixing a broken test 2011-09-26 11:55:58 +13:00
Members.t Bug 9103 : Follow up adding unit test 2013-03-19 22:50:39 -04:00
Plugins.t Bug 9909: Don't install KitchenSink plugin if plugin dir isn't writable 2013-03-22 21:52:41 -04:00
Ratings.t Bug 5668 - Star ratings in the opac 2012-04-10 14:40:49 +02:00
Record.t bug 6201: (follow-up) update unit tests 2013-12-02 15:06:28 -03:00
RecordProcessor_EmbedSeeFromHeadings.t Bug 7417: Include see from references in bibliographic searches 2012-09-13 14:19:28 +02:00
Reports.t Bug 5327: Shifting a db dependent test to the right place 2012-02-01 18:15:19 +01:00
ReportsGuided.t Bug 9659 follow-up: correct syntax for older Perl 2013-04-26 21:33:34 -04:00
Reports_Guided.t Bug 5477 [SIGN-OFF] Fix test cases that require database access 2011-01-29 17:02:31 +13:00
Reserves.t Bug 10272: (follow-up) add regression test 2013-10-08 10:54:18 -03:00
RotatingCollections.t Bug 10653: (follow-up) minor tweaks to RotatingCollections tests 2013-09-11 14:40:08 -03:00
SIP_ILS.t Bug 5327 : Removing a broken test 2012-02-13 15:04:43 +01:00
SQLHelper.t Bug 5327 : Fixing unit test for SQLHelper.pm 2011-12-07 16:17:10 +01:00
Search.t Bug 7518: regression test double-quote in search operand 2014-02-07 12:08:50 -03:00
Serials.t Bug 5337 : Upping the count of the unit tests 2012-06-14 15:43:08 +02:00
Serials_2.t Bug 5477 [SIGN-OFF] Fix test cases that require database access 2011-01-29 17:02:31 +13:00
Service.t Bug 5477 [SIGN-OFF] Fix test cases that require database access 2011-01-29 17:02:31 +13:00
SuggestionEngine_ExplodedTerms.t Bug 8846 conflict resolution: correct path 2012-11-01 08:41:30 -04:00
Suggestions.t Bug 5346: Linking suggestions and orders. 2012-02-17 10:27:52 +01:00
Tags.t Bug 7642 - fix the lost display of tag sizes 2012-10-01 17:38:27 +02:00
UploadedFile.t t/UploadedFile, updated comment 2011-12-07 16:37:31 +01:00
VirtualShelves.t Bug 10499: VirtualShelves.t - wrap tests in a database transaction 2013-07-25 12:42:17 -03:00
VirtualShelves_Page.t Bug 5477 [SIGN-OFF] Fix test cases that require database access 2011-01-29 17:02:31 +13:00
XISBN.t Bug 11439: (follow-up) adjust for change in list returned by OCLC XISBN 2014-02-07 14:07:48 -03:00
check_sysprefs.t Bug 8353 follow-up: Perltidy new test 2012-07-13 14:42:52 +02:00
database_dependent.pl
…
rollingloans.t Bug 5549 : Fixing the test to only run if the test data exists 2012-03-27 09:18:37 +02:00
sysprefs.t Bug 6132: Add unit test for system preferences 2012-01-16 14:52:24 +01:00
zebra_config.pl bug 8649: create a temp directory for Zebra for C4::Search tests 2012-09-13 11:55:48 +02:00