]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Update sorting for group inbox timelines; adds group_inbox_group_id_created_notice_id...
authorBrion Vibber <brion@pobox.com>
Fri, 17 Dec 2010 22:51:37 +0000 (14:51 -0800)
committerBrion Vibber <brion@pobox.com>
Fri, 17 Dec 2010 22:51:37 +0000 (14:51 -0800)
classes/User_group.php
db/096to097.sql
db/statusnet.sql

index 60217e960ed7460f7545a8075edca48a7f2c4403..cffc7864586d7a542764fcb1ec3d621725ca6ee1 100644 (file)
@@ -100,15 +100,10 @@ class User_group extends Memcached_DataObject
         $inbox->selectAdd();
         $inbox->selectAdd('notice_id');
 
-        if ($since_id != 0) {
-            $inbox->whereAdd('notice_id > ' . $since_id);
-        }
-
-        if ($max_id != 0) {
-            $inbox->whereAdd('notice_id <= ' . $max_id);
-        }
+        Notice::addWhereSinceId($inbox, $since_id, 'notice_id');
+        Notice::addWhereMaxId($inbox, $max_id, 'notice_id');
 
-        $inbox->orderBy('notice_id DESC');
+        $inbox->orderBy('created DESC, notice_id DESC');
 
         if (!is_null($offset)) {
             $inbox->limit($offset, $limit);
index 4171e95897e7f05701abd393896a6d0203b25c13..c3f1fb42539a0022d52d75dbac1a32d2e579e54e 100644 (file)
@@ -8,3 +8,6 @@ alter table notice_tag add index notice_tag_tag_created_notice_id_idx (tag, crea
 
 -- Needed for sorting reply/mentions timelines
 alter table reply add index reply_profile_id_modified_notice_id_idx (profile_id, modified, notice_id);
+
+-- Needed for sorting group messages by timestamp
+alter table group_inbox add index group_inbox_group_id_created_notice_id_idx (group_id, created, notice_id);
index dfc46f79e28ea98871584d10011c721b98b8c758..5898abf4639ec9069306c2bbee20a70d8c17ab0b 100644 (file)
@@ -480,7 +480,10 @@ create table group_inbox (
 
     constraint primary key (group_id, notice_id),
     index group_inbox_created_idx (created),
-    index group_inbox_notice_id_idx (notice_id)
+    index group_inbox_notice_id_idx (notice_id),
+
+    -- Needed for sorting group messages by timestamp
+    index group_inbox_group_id_created_notice_id_idx (group_id, created, notice_id)
 
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;