mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-07-05 17:32:25 +02:00
bug 2534 fixed: clean (as clean as possible with MySQL+MyISAM) handle of
concurrency on user cache refresh. No more error when regenerating several thumbnails at once. git-svn-id: http://piwigo.org/svn/branches/2.3@12747 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -446,6 +446,9 @@ DELETE FROM '.USER_CACHE_CATEGORIES_TABLE.'
|
||||
WHERE user_id = '.$userdata['id'];
|
||||
pwg_query($query);
|
||||
|
||||
// Due to concurrency issues, we ask MySQL to ignore errors on
|
||||
// insert. This may happen when cache needs refresh and that Piwigo is
|
||||
// called "very simultaneously".
|
||||
mass_inserts
|
||||
(
|
||||
USER_CACHE_CATEGORIES_TABLE,
|
||||
@@ -454,7 +457,8 @@ DELETE FROM '.USER_CACHE_CATEGORIES_TABLE.'
|
||||
'user_id', 'cat_id',
|
||||
'date_last', 'max_date_last', 'nb_images', 'count_images', 'count_categories'
|
||||
),
|
||||
$user_cache_cats
|
||||
$user_cache_cats,
|
||||
array('ignore' => true)
|
||||
);
|
||||
|
||||
|
||||
@@ -464,8 +468,10 @@ DELETE FROM '.USER_CACHE_TABLE.'
|
||||
WHERE user_id = '.$userdata['id'];
|
||||
pwg_query($query);
|
||||
|
||||
// for the same reason as user_cache_categories, we ignore error on
|
||||
// this insert
|
||||
$query = '
|
||||
INSERT INTO '.USER_CACHE_TABLE.'
|
||||
INSERT IGNORE INTO '.USER_CACHE_TABLE.'
|
||||
(user_id, need_update, cache_update_time, forbidden_categories, nb_total_images,
|
||||
image_access_type, image_access_list)
|
||||
VALUES
|
||||
|
||||
Reference in New Issue
Block a user