WordPress.org

Make WordPress Core

Changeset 10422


Ignore:
Timestamp:
01/23/09 22:26:40 (7 years ago)
Author:
ryan
Message:

Eliminate SQL_CACLC_FOUND_ROWS for edit-comments.php query. Use results of earlier wp_count_comments() if appropriate otherwise perform COUNT query. see #7415

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/template.php

    r10389 r10422  
    19211921    $num = (int) $num; 
    19221922    $post = (int) $post; 
    1923  
    1924     if ( 'moderated' == $status ) 
     1923    $count = wp_count_comments(); 
     1924 
     1925    if ( 'moderated' == $status ) { 
    19251926        $approved = "comment_approved = '0'"; 
    1926     elseif ( 'approved' == $status ) 
     1927        $total = $count->moderated; 
     1928    } elseif ( 'approved' == $status ) { 
    19271929        $approved = "comment_approved = '1'"; 
    1928     elseif ( 'spam' == $status ) 
     1930        $total = $count->approved; 
     1931    } elseif ( 'spam' == $status ) { 
    19291932        $approved = "comment_approved = 'spam'"; 
    1930     else 
     1933        $total = $count->spam; 
     1934    } else { 
    19311935        $approved = "( comment_approved = '0' OR comment_approved = '1' )"; 
     1936        $total = $count->moderated + $count->approved; 
     1937    } 
    19321938 
    19331939    if ( $post ) { 
     1940        $total = ''; 
    19341941        $post = " AND comment_post_ID = '$post'"; 
    19351942        $orderby = "ORDER BY comment_date_gmt ASC LIMIT $start, $num"; 
     
    19501957        $typesql = ''; 
    19511958 
     1959    if ( !empty($type) ) 
     1960        $total = ''; 
     1961 
    19521962    if ( $s ) { 
     1963        $total = ''; 
    19531964        $s = $wpdb->escape($s); 
    1954         $comments = $wpdb->get_results("SELECT SQL_CALC_FOUND_ROWS * FROM $wpdb->comments WHERE 
     1965        $query = "FROM $wpdb->comments WHERE 
    19551966            (comment_author LIKE '%$s%' OR 
    19561967            comment_author_email LIKE '%$s%' OR 
     
    19601971            $approved 
    19611972            $typesql 
    1962             $orderby"); 
     1973            $orderby"; 
    19631974    } else { 
    1964         $comments = $wpdb->get_results( "SELECT SQL_CALC_FOUND_ROWS * FROM $wpdb->comments WHERE $approved $post $typesql $orderby" ); 
    1965     } 
     1975        $query = "FROM $wpdb->comments USE INDEX (comment_date_gmt) WHERE $approved $post $typesql $orderby"; 
     1976    } 
     1977 
     1978    $comments = $wpdb->get_results("SELECT * $query"); 
     1979    if ( '' === $total ) 
     1980        $total = $wpdb->get_var("SELECT COUNT(comment_ID) $query"); 
    19661981 
    19671982    update_comment_cache($comments); 
    1968  
    1969     $total = $wpdb->get_var( "SELECT FOUND_ROWS()" ); 
    19701983 
    19711984    return array($comments, $total); 
Note: See TracChangeset for help on using the changeset viewer.