summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-11-18 05:46:45 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-11-18 05:46:45 +0000
commit61edeeae4cd74a825f48a1bebe6930227134d5eb (patch)
tree23a2aa09a4c224a891da76c2b433b57a7d3b43ae /lib
parent79aa1a6b258a84443540b8bb68c8d64deb936ef9 (diff)
downloadsqlalchemy-61edeeae4cd74a825f48a1bebe6930227134d5eb.tar.gz
logging fixes
Diffstat (limited to 'lib')
-rw-r--r--lib/sqlalchemy/orm/mapper.py6
-rw-r--r--lib/sqlalchemy/orm/strategies.py3
-rw-r--r--lib/sqlalchemy/orm/uowdumper.py2
-rw-r--r--lib/sqlalchemy/schema.py8
-rw-r--r--lib/sqlalchemy/sql/expression.py21
5 files changed, 25 insertions, 15 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py
index a4a744c47..42fe8f56f 100644
--- a/lib/sqlalchemy/orm/mapper.py
+++ b/lib/sqlalchemy/orm/mapper.py
@@ -158,11 +158,11 @@ class Mapper(object):
def __log(self, msg):
if self.__should_log_info:
- self.logger.info("(" + self.class_.__name__ + "|" + (self.entity_name is not None and "/%s" % self.entity_name or "") + (self.local_table and self.local_table.name or str(self.local_table)) + (not self._is_primary_mapper() and "|non-primary" or "") + ") " + msg)
+ self.logger.info("(" + self.class_.__name__ + "|" + (self.entity_name is not None and "/%s" % self.entity_name or "") + (self.local_table and self.local_table.description or str(self.local_table)) + (not self._is_primary_mapper() and "|non-primary" or "") + ") " + msg)
def __log_debug(self, msg):
if self.__should_log_debug:
- self.logger.debug("(" + self.class_.__name__ + "|" + (self.entity_name is not None and "/%s" % self.entity_name or "") + (self.local_table and self.local_table.name or str(self.local_table)) + (not self._is_primary_mapper() and "|non-primary" or "") + ") " + msg)
+ self.logger.debug("(" + self.class_.__name__ + "|" + (self.entity_name is not None and "/%s" % self.entity_name or "") + (self.local_table and self.local_table.description or str(self.local_table)) + (not self._is_primary_mapper() and "|non-primary" or "") + ") " + msg)
def _is_orphan(self, obj):
optimistic = has_identity(obj)
@@ -799,7 +799,7 @@ class Mapper(object):
self._compile_property(key, prop, init=self.__props_init)
def __str__(self):
- return "Mapper|" + self.class_.__name__ + "|" + (self.entity_name is not None and "/%s" % self.entity_name or "") + (self.local_table and self.local_table.encodedname or str(self.local_table)) + (not self._is_primary_mapper() and "|non-primary" or "")
+ return "Mapper|" + self.class_.__name__ + "|" + (self.entity_name is not None and "/%s" % self.entity_name or "") + (self.local_table and self.local_table.description or str(self.local_table)) + (not self._is_primary_mapper() and "|non-primary" or "")
def _is_primary_mapper(self):
"""Return True if this mapper is the primary mapper for its class key (class + entity_name)."""
diff --git a/lib/sqlalchemy/orm/strategies.py b/lib/sqlalchemy/orm/strategies.py
index eb88c0497..32d148e3c 100644
--- a/lib/sqlalchemy/orm/strategies.py
+++ b/lib/sqlalchemy/orm/strategies.py
@@ -192,10 +192,11 @@ class DeferredColumnLoader(LoaderStrategy):
else:
group = [self.parent_property.key]
+ # narrow the keys down to just those which aren't present on the instance
group = [k for k in group if k not in instance.__dict__]
if self._should_log_debug:
- self.logger.debug("deferred load %s group %s" % (mapperutil.attribute_str(instance, self.key), group and ','.join([p.key for p in group]) or 'None'))
+ self.logger.debug("deferred load %s group %s" % (mapperutil.attribute_str(instance, self.key), group and ','.join(group) or 'None'))
session = sessionlib.object_session(instance)
if session is None:
diff --git a/lib/sqlalchemy/orm/uowdumper.py b/lib/sqlalchemy/orm/uowdumper.py
index 246718229..83bd63f34 100644
--- a/lib/sqlalchemy/orm/uowdumper.py
+++ b/lib/sqlalchemy/orm/uowdumper.py
@@ -177,7 +177,7 @@ class UOWDumper(unitofwork.UOWExecutor):
def _repr_task(self, task):
if task.mapper is not None:
if task.mapper.__class__.__name__ == 'Mapper':
- name = task.mapper.class_.__name__ + "/" + task.mapper.local_table.name + "/" + str(task.mapper.entity_name)
+ name = task.mapper.class_.__name__ + "/" + task.mapper.local_table.description + "/" + str(task.mapper.entity_name)
else:
name = repr(task.mapper)
else:
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py
index d05a8c13a..856822df7 100644
--- a/lib/sqlalchemy/schema.py
+++ b/lib/sqlalchemy/schema.py
@@ -257,7 +257,7 @@ class Table(SchemaItem, expression.TableClause):
["%s=%s" % (k, repr(getattr(self, k))) for k in ['schema']])
def __str__(self):
- return _get_table_key(self.encodedname, self.schema)
+ return _get_table_key(self.description, self.schema)
def append_column(self, column):
"""Append a ``Column`` to this ``Table``."""
@@ -459,11 +459,11 @@ class Column(SchemaItem, expression._ColumnClause):
def __str__(self):
if self.table is not None:
if self.table.named_with_column():
- return (self.table.encodedname + "." + self.encodedname)
+ return (self.table.description + "." + self.description)
else:
- return self.encodedname
+ return self.description
else:
- return self.encodedname
+ return self.description
def _get_bind(self):
return self.table.bind
diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py
index 7c42ae9a2..3bb4a7598 100644
--- a/lib/sqlalchemy/sql/expression.py
+++ b/lib/sqlalchemy/sql/expression.py
@@ -2382,12 +2382,15 @@ class Alias(FromClause):
alias = getattr(self.original, 'name', None)
alias = '{ANON %d %s}' % (id(self), alias or 'anon')
self.name = alias
- self.encodedname = alias.encode('ascii', 'backslashreplace')
if self.selectable.oid_column is not None:
self.oid_column = self.selectable.oid_column._make_proxy(self)
else:
self.oid_column = None
-
+
+ def description(self):
+ return self.name.encode('ascii', 'backslashreplace')
+ description = property(description)
+
def is_derived_from(self, fromclause):
return self.selectable.is_derived_from(fromclause)
@@ -2559,13 +2562,16 @@ class _ColumnClause(ColumnElement):
def __init__(self, text, selectable=None, type_=None, _is_oid=False, is_literal=False):
self.key = self.name = text
- self.encodedname = isinstance(self.name, unicode) and self.name.encode('ascii', 'backslashreplace') or self.name
self.table = selectable
self.type = sqltypes.to_instance(type_)
self._is_oid = _is_oid
self.__label = None
self.is_literal = is_literal
-
+
+ def description(self):
+ return self.name.encode('ascii', 'backslashreplace')
+ description = property(description)
+
def _clone(self):
# ColumnClause is immutable
return self
@@ -2637,10 +2643,13 @@ class TableClause(FromClause):
def __init__(self, name, *columns):
super(TableClause, self).__init__()
self.name = self.fullname = name
- self.encodedname = self.name.encode('ascii', 'backslashreplace')
self.oid_column = _ColumnClause('oid', self, _is_oid=True)
self._export_columns(columns)
-
+
+ def description(self):
+ return self.name.encode('ascii', 'backslashreplace')
+ description = property(description)
+
def _clone(self):
# TableClause is immutable
return self