aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions.php
diff options
context:
space:
mode:
authorrxu <rxu@mail.ru>2010-05-17 21:14:02 +0800
committerrxu <rxu@mail.ru>2010-05-17 21:14:02 +0800
commitd819ee343a3a6dc6282f709e67454cd2f0d1afcf (patch)
treeec676bbdac4cf5438ee0a419fedebfc1a4a00a30 /phpBB/includes/functions.php
parent6d7e30ae995fe0791c2bced0974b0445fa769ee9 (diff)
downloadforums-d819ee343a3a6dc6282f709e67454cd2f0d1afcf.tar
forums-d819ee343a3a6dc6282f709e67454cd2f0d1afcf.tar.gz
forums-d819ee343a3a6dc6282f709e67454cd2f0d1afcf.tar.bz2
forums-d819ee343a3a6dc6282f709e67454cd2f0d1afcf.tar.xz
forums-d819ee343a3a6dc6282f709e67454cd2f0d1afcf.zip
[ticket/9606] Optimize unread search option.
Get rid of redundant SQL query in search.php that should increase performance slightly. PHPBB3-9606
Diffstat (limited to 'phpBB/includes/functions.php')
-rw-r--r--phpBB/includes/functions.php7
1 files changed, 4 insertions, 3 deletions
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index cd8447a2a3..f783694db1 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -1660,10 +1660,11 @@ function get_complete_topic_tracking($forum_id, $topic_ids, $global_announce_lis
* @param string $sql_extra Extra WHERE SQL statement
* @param string $sql_sort ORDER BY SQL sorting statement
* @param string $sql_limit Limits the size of unread topics list, 0 for unlimited query
+* @param string $sql_limit_offset Sets the offset of the first row to search, 0 to search from the start
*
* @return array[int][int] Topic ids as keys, mark_time of topic as value
*/
-function get_unread_topics($user_id = false, $sql_extra = '', $sql_sort = '', $sql_limit = 1001)
+function get_unread_topics($user_id = false, $sql_extra = '', $sql_sort = '', $sql_limit = 1001, $sql_limit_offset = 0)
{
global $config, $db, $user;
@@ -1709,7 +1710,7 @@ function get_unread_topics($user_id = false, $sql_extra = '', $sql_sort = '', $s
);
$sql = $db->sql_build_query('SELECT', $sql_array);
- $result = $db->sql_query_limit($sql, $sql_limit);
+ $result = $db->sql_query_limit($sql, $sql_limit, $sql_limit_offset);
while ($row = $db->sql_fetchrow($result))
{
@@ -1742,7 +1743,7 @@ function get_unread_topics($user_id = false, $sql_extra = '', $sql_sort = '', $s
WHERE t.topic_last_post_time > ' . $user_lastmark . "
$sql_extra
$sql_sort";
- $result = $db->sql_query_limit($sql, $sql_limit);
+ $result = $db->sql_query_limit($sql, $sql_limit, $sql_limit_offset);
while ($row = $db->sql_fetchrow($result))
{