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 <reinhard.muel...@bytewise.at>
properties: 
        branch-nick: common

   + timestamp: 2010-10-20 21:55:35.084000111 +0200
committer: Reinhard Müller <reinhard.muel...@bytewise.at>
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 reinhard.muel...@bytewise.at-20100426083315-ccfwx2pihuvqn60z
3117 reinhard.muel...@bytewise.at-20100503114756-unpxm52de0towufo
3118 reinhard.muel...@bytewise.at-20100503115129-uvondrz5bvkqubyv
3119 reinhard.muel...@bytewise.at-20100505081835-9peco6k7a2le0mvg
3120 reinhard.muel...@bytewise.at-20100505084742-wn5vtc4a129z8g28
3121 reinhard.muel...@bytewise.at-20100505092131-m2avvsci5w6aj0rv
3122 reinhard.muel...@bytewise.at-20100519151545-pybk8q2s234vzsf2
3123 reinhard.muel...@bytewise.at-20100525101023-xs7k6pkghh9t6fc3
3124 reinhard.muel...@bytewise.at-20100525114015-rj7eb0xdheqkcuql
3125 reinhard.muel...@bytewise.at-20100525145035-j177jbvu10me4mfp
3126 reinhard.muel...@bytewise.at-20100526111738-ic0wot9z1ulg2y1a
3127 reinhard.muel...@bytewise.at-20100612121357-1nf23tuj1tveh1lv
3128 reinhard.muel...@bytewise.at-20100929190642-6pp6cwlicgt2bhhs
3129 reinhard.muel...@bytewise.at-20100929190817-bje4kkvrjrpanut1
3130 reinhard.muel...@bytewise.at-20101016191602-kceb6hdjytt4im93
3131 reinhard.muel...@bytewise.at-20101020175112-o65lqy8lejjrvzaz

   + 3116 reinhard.muel...@bytewise.at-20100426083315-ccfwx2pihuvqn60z
3117 reinhard.muel...@bytewise.at-20100503114756-unpxm52de0towufo
3118 reinhard.muel...@bytewise.at-20100503115129-uvondrz5bvkqubyv
3119 reinhard.muel...@bytewise.at-20100505081835-9peco6k7a2le0mvg
3120 reinhard.muel...@bytewise.at-20100505084742-wn5vtc4a129z8g28
3121 reinhard.muel...@bytewise.at-20100505092131-m2avvsci5w6aj0rv
3122 reinhard.muel...@bytewise.at-20100519151545-pybk8q2s234vzsf2
3123 reinhard.muel...@bytewise.at-20100525101023-xs7k6pkghh9t6fc3
3124 reinhard.muel...@bytewise.at-20100525114015-rj7eb0xdheqkcuql
3125 reinhard.muel...@bytewise.at-20100525145035-j177jbvu10me4mfp
3126 reinhard.muel...@bytewise.at-20100526111738-ic0wot9z1ulg2y1a
3127 reinhard.muel...@bytewise.at-20100612121357-1nf23tuj1tveh1lv
3128 reinhard.muel...@bytewise.at-20100929190642-6pp6cwlicgt2bhhs
3129 reinhard.muel...@bytewise.at-20100929190817-bje4kkvrjrpanut1
3130 reinhard.muel...@bytewise.at-20101016191602-kceb6hdjytt4im93
3131 reinhard.muel...@bytewise.at-20101020175112-o65lqy8lejjrvzaz
3132 reinhard.muel...@bytewise.at-20101020195535-gb2bt2h80mu5j5h4

Name: bzr:text-parents
   - setup-bzr.py       
reinhard.muel...@bytewise.at-20100409183158-f6t50kimzgk20n4a

   + src/datasources/drivers/Base/ResultSet.py  
reinhard.muel...@bytewise.at-20100612121357-1nf23tuj1tveh1lv


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
commit-gnue@gnu.org
http://lists.gnu.org/mailman/listinfo/commit-gnue

Reply via email to