[TikiWiki-commits] [Git][tikiwiki/tiki][master] [FIX] tikilib: use a single atomic upsert instead of separate delete and...
"Victor Emanouilov \(@kroky\) via TikiWiki-cvs" <[email protected]>
| Newsgroups | gmane.comp.cms.tiki.cvs |
|---|---|
| Message-ID | <6a04442f30f86_372f42e8867a0@gitlab-sidekiq-low-urgency-cpu-bound-v2-bcd446944-b69gq.mail> |
Victor Emanouilov pushed to branch master at Tiki Wiki CMS Groupware / Tiki
Commits:
e4575572 by Merci Jacob at 2026-05-13T09:10:32+00:00
[FIX] tikilib: use a single atomic upsert instead of separate delete and insert when setting a user preference, preventing duplicate-key races on simultaneous AJAX requests
---
* [FIX] tikilib: use a single atomic upsert instead of separate delete and insert when setting a user preference, preventing duplicate-key races on simultaneous AJAX requests
See merge request tikiwiki/tiki!10175
- - - - -
1 changed file:
- lib/tikilib.php
Changes:
=====================================
lib/tikilib.php
=====================================
@@ -4727,8 +4727,10 @@ class TikiLib extends TikiDb_Bridge
}
$userPreferences = $this->table('tiki_user_preferences', false);
- $userPreferences->delete(['user' => $my_user, 'prefName' => $name]);
- $result = $userPreferences->insert(['user' => $my_user, 'prefName' => $name, 'value' => $value]);
+ $result = $userPreferences->insertOrUpdate(
+ ['value' => $value],
+ ['user' => $my_user, 'prefName' => $name]
+ );
$user_preferences[$my_user][$name] = $value;
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/e457557290300516386598222dc9577c9ddc6ee6
--
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/e457557290300516386598222dc9577c9ddc6ee6
You're receiving this email because of your account on gitlab.com. Manage all notifications: https://gitlab.com/-/profile/notifications | Help: https://gitlab.com/help
_______________________________________________
TikiWiki-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs