From 0044c263684f0915c62a2a7942e84c5ebe2207f7 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 19 Sep 2006 17:49:51 +0000 Subject: - post_update behavior improved; does a better job at not updating too many rows, updates only required columns [ticket:208] --- lib/sqlalchemy/orm/sync.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib/sqlalchemy/orm/sync.py') diff --git a/lib/sqlalchemy/orm/sync.py b/lib/sqlalchemy/orm/sync.py index 8004776c8..c43bd69e0 100644 --- a/lib/sqlalchemy/orm/sync.py +++ b/lib/sqlalchemy/orm/sync.py @@ -81,7 +81,10 @@ class ClauseSynchronizer(object): sqlclause.accept_visitor(processor) if len(self.syncrules) == rules_added: raise ArgumentError("No syncrules generated for join criterion " + str(sqlclause)) - + + def dest_columns(self): + return [r.dest_column for r in self.syncrules if r.dest_column is not None] + def execute(self, source, dest, obj=None, child=None, clearkeys=None): for rule in self.syncrules: rule.execute(source, dest, obj, child, clearkeys) -- cgit v1.2.1