summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-12-17 15:13:09 -0800
committerBrion Vibber <brion@pobox.com>2010-12-17 15:13:09 -0800
commit1b90ed564a19dcb3d24d0c0620ce0623773fe4d0 (patch)
treeb84e400ee115c75c2e95b70b206106c98b6d33c3
parent04aa8bd70f0c3f84af349b8a801ea73753077760 (diff)
Update sorting on api/statuses/retweets: adds notice_repeat_of_created_id_idx index to replace notice_repeatof_idx
-rw-r--r--classes/Notice.php2
-rw-r--r--db/096to097.sql7
-rw-r--r--db/statusnet.sql4
3 files changed, 10 insertions, 3 deletions
diff --git a/classes/Notice.php b/classes/Notice.php
index c58705c4b..ea69a5bed 100644
--- a/classes/Notice.php
+++ b/classes/Notice.php
@@ -1690,7 +1690,7 @@ class Notice extends Memcached_DataObject
$notice->repeat_of = $this->id;
- $notice->orderBy('created'); // NB: asc!
+ $notice->orderBy('created, id'); // NB: asc!
if (!is_null($limit)) {
$notice->limit(0, $limit);
diff --git a/db/096to097.sql b/db/096to097.sql
index c3f1fb425..5947538da 100644
--- a/db/096to097.sql
+++ b/db/096to097.sql
@@ -1,7 +1,10 @@
-- Add indexes for sorting changes in 0.9.7
--- Allows sorting public timeline by timestamp efficiently
-alter table notice add index notice_created_id_is_local_idx (created,id,is_local);
+-- Allows sorting public timeline and api/statuses/repeats by timestamp efficiently
+alter table notice
+ add index notice_created_id_is_local_idx (created,id,is_local),
+ drop index notice_repeatof_idx,
+ add index notice_repeat_of_created_id_idx (repeat_of, created, id);
-- Allows sorting tag-filtered public timeline by timestamp efficiently
alter table notice_tag add index notice_tag_tag_created_notice_id_idx (tag, created, notice_id);
diff --git a/db/statusnet.sql b/db/statusnet.sql
index 5898abf46..9624edd6f 100644
--- a/db/statusnet.sql
+++ b/db/statusnet.sql
@@ -137,11 +137,15 @@ create table notice (
-- For profile timelines...
index notice_profile_id_idx (profile_id,created,id),
+ -- For api/statuses/repeats...
+ index notice_repeat_of_created_id_idx (repeat_of, created, id),
+
-- Are these enough?
index notice_conversation_idx (conversation),
index notice_created_idx (created),
index notice_replyto_idx (reply_to),
index notice_repeatof_idx (repeat_of),
+
FULLTEXT(content)
) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;