summaryrefslogtreecommitdiff
path: root/modules/comment
diff options
context:
space:
mode:
authorAngie Byron <webchick@24967.no-reply.drupal.org>2010-02-17 05:31:31 +0000
committerAngie Byron <webchick@24967.no-reply.drupal.org>2010-02-17 05:31:31 +0000
commit579e39b46555854b0b38b518f59a71cd9e71c4ae (patch)
tree615ca57a6700760fd518b61d1ba4a275d4ea37b9 /modules/comment
parent2f097f48cb768a341784f22dbfd095c4d39ada18 (diff)
downloadbrdo-579e39b46555854b0b38b518f59a71cd9e71c4ae.tar.gz
brdo-579e39b46555854b0b38b518f59a71cd9e71c4ae.tar.bz2
#314349 by mfb, Damien Tournoud, catch, scor, cha0s: Fixed random failures from comment paging tests.
Diffstat (limited to 'modules/comment')
-rw-r--r--modules/comment/comment.install10
-rw-r--r--modules/comment/comment.module5
2 files changed, 12 insertions, 3 deletions
diff --git a/modules/comment/comment.install b/modules/comment/comment.install
index 9eff90068..0ef098a78 100644
--- a/modules/comment/comment.install
+++ b/modules/comment/comment.install
@@ -352,6 +352,14 @@ function comment_update_7013(&$sandbox) {
}
/**
+ * Optimize index for comment_num_new() and comment_new_page_count().
+ */
+function comment_update_7014() {
+ db_drop_index('comment', 'comment_num_new');
+ db_add_index('comment', 'comment_num_new', array('nid', 'status', 'created', 'cid', 'thread'));
+}
+
+/**
* @} End of "defgroup updates-6.x-to-7.x"
* The next series of updates should start at 8000.
*/
@@ -454,7 +462,7 @@ function comment_schema() {
),
'indexes' => array(
'comment_status_pid' => array('pid', 'status'),
- 'comment_num_new' => array('nid', 'changed', 'status'),
+ 'comment_num_new' => array('nid', 'status', 'created', 'cid', 'thread'),
'comment_uid' => array('uid'),
'comment_nid_language' => array('nid', 'language'),
),
diff --git a/modules/comment/comment.module b/modules/comment/comment.module
index ee0f0764f..68be18b92 100644
--- a/modules/comment/comment.module
+++ b/modules/comment/comment.module
@@ -523,7 +523,8 @@ function comment_new_page_count($num_comments, $new_replies, $node) {
->fields('comment', array('thread'))
->condition('nid', $node->nid)
->condition('status', COMMENT_PUBLISHED)
- ->orderBy('changed', 'DESC')
+ ->orderBy('created', 'DESC')
+ ->orderBy('cid', 'DESC')
->range(0, $new_replies);
// 2. Find the first thread.
@@ -1643,7 +1644,7 @@ function comment_num_new($nid, $timestamp = 0) {
$timestamp = ($timestamp > NODE_NEW_LIMIT ? $timestamp : NODE_NEW_LIMIT);
// Use the timestamp to retrieve the number of new comments.
- return db_query('SELECT COUNT(cid) FROM {comment} WHERE nid = :nid AND changed > :timestamp AND status = :status', array(
+ return db_query('SELECT COUNT(cid) FROM {comment} WHERE nid = :nid AND created > :timestamp AND status = :status', array(
':nid' => $nid,
':timestamp' => $timestamp,
':status' => COMMENT_PUBLISHED,