Author: reinhard
Date: 2010-10-28 13:52:02 -0500 (Thu, 28 Oct 2010)
New Revision: 10218

Modified:
   trunk/gnue-common/
   trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py
Log:
If there is no current record, jump to the first record on nextRecord() and to
the last record on prevRecord().



Property changes on: trunk/gnue-common
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: 2010-10-20 22:35:25.994999886 +0200
committer: Reinhard Müller <[email protected]>
properties: 
        branch-nick: common

   + timestamp: 2010-10-28 17:08:44.424000025 +0200
committer: Reinhard Müller <[email protected]>
properties: 
        branch-nick: common

Name: bzr:revision-id:v4
   - 3116 [email protected]
3117 [email protected]
3118 [email protected]
3119 [email protected]
3120 [email protected]
3121 [email protected]
3122 [email protected]
3123 [email protected]
3124 [email protected]
3125 [email protected]
3126 [email protected]
3127 [email protected]
3128 [email protected]
3129 [email protected]
3130 [email protected]
3131 [email protected]
3132 [email protected]
3133 [email protected]

   + 3116 [email protected]
3117 [email protected]
3118 [email protected]
3119 [email protected]
3120 [email protected]
3121 [email protected]
3122 [email protected]
3123 [email protected]
3124 [email protected]
3125 [email protected]
3126 [email protected]
3127 [email protected]
3128 [email protected]
3129 [email protected]
3130 [email protected]
3131 [email protected]
3132 [email protected]
3133 [email protected]
3134 [email protected]


Modified: trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2010-10-20 
20:35:55 UTC (rev 10217)
+++ trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2010-10-28 
18:52:02 UTC (rev 10218)
@@ -413,11 +413,12 @@
         @return: the new current record as a L{RecordSet.RecordSet} instance,
             or None if the cursor already pointed to the first record.
         """
-        if self.__current_index < 1:
+        if self.__current_index < 0:
+            return self.lastRecord()
+        if self.__current_index == 0:
             return None
-        else:
-            self.__move(self.__current_index - 1)
-            return self.current
+        self.__move(self.__current_index - 1)
+        return self.current
 
     # -------------------------------------------------------------------------
 
@@ -433,6 +434,8 @@
             fetching it from the backend fails. The exact exception class
             depends on the backend.
         """
+        if self.__current_index < 0:
+            return self.firstRecord()
         if self.__current_index + 1 == len(self.__cached_records):
             if not self.__cache_next_record():
                 return None


_______________________________________________
commit-gnue mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/commit-gnue

Reply via email to