[wp-trac] [WordPress Trac] #16336: wpdb::get_row never uses the cache

WordPress Trac wp-trac at lists.automattic.com
Fri Jan 21 22:44:05 UTC 2011


#16336: wpdb::get_row never uses the cache
-------------------------+-----------------------------
 Reporter:  Lacrymology  |      Owner:
     Type:  enhancement  |     Status:  new
 Priority:  normal       |  Milestone:  Awaiting Review
Component:  General      |    Version:
 Severity:  normal       |   Keywords:
-------------------------+-----------------------------
 wpdb::get_row never uses the cached results, look at this

         function get_row( $query = null, $output = OBJECT, $y = 0 ) {
                 $this->func_call = "\$db->get_row(\"$query\",$output,$y)";
                 if ( $query )
                         $this->query( $query );
                 else
                         return null;
                 // more code

 and then

         function query( $query ) {
                 if ( ! $this->ready )
                         return false;

                 // some queries are made before the plugins have been
 loaded, and thus cannot be filtered with this method
                 if ( function_exists( 'apply_filters' ) )
                         $query = apply_filters( 'query', $query );

                 $return_val = 0;
                 $this->flush();


 See how the cache never gets called? if you write a query, the old one
 gets flushed without checking if it was the same as before, if you use
 null, null gets returned, an if($this->last_query != $query) needs to be
 put in ::query or the return null removed from ::get_row, I'd prefer the
 first solution.

-- 
Ticket URL: <http://core.trac.wordpress.org/ticket/16336>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list