]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- Restored the keys() method to ResultProxy.
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 10 Feb 2010 14:55:37 +0000 (14:55 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 10 Feb 2010 14:55:37 +0000 (14:55 +0000)
CHANGES
lib/sqlalchemy/engine/base.py
test/sql/test_query.py

diff --git a/CHANGES b/CHANGES
index 51a47ffb9a260f7013cd38599c949319d11dad19..a9f22f242a24027e186ee4b36c210f4f067721d4 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -49,7 +49,9 @@ CHANGES
     not part of the FunctionElement base class, allowing 
     a "type" to be handled in a custom constructor or 
     class-level variable.
-
+    
+  - Restored the keys() method to ResultProxy.
+  
 - mysql
   - Fixed reflection bug whereby when COLLATE was present, 
     nullable flag and server defaults would not be reflected.
index 6886adee89b23943d947d1b80ab2f79dd34d873b..844183628d062385b534836083f048cefca3433a 100644 (file)
@@ -1859,7 +1859,14 @@ class ResultProxy(object):
             self._metadata = None
         else:
             self._metadata = ResultMetaData(self, metadata)
-
+        
+    def keys(self):
+        """Return the current set of string keys for rows."""
+        if self._metadata:
+            return self._metadata.keys
+        else:
+            return []
+        
     @util.memoized_property
     def rowcount(self):
         """Return the 'rowcount' for this result.
index 2500cde60f10aee35d7571556269e18a233a58cb..345ecef67a3e40414931e855667f295e14da432a 100644 (file)
@@ -645,7 +645,9 @@ class QueryTest(TestBase):
 
     def test_keys(self):
         users.insert().execute(user_id=1, user_name='foo')
-        r = users.select().execute().first()
+        r = users.select().execute()
+        eq_([x.lower() for x in r.keys()], ['user_id', 'user_name'])
+        r = r.first()
         eq_([x.lower() for x in r.keys()], ['user_id', 'user_name'])
 
     def test_items(self):