]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- fix for fetchmany() "size" argument being positional in most
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 28 Mar 2007 00:09:55 +0000 (00:09 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 28 Mar 2007 00:09:55 +0000 (00:09 +0000)
dbapis [ticket:505]

CHANGES
lib/sqlalchemy/engine/base.py
test/sql/query.py

diff --git a/CHANGES b/CHANGES
index 6830ee00eaabb1ec13f5ff8373a85014dbe563db..fd8564e784c8199756a51b66d4b623f949d8dea2 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,8 @@
       accessor on the parent Selectable so theres no need to be aware
       of the genrerated label names [ticket:512].
     - preliminary support for unicode table and column names added.
+    - fix for fetchmany() "size" argument being positional in most
+      dbapis [ticket:505]
 - orm:
     - improved/fixed custom collection classes when giving it "set"/
       "sets.Set" classes or subclasses (was still looking for append()
index eb397d774388c2f4e32680493c018b41157e906c..84ad6478fd17ceeffb4f835eb454ca2fd86f2d77 100644 (file)
@@ -968,7 +968,7 @@ class ResultProxy(object):
         if size is None:
             rows = self.cursor.fetchmany()
         else:
-            rows = self.cursor.fetchmany(size=size)
+            rows = self.cursor.fetchmany(size)
         l = []
         for row in rows:
             l.append(RowProxy(self, row))
index 6683fa0d0467ffb1cc2316cb5fd5b3859691e109..22474186757428a33a2fb26e86937474ae622343 100644 (file)
@@ -53,7 +53,17 @@ class QueryTest(PersistTest):
         for row in r:
             l.append(row)
         self.assert_(len(l) == 3)
-   
+
+    def test_fetchmany(self):
+        self.users.insert().execute(user_id = 7, user_name = 'jack') 
+        self.users.insert().execute(user_id = 8, user_name = 'ed') 
+        self.users.insert().execute(user_id = 9, user_name = 'fred') 
+        r = self.users.select().execute() 
+        l = [] 
+        for row in r.fetchmany(size=2): 
+            l.append(row) 
+        self.assert_(len(l) == 2, "fetchmany(size=2) got %s rows" % len(l))
+        
     def test_compiled_execute(self):
         s = select([self.users], self.users.c.user_id==bindparam('id')).compile()
         c = testbase.db.connect()