Author: reinhard
Date: 2010-10-20 14:56:56 -0500 (Wed, 20 Oct 2010)
New Revision: 10214

Modified:
   trunk/gnue-common/
   trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py
Log:
Update record counters *after* inserting a new record in the result set, so
ON-NEWRECORD triggers will see the result set as it was before inserting.



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

   + timestamp: 2010-10-20 21:55:35.084000111 +0200
committer: Reinhard Müller <[email protected]>
properties: 
        branch-nick: common

Name: bzr:file-ids
   - setup-bzr.py       
9...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-common:setup-svn.py

   + src/datasources/drivers/Base/ResultSet.py  
4...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-common:src%2Fdatasources%2Fdrivers%2FBase%2FResultSet.py

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]

   + 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]

Name: bzr:text-parents
   - setup-bzr.py       
[email protected]

   + src/datasources/drivers/Base/ResultSet.py  
[email protected]


Modified: trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2010-10-20 
18:56:02 UTC (rev 10213)
+++ trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2010-10-20 
19:56:56 UTC (rev 10214)
@@ -589,11 +589,14 @@
 
         assert log.debug('Inserting a blank record in %s' % self)
 
+        # Don't update the record count and the record pointer yet, so an
+        # ON-NEWRECORD trigger can see the old state of the result set.
+        record = self.__create_record(
+                defaultData = defaultData,
+                position    = self.__current_index + 1)
+        # Now the trigger has run, we can update our counters.
         self.__record_count += 1
         self.__current_index += 1
-        record = self.__create_record(
-                defaultData = defaultData,
-                position    = self.__current_index)
         self.__sync(True)
         return record
 


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

Reply via email to