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 | 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.