X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FMemcached_DataObject.php;h=97f793f4d8a871e77ad013f4f2d4082c4b3dac83;hb=39f8d2c72830d7bc3c08f60d1df38d19c846a74b;hp=27bb5d3c9d6e32f58063f9e1320b5daa711d123f;hpb=4c3aebd39644d913df4abdb69b848413ca65c298;p=quix0rs-gnu-social.git diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php index 27bb5d3c9d..97f793f4d8 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -74,7 +74,7 @@ class Memcached_DataObject extends Safe_DataObject return $i; } else { $i = DB_DataObject::factory($cls); - if (empty($i)) { + if (empty($i) || PEAR::isError($i)) { return false; } foreach ($kv as $k => $v) { @@ -339,10 +339,15 @@ class Memcached_DataObject extends Safe_DataObject $start = microtime(true); $fail = false; - try { - $result = parent::_query($string); - } catch (Exception $e) { - $fail = $e; + $result = null; + if (Event::handle('StartDBQuery', array($this, $string, &$result))) { + common_perf_counter('query', $string); + try { + $result = parent::_query($string); + } catch (Exception $e) { + $fail = $e; + } + Event::handle('EndDBQuery', array($this, $string, &$result)); } $delta = microtime(true) - $start; @@ -490,6 +495,10 @@ class Memcached_DataObject extends Safe_DataObject } } } + // Needed to make timestamp values usefully comparable. + if (common_config('db', 'type') == 'mysql') { + parent::_query("set time_zone='+0:00'"); + } } return $result;