[gnue] r10214 - in trunk/gnue-common: . src/datasources/drivers/Base

[email protected] Wed, 20 Oct 2010 14:56:57 -0500 (CDT)
Newsgroups gmane.comp.cms.gnue.cvs
Message-ID <[email protected]>
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	9621@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-common:setup-svn.py

   + src/datasources/drivers/Base/ResultSet.py	4887@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