update mysqltimestamps on insert and update

This commit is contained in:
Evan Prodromou 2010-01-28 12:57:52 -05:00
parent c81318d3ca
commit 84b5480007
1 changed files with 19 additions and 1 deletions

View File

@ -147,6 +147,7 @@ class Memcached_DataObject extends DB_DataObject
{
$result = parent::insert();
if ($result) {
$this->fixupTimestamps();
$this->encache(); // in case of cached negative lookups
}
return $result;
@ -159,6 +160,7 @@ class Memcached_DataObject extends DB_DataObject
}
$result = parent::update($orig);
if ($result) {
$this->fixupTimestamps();
$this->encache();
}
return $result;
@ -366,7 +368,7 @@ class Memcached_DataObject extends DB_DataObject
}
/**
* sends query to database - this is the private one that must work
* sends query to database - this is the private one that must work
* - internal functions use this rather than $this->query()
*
* Overridden to do logging.
@ -529,4 +531,20 @@ class Memcached_DataObject extends DB_DataObject
return $c->delete($cacheKey);
}
function fixupTimestamps()
{
// Fake up timestamp columns
$columns = $this->table();
foreach ($columns as $name => $type) {
if ($type & DB_DATAOBJECT_MYSQLTIMESTAMP) {
$this->$name = common_sql_now();
}
}
}
function debugDump()
{
common_debug("debugDump: " . common_log_objstring($this));
}
}