]> git.mxchange.org Git - friendica.git/commitdiff
Some SQL improvements
authorMichael Vogel <icarus@dabo.de>
Mon, 30 Nov 2015 07:25:11 +0000 (08:25 +0100)
committerMichael Vogel <icarus@dabo.de>
Mon, 30 Nov 2015 07:25:11 +0000 (08:25 +0100)
mod/contacts.php

index 48d9c87e8345a85222d5ba3198d2d225b4fd331f..0c0b88a8235f65424d5e97a80706c26b6e2cdf75 100644 (file)
@@ -881,17 +881,20 @@ function contact_posts($a, $contact_id) {
                profile_load($a, "", 0, get_contact_details_by_url($contact["url"]));
        }
 
-       $r = q("SELECT COUNT(*) AS `total` FROM `item`
-               WHERE `item`.`uid` = %d AND `contact-id` = %d AND `item`.`id` = `item`.`parent`",
-               intval(local_user()), intval($contact_id));
+       if(get_config('system', 'old_pager')) {
+               $r = q("SELECT COUNT(*) AS `total` FROM `item`
+                       WHERE `item`.`uid` = %d AND (`author-link` = '%s')",
+                       intval(local_user()), dbesc($contact["url"]));
 
-       $a->set_pager_total($r[0]['total']);
+               $a->set_pager_total($r[0]['total']);
+       }
 
        $r = q("SELECT `item`.`uri`, `item`.*, `item`.`id` AS `item_id`,
                        `author-name` AS `name`, `owner-avatar` AS `photo`,
                        `owner-link` AS `url`, `owner-avatar` AS `thumb`
-               FROM `item` WHERE `item`.`uid` = %d AND `contact-id` = %d
-                       AND ((`item`.`id` = `item`.`parent`) OR (`author-link` = '%s'))
+               FROM `item` FORCE INDEX (uid_contactid_created)
+               WHERE `item`.`uid` = %d AND `contact-id` = %d
+                       AND (`author-link` = '%s')
                ORDER BY `item`.`created` DESC LIMIT %d, %d",
                intval(local_user()),
                intval($contact_id),
@@ -900,8 +903,6 @@ function contact_posts($a, $contact_id) {
                intval($a->pager['itemspage'])
        );
 
-
-
        $tab_str = contact_tabs($a, $contact_id, 1);
 
        $header = $contact["name"];