summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-11-03 20:12:59 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-11-03 20:12:59 +0000
commit4210a1ef236e0fbc65878dd1a1ddcc8e13d43c45 (patch)
tree615a8bf0060943cac97df1ecb957e382ce8fc2aa /lib/sqlalchemy
parent8dd51943a01049a4680f051960dbef4f0fae371e (diff)
downloadsqlalchemy-4210a1ef236e0fbc65878dd1a1ddcc8e13d43c45.tar.gz
- removed "name" attribute from FromClause, Join, Select, CompoundSelect. its needless
and led to some very strange anonymous label names - removed what was apparently cruft in some column-targeting code
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/orm/util.py24
-rw-r--r--lib/sqlalchemy/sql/expression.py19
2 files changed, 12 insertions, 31 deletions
diff --git a/lib/sqlalchemy/orm/util.py b/lib/sqlalchemy/orm/util.py
index 9e3f20257..08289ae89 100644
--- a/lib/sqlalchemy/orm/util.py
+++ b/lib/sqlalchemy/orm/util.py
@@ -189,7 +189,6 @@ class AliasedClauses(object):
else:
self.alias = mapped_table.alias()
self.mapped_table = mapped_table
- self.extra_cols = {}
self.row_decorator = self._create_row_adapter()
def aliased_column(self, column):
@@ -200,9 +199,6 @@ class AliasedClauses(object):
if conv:
return conv
- if column in self.extra_cols:
- return self.extra_cols[column]
-
aliased_column = column
# for column-level subqueries, swap out its selectable with our
# eager version as appropriate, and manually build the
@@ -214,11 +210,6 @@ class AliasedClauses(object):
aliased_column = sql_util.ClauseAdapter(self.alias).chain(ModifySubquery()).traverse(aliased_column, clone=True)
aliased_column = aliased_column.label(None)
self.row_decorator.map[column] = aliased_column
- # TODO: this is a little hacky
- for attr in ('name', '_label'):
- if hasattr(column, attr):
- self.row_decorator.map[getattr(column, attr)] = aliased_column
- self.extra_cols[column] = aliased_column
return aliased_column
def adapt_clause(self, clause):
@@ -246,18 +237,9 @@ class AliasedClauses(object):
return self.row[key]
def keys(self):
return map.keys()
- map = {}
- for c in self.alias.c:
- parent = self.mapped_table.corresponding_column(c)
- map[parent] = c
- map[parent._label] = c
- map[parent.name] = c
- for c in self.extra_cols:
- map[c] = self.extra_cols[c]
- # TODO: this is a little hacky
- for attr in ('name', '_label'):
- if hasattr(c, attr):
- map[getattr(c, attr)] = self.extra_cols[c]
+ map = {}
+ for c in self.mapped_table.c:
+ map[c] = self.alias.corresponding_column(c)
AliasedRowAdapter.map = map
return AliasedRowAdapter
diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py
index 3771734e3..49dbc143a 100644
--- a/lib/sqlalchemy/sql/expression.py
+++ b/lib/sqlalchemy/sql/expression.py
@@ -1521,8 +1521,7 @@ class FromClause(Selectable):
__visit_name__ = 'fromclause'
- def __init__(self, name=None):
- self.name = name
+ def __init__(self):
self.oid_column = None
def _get_from_objects(self, **modifiers):
@@ -1723,6 +1722,12 @@ class FromClause(Selectable):
def _proxy_column(self, column):
return column._make_proxy(self)
+class _TextFromClause(FromClause):
+ __visit_name__ = 'fromclause'
+
+ def __init__(self, text):
+ self.name = text
+
class _BindParamClause(ClauseElement, _CompareMixin):
"""Represent a bind parameter.
@@ -2212,9 +2217,6 @@ class Join(FromClause):
self.__folded_equivalents = None
self._init_primary_key()
- name = property(lambda s: "Join object on " + s.left.name + " " + s.right.name)
- encodedname = property(lambda s: s.name.encode('ascii', 'backslashreplace'))
-
def _init_primary_key(self):
from sqlalchemy import schema
pkcol = util.Set([c for c in self._flatten_exportable_columns() if c.primary_key])
@@ -2663,7 +2665,7 @@ class TableClause(FromClause):
"""
def __init__(self, name, *columns):
- super(TableClause, self).__init__(name)
+ 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)
@@ -2910,7 +2912,6 @@ class CompoundSelect(_SelectBaseMixin, FromClause):
_SelectBaseMixin.__init__(self, **kwargs)
- name = property(lambda s:s.keyword + " statement")
def self_group(self, against=None):
return _FromGrouping(self)
@@ -3058,8 +3059,6 @@ class Select(_SelectBaseMixin, FromClause):
froms = property(_get_display_froms, doc="""Return a list of all FromClause elements which will be applied to the FROM clause of the resulting statement.""")
- name = property(lambda self:"Select statement", doc="""Placeholder 'name' attribute to meet the FromClause interface.""")
-
def locate_all_froms(self):
"""return a Set of all FromClause elements referenced by this Select.
@@ -3250,7 +3249,7 @@ class Select(_SelectBaseMixin, FromClause):
"""append the given FromClause expression to this select() construct's FROM clause."""
if _is_literal(fromclause):
- fromclause = FromClause(fromclause)
+ fromclause = _TextFromClause(fromclause)
if not _copy_collection:
self._froms.add(fromclause)