diff options
author | Robin Appelman <icewind@owncloud.com> | 2013-02-26 22:41:48 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2013-02-26 22:41:48 +0100 |
commit | 47b899e0c8d818614ad6e52d684b9954b0d769ac (patch) | |
tree | ceff2bacebc3a0267e676e3f0cbd2e3100c0ec5d | |
parent | f3a8bf9260b2808d98e97759b25b20bc44987c40 (diff) | |
download | nextcloud-server-47b899e0c8d818614ad6e52d684b9954b0d769ac.tar.gz nextcloud-server-47b899e0c8d818614ad6e52d684b9954b0d769ac.zip |
Disable prepared query caching while doing an upgrade
-rw-r--r-- | core/ajax/update.php | 3 | ||||
-rw-r--r-- | lib/db.php | 15 |
2 files changed, 15 insertions, 3 deletions
diff --git a/core/ajax/update.php b/core/ajax/update.php index 20ab045c892..b112cf6266b 100644 --- a/core/ajax/update.php +++ b/core/ajax/update.php @@ -4,6 +4,7 @@ $RUNTIME_NOAPPS = true; require_once '../../lib/base.php'; if (OC::checkUpgrade(false)) { + \OC_DB::enableCaching(false); $updateEventSource = new OC_EventSource(); $watcher = new UpdateWatcher($updateEventSource); OC_Hook::connect('update', 'success', $watcher, 'success'); @@ -64,4 +65,4 @@ class UpdateWatcher { $this->eventSource->close(); } -}
\ No newline at end of file +} diff --git a/lib/db.php b/lib/db.php index fb2c027cdb9..1fd852b370f 100644 --- a/lib/db.php +++ b/lib/db.php @@ -42,6 +42,7 @@ class OC_DB { const BACKEND_MDB2=1; static private $preparedQueries = array(); + static private $cachingEnabled = true; /** * @var MDB2_Driver_Common @@ -356,7 +357,7 @@ class OC_DB { } } } else { - if (isset(self::$preparedQueries[$query])) { + if (isset(self::$preparedQueries[$query]) and self::$cachingEnabled) { return self::$preparedQueries[$query]; } } @@ -382,7 +383,7 @@ class OC_DB { } $result=new PDOStatementWrapper($result); } - if (is_null($limit) || $limit == -1) { + if ((is_null($limit) || $limit == -1) and self::$cachingEnabled ) { self::$preparedQueries[$rawQuery] = $result; } return $result; @@ -915,6 +916,16 @@ class OC_DB { } return $msg; } + + /** + * @param bool $enabled + */ + static public function enableCaching($enabled) { + if (!$enabled) { + self::$preparedQueries = array(); + } + self::$cachingEnabled = $enabled; + } } /** |