diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2013-02-27 12:48:42 -0800 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2013-02-27 12:48:42 -0800 |
commit | 9508a58c79a175cabcf46b5014b34730707e4fc0 (patch) | |
tree | 1d0f73e186b6b8665fbf67cb5cee594a6d257b11 | |
parent | a8bab023b2095b5b78c05b1ebadb73bb46459509 (diff) | |
parent | 47b899e0c8d818614ad6e52d684b9954b0d769ac (diff) | |
download | nextcloud-server-9508a58c79a175cabcf46b5014b34730707e4fc0.tar.gz nextcloud-server-9508a58c79a175cabcf46b5014b34730707e4fc0.zip |
Merge pull request #1944 from owncloud/query-caching-upgrade
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; + } } /** |