aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/acp
diff options
context:
space:
mode:
authorAndreas Fischer <bantu@phpbb.com>2011-03-15 02:00:04 +0100
committerAndreas Fischer <bantu@phpbb.com>2011-03-15 02:00:04 +0100
commit0e9b755667cdc4c05869a085de8ce75452483ba2 (patch)
tree9242cf18e2807ce1e8b014b0c57600c8bedb8736 /phpBB/includes/acp
parent7588b4352638a3bb7fa0cff7ef9d78c8668d0905 (diff)
parent784132d7e870e59b9cfa2b7cce4828d817270867 (diff)
downloadforums-0e9b755667cdc4c05869a085de8ce75452483ba2.tar
forums-0e9b755667cdc4c05869a085de8ce75452483ba2.tar.gz
forums-0e9b755667cdc4c05869a085de8ce75452483ba2.tar.bz2
forums-0e9b755667cdc4c05869a085de8ce75452483ba2.tar.xz
forums-0e9b755667cdc4c05869a085de8ce75452483ba2.zip
Merge branch 'develop-olympus' into develop
* develop-olympus: [ticket/9685] Buffer posts for search indexing when using mssqlnative.
Diffstat (limited to 'phpBB/includes/acp')
-rw-r--r--phpBB/includes/acp/acp_search.php18
1 files changed, 16 insertions, 2 deletions
diff --git a/phpBB/includes/acp/acp_search.php b/phpBB/includes/acp/acp_search.php
index 27e636ddcc..21f7e3d31b 100644
--- a/phpBB/includes/acp/acp_search.php
+++ b/phpBB/includes/acp/acp_search.php
@@ -384,7 +384,18 @@ class acp_search
AND post_id <= ' . (int) ($post_counter + $this->batch_size);
$result = $db->sql_query($sql);
- while ($row = $db->sql_fetchrow($result))
+ $buffer = $db->sql_buffer_nested_transactions();
+
+ if ($buffer)
+ {
+ $rows = $db->sql_fetchrowset($result);
+ $rows[] = false; // indicate end of array for while loop below
+
+ $db->sql_freeresult($result);
+ }
+
+ $i = 0;
+ while ($row = ($buffer ? $rows[$i++] : $db->sql_fetchrow($result)))
{
// Indexing enabled for this forum or global announcement?
// Global announcements get indexed by default.
@@ -394,7 +405,10 @@ class acp_search
}
$row_count++;
}
- $db->sql_freeresult($result);
+ if (!$buffer)
+ {
+ $db->sql_freeresult($result);
+ }
$post_counter += $this->batch_size;
}