diff options
| author | Andreas Fischer <bantu@phpbb.com> | 2011-03-15 02:00:04 +0100 |
|---|---|---|
| committer | Andreas Fischer <bantu@phpbb.com> | 2011-03-15 02:00:04 +0100 |
| commit | 0e9b755667cdc4c05869a085de8ce75452483ba2 (patch) | |
| tree | 9242cf18e2807ce1e8b014b0c57600c8bedb8736 /phpBB/includes/acp/acp_search.php | |
| parent | 7588b4352638a3bb7fa0cff7ef9d78c8668d0905 (diff) | |
| parent | 784132d7e870e59b9cfa2b7cce4828d817270867 (diff) | |
| download | forums-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/acp_search.php')
| -rw-r--r-- | phpBB/includes/acp/acp_search.php | 18 |
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; } |
