Koha/tools
Mason James 5d256e6b4b Bug 14522: Use Koha::Cache for accessing single_holidays()
this patch adds Koha::Cache functionality to the 'single_holidays' table
it is a performance patch for the problem described in BZ14315, only

 http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=14315

it replaces slooow DateTime holiday objects with simple Ymd strings (19991230), then stores the strings in an @array using Koha::Cache
it does not attempt to add caching to all holiday tables - just the single_holidays table (at this stage

 on my test (master-cd9a827); nytprof showed a time reduction of the single_holidays() sub - from 61.7s to 587ms

here are some before/after nytprof runs, (really on master-cd9a827, not 3.20)

 http://x1.kohaaloha.com/i/nyt-bz14522-before/home-mason-g-k-3-20-x-Koha-Calendar-pm-1485-line.html#237
 http://x1.kohaaloha.com/i/nyt-bz14522-after/home-mason-g-k-3-20-x-Koha-Calendar-pm-1485-line.html#280

to test...

1/ add a bunch of single_holidays to your test koha, (my table has 400 holiday rows)
2/ add a loong circ rule for an itemtype (my rule has 140 days)
3/ checkout an item to a user (took me 67 secs)

apply patch...
4/ return item
5/ repeats steps 1..3, (took me 6 secs)

6/ add/change/delete some various single_holidays, via Home->Tools->Calendar
    ensure that your various changes have indeed saved correctly

for extra points...

7/ run tests t/Calendar.t and t/db_dependent/Holidays.t, with all tests pass OK

 sudo  koha-shell -c '  export PERL5LIB=/home/mason/g/k/master ; \
 cd /home/mason/g/k/master ;  perl  t/Calendar.t ; perl  t/db_dependent/Holidays.t  '   testkoha

8/ run QA tool, with all tests pass OK

 sudo  koha-shell -c ' \
export KOHA_CONF=/etc/koha/sites/mayo2/koha-conf.xml \
 export PERL5LIB=/home/mason/g/k/master:/home/mason/qa-test-tools/ ; \
 cd /home/mason/g/k/master ;   perl /home/mason/qa-test-tools/koha-qa.pl  -c 1 ' testkoha

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
2015-10-02 11:41:29 -03:00
..
csv-profiles MT2116: Addons to the CSV export 2010-02-17 07:51:33 -05:00
quotes Bug 14440: get_template_and_user can not have an empty template_name (quote*_ajax.pl) 2015-06-25 14:41:27 -03:00
ajax-inventory.pl Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
background-job-progress.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
batch_delete_records.pl Bug 12403 [Follow-up] Batch record deletion 2014-11-07 15:26:02 -03:00
batch_record_modification.pl Bug 13606 Clear job data in session when the job is completed 2015-04-23 13:18:48 -03:00
batch_records_ajax.pl Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
batchMod.pl Bug 12311: Do not return a lost item if modified in a batch 2015-10-02 11:04:59 -03:00
cleanborrowers.pl Bug 9978: (followup) Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:43 -03:00
copy-holidays.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
csv-profiles.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
exceptionHolidays.pl Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
export.pl Bug 14709: Do not access to C4::Context->userenv from the commandline 2015-09-02 10:02:33 -03:00
holidays.pl Bug 9978: (followup) Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:43 -03:00
import_borrowers.pl Bug 14383: Fix some typos in comments and documentation 2015-06-22 17:34:46 -03:00
inventory.pl Bug 10005: Inventory - Add an option to not check in items 2015-09-16 10:57:56 -03:00
koha-news.pl Bug 13813: Remove deprecated module C4::Dates from system 2015-09-18 12:40:55 -03:00
letter.pl Bug 13972: Include fields from subscription and serial table in serial notification email 2015-09-02 14:41:41 -03:00
manage-marc-import.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
marc_modification_templates.pl Bug 14098: Add copy_and_replace action to MMT 2015-09-07 11:17:13 -03:00
modborrowers.pl Bug 11929: patron modification error shows borrowernumber 2015-06-01 14:28:04 -03:00
newHolidays.pl Bug 14522: Use Koha::Cache for accessing single_holidays() 2015-10-02 11:41:29 -03:00
overduerules.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
picture-upload.pl Bug 14338: Unable to delete patron images 2015-06-11 10:08:59 -03:00
quotes-upload.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
quotes.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
scheduler.pl Bug 13813: Remove deprecated module C4::Dates from system 2015-09-18 12:40:55 -03:00
showdiffmarc.pl Bug 6520: Display items for staged record - diff view 2015-04-16 13:40:52 -03:00
stage-marc-import.pl Bug 14321: Integrate Upload.pm into Koha 2015-09-25 12:02:52 -03:00
tools-home.pl Bug 9978: (followup) Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:43 -03:00
upload-cover-image.pl Bug 14321: Integrate Upload.pm into Koha 2015-09-25 12:02:52 -03:00
upload-file.pl Bug 14321: [QA Follow-up] Changes for Upload.pm and upload-file.pl 2015-09-25 12:02:52 -03:00
upload.pl Bug 14321: Integrate Upload.pm into Koha 2015-09-25 12:02:52 -03:00
viewlog.pl Bug 13813: Remove deprecated module C4::Dates from system 2015-09-18 12:40:55 -03:00