[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6500 - trunk/gnue-common/src/datasources/drivers/appserver/appserver
From: |
johannes |
Subject: |
r6500 - trunk/gnue-common/src/datasources/drivers/appserver/appserver |
Date: |
Fri, 15 Oct 2004 05:02:56 -0500 (CDT) |
Author: johannes
Date: 2004-10-15 05:02:56 -0500 (Fri, 15 Oct 2004)
New Revision: 6500
Modified:
trunk/gnue-common/src/datasources/drivers/appserver/appserver/RecordSet.py
Log:
Restore state information properly in case of an exception in a call
Modified:
trunk/gnue-common/src/datasources/drivers/appserver/appserver/RecordSet.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/appserver/appserver/RecordSet.py
2004-10-15 10:01:50 UTC (rev 6499)
+++ trunk/gnue-common/src/datasources/drivers/appserver/appserver/RecordSet.py
2004-10-15 10:02:56 UTC (rev 6500)
@@ -110,15 +110,34 @@
raise errors.ApplicationError, u_("Function call for empty record")
# Before calling the function, post all pending changes to the server
+ empty = self._emptyFlag
+ insert = self._insertFlag
+ update = self._updateFlag
+
self.post ()
- return self.__sm.call (self.__session_id,
- self.__classname,
- [self._fields ['gnue_id']],
- methodname,
- parameters) [0]
+ try:
+ result = self.__sm.call (self.__session_id,
+ self.__classname,
+ [self._fields ['gnue_id']],
+ methodname,
+ parameters) [0]
+ self.__updateFields ()
+ self._updateFlag = True
+ self._emptyFlag = False
+
+ except:
+ self._emptyFlag = empty
+ self._insertFlag = insert
+ self._updateFlag = update
+
+ raise
+
+ return result
+
+
# ---------------------------------------------------------------------------
# Initialize a record
# ---------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6500 - trunk/gnue-common/src/datasources/drivers/appserver/appserver,
johannes <=