summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/engine/base.py')
-rw-r--r--lib/sqlalchemy/engine/base.py20
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