diff --git a/lib/private/AllConfig.php b/lib/private/AllConfig.php index cd1d5f69ac..4e13d70371 100644 --- a/lib/private/AllConfig.php +++ b/lib/private/AllConfig.php @@ -215,13 +215,12 @@ class AllConfig implements \OCP\IConfig { // TODO - FIXME $this->fixDIInit(); - // warm up the cache to avoid updating the value if it is already set to this value before - $this->getUserValue($userId, $appName, $key); + $prevValue = $this->getUserValue($userId, $appName, $key, null); - if (isset($this->userCache[$userId][$appName][$key])) { - if ($this->userCache[$userId][$appName][$key] === (string)$value) { + if ($prevValue !== null) { + if ($prevValue === (string)$value) { return; - } else if ($preCondition !== null && $this->userCache[$userId][$appName][$key] !== (string)$preCondition) { + } else if ($preCondition !== null && $prevValue !== (string)$preCondition) { throw new PreConditionNotMetException(); } else { $qb = $this->connection->getQueryBuilder();