Make WordPress Core

Opened 13 years ago

Last modified 13 years ago

#16336 closed enhancement

wpdb::get_row never uses the cache — at Initial Version

Reported by: lacrymology's profile Lacrymology Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: Database Keywords: close
Focuses: Cc:

Description

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.

Change History (0)

Note: See TracTickets for help on using tickets.