diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-11-03 20:12:59 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-11-03 20:12:59 +0000 |
commit | 4210a1ef236e0fbc65878dd1a1ddcc8e13d43c45 (patch) | |
tree | 615a8bf0060943cac97df1ecb957e382ce8fc2aa /lib/sqlalchemy | |
parent | 8dd51943a01049a4680f051960dbef4f0fae371e (diff) | |
download | sqlalchemy-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.py | 24 | ||||
-rw-r--r-- | lib/sqlalchemy/sql/expression.py | 19 |
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) |