experimental: if using adaptive/unread mode w/ auto catchup don't calculate offsets because we're only interested in top $limit headlines anyway

This commit is contained in:
Andrew Dolgov 2015-08-05 10:13:30 +03:00
parent 332ff5cfb8
commit 0bd172cd6a
2 changed files with 13 additions and 4 deletions

View File

@ -686,7 +686,8 @@ class API extends Handler {
"offset" => $offset,
"since_id" => $since_id,
"include_children" => $include_nested,
"check_first_id" => $check_first_id
"check_first_id" => $check_first_id,
"api_request" => true
);
$qfh_ret = queryFeedHeadlines($params);

View File

@ -463,6 +463,7 @@
$override_vfeed = isset($params["override_vfeed"]) ? $params["override_vfeed"] : false;
$start_ts = isset($params["start_ts"]) ? $params["start_ts"] : false;
$check_first_id = isset($params["check_first_id"]) ? $params["check_first_id"] : false;
$api_request = isset($params["api_request"]) ? $params["api_request"] : false;
$ext_tables_part = "";
$query_strategy_part = "";
@ -491,6 +492,7 @@
}
$view_query_part = "";
$disable_offsets = false;
if ($view_mode == "adaptive") {
if ($search) {
@ -502,9 +504,10 @@
if ($cat_view && $feed > 0 && $include_children)
$unread += getCategoryChildrenUnread($feed);
if ($unread > 0)
if ($unread > 0) {
$view_query_part = " unread = true AND ";
$disable_offsets = !$api_request && get_pref("CDM_AUTO_CATCHUP");
}
}
}
@ -522,6 +525,7 @@
if ($view_mode == "unread" && $feed != -6) {
$view_query_part = " unread = true AND ";
$disable_offsets = !$api_request && get_pref("CDM_AUTO_CATCHUP");
}
if ($limit > 0) {
@ -762,6 +766,10 @@
}
}
if ($disable_offsets) {
$offset_query_part = "";
}
$query = "SELECT DISTINCT
date_entered,
guid,