]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Update sorting on api/statuses/retweets_of_me; was and remains poorly indexed, but...
authorBrion Vibber <brion@pobox.com>
Fri, 17 Dec 2010 23:25:19 +0000 (15:25 -0800)
committerBrion Vibber <brion@pobox.com>
Fri, 17 Dec 2010 23:25:19 +0000 (15:25 -0800)
classes/User.php

index 1b1b971ec72a55acfbf6a9eb2fefe19f32917677..edbd6bb2e394ef3313080b9e66f06b5d927ad6a0 100644 (file)
@@ -800,17 +800,17 @@ class User extends Memcached_DataObject
           'FROM notice original JOIN notice rept ON original.id = rept.repeat_of ' .
           'WHERE original.profile_id = ' . $this->id . ' ';
 
-        if ($since_id != 0) {
-            $qry .= 'AND original.id > ' . $since_id . ' ';
+        $since = Notice::whereSinceId($since_id, 'original.id', 'original.created');
+        if ($since) {
+            $qry .= "AND ($since) ";
         }
 
-        if ($max_id != 0) {
-            $qry .= 'AND original.id <= ' . $max_id . ' ';
+        $max = Notice::whereMaxId($max_id, 'original.id', 'original.created');
+        if ($max) {
+            $qry .= "AND ($max) ";
         }
 
-        // NOTE: we sort by fave time, not by notice time!
-
-        $qry .= 'ORDER BY original.id DESC ';
+        $qry .= 'ORDER BY original.created, original.id DESC ';
 
         if (!is_null($offset)) {
             $qry .= "LIMIT $limit OFFSET $offset";