From 3979d9c2e55b91a699ba4bbe21215a8a8b9e5bf8 Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Wed, 9 Jul 2008 20:50:45 +0000 Subject: [PATCH] optimized PurgeOldInboxMessages workflow --- docs/changelog/7.x.x.txt | 1 + docs/upgrades/upgrade_7.4.40-7.5.16.pl | 9 +++++++++ docs/upgrades/upgrade_7.5.15-7.5.16.pl | 10 +++++++++- lib/WebGUI/Workflow/Activity/PurgeOldInboxMessages.pm | 2 +- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 11139ac78..b6d56323b 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -10,6 +10,7 @@ - changed: show 25 items per page in asset manager - fixed: Asset Manager buttons now work in IE6 - fixed: Donation: Add to Cart still visible in Thank You Message screen + - optimized PurgeOldInboxMessages workflow 7.5.15 - fixed: Colorpicker window would not open (Martin Kamerbeek / Oqapi) diff --git a/docs/upgrades/upgrade_7.4.40-7.5.16.pl b/docs/upgrades/upgrade_7.4.40-7.5.16.pl index 49e73210f..ba3e2ce00 100644 --- a/docs/upgrades/upgrade_7.4.40-7.5.16.pl +++ b/docs/upgrades/upgrade_7.4.40-7.5.16.pl @@ -123,8 +123,17 @@ deleteBadReceiptEmailTemplate($session); unlockShelfAssets($session); removeOldGalleryImport($session); addMissingWorkflowActivities($session); +addIndexToInbox($session); finish($session); # this line required +#----------------------------------------------------------- +sub addIndexToInbox { + my $session = shift; + print "\tAdding index to inbox table... " unless $quiet; + $session->db->write('ALTER TABLE `inbox` ADD INDEX `completedOn_dateStamp` (`completedOn`, `dateStamp`)'); + print "Done.\n" unless $quiet; +} + #----------------------------------------------------------- sub addMissingWorkflowActivities { my $session = shift; diff --git a/docs/upgrades/upgrade_7.5.15-7.5.16.pl b/docs/upgrades/upgrade_7.5.15-7.5.16.pl index f95c26486..f94cc332d 100644 --- a/docs/upgrades/upgrade_7.5.15-7.5.16.pl +++ b/docs/upgrades/upgrade_7.5.15-7.5.16.pl @@ -28,10 +28,18 @@ my $quiet; # this line required my $session = start(); # this line required -# upgrade functions go here +addIndexToInbox($session); finish($session); # this line required +#---------------------------------------------------------------------------- +sub addIndexToInbox { + my $session = shift; + print "\tAdding index to inbox table... " unless $quiet; + $session->db->write('ALTER TABLE `inbox` ADD INDEX `completedOn_dateStamp` (`completedOn`, `dateStamp`)'); + print "Done.\n" unless $quiet; +} + #---------------------------------------------------------------------------- # Describe what our function does diff --git a/lib/WebGUI/Workflow/Activity/PurgeOldInboxMessages.pm b/lib/WebGUI/Workflow/Activity/PurgeOldInboxMessages.pm index 82a69802f..55af93fda 100644 --- a/lib/WebGUI/Workflow/Activity/PurgeOldInboxMessages.pm +++ b/lib/WebGUI/Workflow/Activity/PurgeOldInboxMessages.pm @@ -90,7 +90,7 @@ sub execute { my $sth = $session->db->read( - "SELECT messageId FROM inbox WHERE completedOn IS NOT NULL AND dateStamp < ? ORDER BY dateStamp ASC LIMIT $limit", + "SELECT messageId FROM inbox WHERE completedOn IS NOT NULL AND dateStamp < ? ASC LIMIT $limit", [ $start - $self->get('purgeAfter') ], );