limit_clause, offset_clause = select._limit_clause, select._offset_clause
- if (limit_clause, offset_clause) == (None, None):
+ if limit_clause is None and offset_clause is None:
return ''
elif offset_clause is not None:
# As suggested by the MySQL docs, need to apply an
self._modified = set()
self._wr = weakref.ref(self)
+ def keys(self):
+ return self._dict.keys()
+
def replace(self, state):
raise NotImplementedError()
def itervalues(self):
return iter(self.values())
+
+ def __iter__(self):
+ return iter(self.keys())
+
else:
def items(self):
return iter(self._items())
def values(self):
return iter(self._values())
+ def __iter__(self):
+ return self.keys()
+
def all_states(self):
if util.py2k:
return self._dict.values()
class StrongInstanceDict(IdentityMap):
+ if util.py2k:
+ def itervalues(self):
+ return self._dict.itervalues()
+
+ def iteritems(self):
+ return self._dict.iteritems()
+
+ def __iter__(self):
+ return iter(self.keys())
+ else:
+ def __iter__(self):
+ return self.keys()
+
+ def __getitem__(self, key):
+ return self._dict[key]
+
+ def __contains__(self, key):
+ return key in self._dict
+
+ def get(self, key, default=None):
+ return self._dict.get(key, default)
+
+ def values(self):
+ return self._dict.values()
+
+ def items(self):
+ return self._dict.items()
+
+
def all_states(self):
return [attributes.instance_state(o) for o in self.values()]