]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
update mysqltimestamps on insert and update
authorEvan Prodromou <evan@status.net>
Thu, 28 Jan 2010 17:57:52 +0000 (12:57 -0500)
committerEvan Prodromou <evan@status.net>
Thu, 28 Jan 2010 18:54:01 +0000 (13:54 -0500)
classes/Memcached_DataObject.php

index 2cc6377f83f1a5b38545d4faeb6709792fbfe721..bc9aaf81feebde6eecd4931f863de93757675015 100644 (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));
+    }
 }