]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- some logging cleanup
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 27 Mar 2007 21:01:32 +0000 (21:01 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 27 Mar 2007 21:01:32 +0000 (21:01 +0000)
- added 'encodedname' prop to a few ClauseElements to aid logging

lib/sqlalchemy/orm/unitofwork.py
lib/sqlalchemy/orm/uowdumper.py
lib/sqlalchemy/sql.py

index 7fdcaeba252714bf0cecaef21d0c3d78a91365d6..7a12d554d61c12796460c508e214464de73a2891 100644 (file)
@@ -21,6 +21,7 @@ changes at once.
 
 from sqlalchemy import util, logging, topological
 from sqlalchemy.orm import attributes
+from sqlalchemy.orm import util as mapperutil
 from sqlalchemy.orm.mapper import object_mapper, class_mapper
 from sqlalchemy.exceptions import *
 import StringIO
@@ -249,12 +250,18 @@ class UOWTransaction(object):
         save/delete registration is entered for the object.
         """
 
+
         #print "REGISTER", repr(obj), repr(getattr(obj, '_instance_key', None)), str(isdelete), str(listonly)
 
         # if object is not in the overall session, do nothing
         if not self.uow._is_valid(obj):
+            if logging.is_debug_enabled(self.logger):
+                self.logger.debug("object %s not part of session, not registering for flush" % (mapperutil.instance_str(obj)))
             return
 
+        if logging.is_debug_enabled(self.logger):
+            self.logger.debug("register object for flush: %s isdelete=%s listonly=%s postupdate=%s" % (mapperutil.instance_str(obj), isdelete, listonly, postupdate))
+
         mapper = object_mapper(obj)
         self.mappers.add(mapper)
         task = self.get_task_by_mapper(mapper)
index 166e3b879508640a25b42365d91aa15c32a65da3..3e691f5a79fe111b05fb9405628258bffb4377fa 100644 (file)
@@ -1,4 +1,5 @@
 from sqlalchemy.orm import unitofwork
+from sqlalchemy.orm import util as mapperutil
 
 """Dumps out a string representation of a UOWTask structure"""
 
@@ -162,9 +163,9 @@ class UOWDumper(unitofwork.UOWExecutor):
             objid = "(placeholder)"
         else:
             if attribute is not None:
-                objid = "%s(%s).%s" % (te.obj.__class__.__name__, hex(id(te.obj)), attribute)
+                objid = "%s.%s" % (mapperutil.instance_str(te.obj), attribute)
             else:
-                objid = "%s(%s)" % (te.obj.__class__.__name__, hex(id(te.obj)))
+                objid = mapperutil.instance_str(te.obj)
         if self.verbose:
             return "%s (UOWTaskElement(%s, %s))" % (objid, hex(id(te)), (te.listonly and 'listonly' or (te.isdelete and 'delete' or 'save')))
         elif process:
@@ -191,8 +192,5 @@ class UOWDumper(unitofwork.UOWExecutor):
         else:
             return '(none)'
 
-    def _repr(self, obj):
-        return "%s(%s)" % (obj.__class__.__name__, hex(id(obj)))
-
     def _indent(self):
         return "   |" * self.indent
index edcf0f04298a613c9397169c2c9ff0f068fe7722..6924a60ceb66164646d7e0241cde6aa084f62718 100644 (file)
@@ -1663,7 +1663,8 @@ class Join(FromClause):
         self.isouter = isouter
 
     name = property(lambda s: "Join object on " + s.left.name + " " + s.right.name)
-
+    encodedname = property(lambda s: s.name.encode('ascii', 'backslashreplace'))
+    
     def _locate_oid_column(self):
         return self.left.oid_column
 
@@ -1791,6 +1792,7 @@ class Alias(FromClause):
                 alias = alias[0:15]
             alias = alias + "_" + hex(random.randint(0, 65535))[2:]
         self.name = alias
+        self.encodedname = alias.encode('ascii', 'backslashreplace')
         self.case_sensitive = getattr(baseselectable, "case_sensitive", True)
 
     def supports_execution(self):