|
1 | | -# $Id: rdbms_common.py,v 1.144 2005-01-04 03:27:04 richard Exp $ |
| 1 | +# $Id: rdbms_common.py,v 1.145 2005-01-06 17:35:34 a1s Exp $ |
2 | 2 | ''' Relational database (SQL) backend common code. |
3 | 3 |
|
4 | 4 | Basics: |
@@ -459,7 +459,7 @@ def determine_all_columns(self, spec): |
459 | 459 |
|
460 | 460 | """ |
461 | 461 | cols, mls = self.determine_columns(spec.properties.items()) |
462 | | - |
| 462 | + |
463 | 463 | # add on our special columns |
464 | 464 | cols.append(('id', 'INTEGER PRIMARY KEY')) |
465 | 465 | cols.append(('__retired__', 'INTEGER DEFAULT 0')) |
@@ -774,20 +774,15 @@ def setnode(self, classname, nodeid, values, multilink_changes={}): |
774 | 774 | ''' Change the specified node. |
775 | 775 | ''' |
776 | 776 | if __debug__: |
777 | | - self.config.logging.getLogger('hyperdb').debug('setnode %s%s %r'%(classname, |
778 | | - nodeid, values)) |
| 777 | + self.config.logging.getLogger('hyperdb').debug('setnode %s%s %r' |
| 778 | + % (classname, nodeid, values)) |
779 | 779 |
|
780 | 780 | # clear this node out of the cache if it's in there |
781 | 781 | key = (classname, nodeid) |
782 | 782 | if self.cache.has_key(key): |
783 | 783 | del self.cache[key] |
784 | 784 | self.cache_lru.remove(key) |
785 | 785 |
|
786 | | - # add the special props |
787 | | - values = values.copy() |
788 | | - values['activity'] = date.Date() |
789 | | - values['actor'] = self.getuid() |
790 | | - |
791 | 786 | cl = self.classes[classname] |
792 | 787 | props = cl.getprops() |
793 | 788 |
|
@@ -1536,6 +1531,9 @@ def set_inner(self, nodeid, **propvalues): |
1536 | 1531 | raise IndexError, 'Requested item is retired' |
1537 | 1532 | num_re = re.compile('^\d+$') |
1538 | 1533 |
|
| 1534 | + # make a copy of the values dictionary - we'll modify the contents |
| 1535 | + propvalues = propvalues.copy() |
| 1536 | + |
1539 | 1537 | # if the journal value is to be different, store it in here |
1540 | 1538 | journalvalues = {} |
1541 | 1539 |
|
@@ -1702,6 +1700,10 @@ def set_inner(self, nodeid, **propvalues): |
1702 | 1700 | if not propvalues: |
1703 | 1701 | return propvalues |
1704 | 1702 |
|
| 1703 | + # update the activity time |
| 1704 | + propvalues['activity'] = date.Date() |
| 1705 | + propvalues['actor'] = self.db.getuid() |
| 1706 | + |
1705 | 1707 | # do the set, and journal it |
1706 | 1708 | self.db.setnode(self.classname, nodeid, propvalues, multilink_changes) |
1707 | 1709 |
|
|
0 commit comments