aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2016-11-15 21:38:18 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2016-11-15 21:38:18 +0100
commit568b737b6c62ace5aaa6b3f6c968e2595ea70f55 (patch)
treef711bfdadc162d6138290c047cb5db3b3d066dd0
parent8d3d2a7d7fc7d623e998b6dd97b7f4419cf0d60c (diff)
Function to disable MySQL buffering for large exports
-rw-r--r--app/Controllers/importExportController.php2
-rw-r--r--lib/Minz/ModelPdo.php6
2 files changed, 8 insertions, 0 deletions
diff --git a/app/Controllers/importExportController.php b/app/Controllers/importExportController.php
index d86587ea9..6ae89defb 100644
--- a/app/Controllers/importExportController.php
+++ b/app/Controllers/importExportController.php
@@ -531,6 +531,8 @@ class FreshRSS_importExport_Controller extends Minz_ActionController {
$this->entryDAO = FreshRSS_Factory::createEntryDao($username);
$this->feedDAO = FreshRSS_Factory::createFeedDao($username);
+ $this->entryDAO->disableBuffering();
+
if ($export_feeds === true) {
//All feeds
$export_feeds = $this->feedDAO->listFeedsIds();
diff --git a/lib/Minz/ModelPdo.php b/lib/Minz/ModelPdo.php
index 6e8d60bc9..caab1d114 100644
--- a/lib/Minz/ModelPdo.php
+++ b/lib/Minz/ModelPdo.php
@@ -116,6 +116,12 @@ class Minz_ModelPdo {
self::$sharedBd = null;
self::$sharedPrefix = '';
}
+
+ public function disableBuffering() {
+ if ((self::$sharedDbType === 'mysql') && defined('PDO::MYSQL_ATTR_USE_BUFFERED_QUERY')) {
+ $this->bd->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
+ }
+ }
}
class MinzPDO extends PDO {