diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-12-18 17:57:15 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-12-18 17:57:15 +0000 |
| commit | be5d3263436b81fb179c8189f1064d477d5fb3e6 (patch) | |
| tree | 7f99d53445ef85d4bce4fcf6b5e244779cbcde1c /lib/sqlalchemy/engine/base.py | |
| parent | 98d7d70674b443d1691971926af1b1db4d7101dc (diff) | |
| download | sqlalchemy-be5d3263436b81fb179c8189f1064d477d5fb3e6.tar.gz | |
merged -r5299:5438 of py3k warnings branch. this fixes some sqlite py2.6 testing issues,
and also addresses a significant chunk of py3k deprecations. It's mainly
expicit __hash__ methods. Additionally, most usage of sets/dicts to store columns uses
util-based placeholder names.
Diffstat (limited to 'lib/sqlalchemy/engine/base.py')
| -rw-r--r-- | lib/sqlalchemy/engine/base.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index c7101d10e..dbcd5b76b 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -1267,7 +1267,6 @@ class Engine(Connectable): return self.pool.unique_connection() - def _proxy_connection_cls(cls, proxy): class ProxyConnection(cls): def execute(self, object, *multiparams, **params): @@ -1319,6 +1318,8 @@ class RowProxy(object): for i in xrange(len(self.__row)): yield self.__parent._get_col(self.__row, i) + __hash__ = None + def __eq__(self, other): return ((other is self) or (other == tuple(self.__parent._get_col(self.__row, key) @@ -1347,18 +1348,23 @@ class RowProxy(object): def items(self): """Return a list of tuples, each tuple containing a key/value pair.""" - return [(key, getattr(self, key)) for key in self.keys()] + return [(key, getattr(self, key)) for key in self.iterkeys()] def keys(self): """Return the list of keys as strings represented by this RowProxy.""" return self.__parent.keys - + + def iterkeys(self): + return iter(self.__parent.keys) + def values(self): """Return the values represented by this RowProxy as a list.""" return list(self) - + + def itervalues(self): + return iter(self) class BufferedColumnRow(RowProxy): def __init__(self, parent, row): @@ -1425,7 +1431,7 @@ class ResultProxy(object): return self._rowcount = None - self._props = util.PopulateDict(None) + self._props = util.populate_column_dict(None) self._props.creator = self.__key_fallback() self.keys = [] @@ -1848,7 +1854,7 @@ class DefaultRunner(schema.SchemaVisitor): def visit_column_onupdate(self, onupdate): if isinstance(onupdate.arg, expression.ClauseElement): return self.exec_default_sql(onupdate) - elif callable(onupdate.arg): + elif util.callable(onupdate.arg): return onupdate.arg(self.context) else: return onupdate.arg @@ -1856,7 +1862,7 @@ class DefaultRunner(schema.SchemaVisitor): def visit_column_default(self, default): if isinstance(default.arg, expression.ClauseElement): return self.exec_default_sql(default) - elif callable(default.arg): + elif util.callable(default.arg): return default.arg(self.context) else: return default.arg |
