diff options
Diffstat (limited to 'lib/db.php')
-rw-r--r-- | lib/db.php | 15 |
1 files changed, 13 insertions, 2 deletions
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; + } } /** |