diff options
author | Andreas Fischer <bantu@phpbb.com> | 2010-05-14 02:10:50 +0200 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2010-05-14 02:10:50 +0200 |
commit | 9ce0873bd1dadac9ebd1a74d857f71c43166fa05 (patch) | |
tree | f57274e8c97f81f5964cd4e7c2e49b1d16e13ecc /phpBB/includes/acp/acp_forums.php | |
parent | b3bbe576035da528aa6e52775cbc60133a8a2c90 (diff) | |
download | forums-9ce0873bd1dadac9ebd1a74d857f71c43166fa05.tar forums-9ce0873bd1dadac9ebd1a74d857f71c43166fa05.tar.gz forums-9ce0873bd1dadac9ebd1a74d857f71c43166fa05.tar.bz2 forums-9ce0873bd1dadac9ebd1a74d857f71c43166fa05.tar.xz forums-9ce0873bd1dadac9ebd1a74d857f71c43166fa05.zip |
[ticket/9514] Correctly delete big datasets when deleting a forum including topics/posts on non-MySQL databases.
PHPBB3-9514
Diffstat (limited to 'phpBB/includes/acp/acp_forums.php')
-rw-r--r-- | phpBB/includes/acp/acp_forums.php | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/phpBB/includes/acp/acp_forums.php b/phpBB/includes/acp/acp_forums.php index 5a5adc57ae..54bf905374 100644 --- a/phpBB/includes/acp/acp_forums.php +++ b/phpBB/includes/acp/acp_forums.php @@ -1705,6 +1705,9 @@ class acp_forums ) ); + // Amount of rows we select and delete in one iteration. + $batch_size = 500; + foreach ($tables_ary as $field => $tables) { $start = 0; @@ -1714,7 +1717,7 @@ class acp_forums $sql = "SELECT $field FROM " . POSTS_TABLE . ' WHERE forum_id = ' . $forum_id; - $result = $db->sql_query_limit($sql, 500, $start); + $result = $db->sql_query_limit($sql, $batch_size, $start); $ids = array(); while ($row = $db->sql_fetchrow($result)) @@ -1733,7 +1736,7 @@ class acp_forums } } } - while ($row); + while (sizeof($ids) == $batch_size); } unset($ids); |