commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

r6449 - in trunk/gnue-common/src/datasources/drivers: Base DBSIG2


From: jamest
Subject: r6449 - in trunk/gnue-common/src/datasources/drivers: Base DBSIG2
Date: Sun, 3 Oct 2004 21:34:54 -0500 (CDT)

Author: jamest
Date: 2004-10-03 21:34:53 -0500 (Sun, 03 Oct 2004)
New Revision: 6449

Modified:
   trunk/gnue-common/src/datasources/drivers/Base/RecordSet.py
   trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py
   trunk/gnue-common/src/datasources/drivers/DBSIG2/RecordSet.py
Log:
Changed resultsets to pass recordset postion to the recordset during post
recordsets report that position during exceptions


Modified: trunk/gnue-common/src/datasources/drivers/Base/RecordSet.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/Base/RecordSet.py 2004-10-04 
02:09:10 UTC (rev 6448)
+++ trunk/gnue-common/src/datasources/drivers/Base/RecordSet.py 2004-10-04 
02:34:53 UTC (rev 6449)
@@ -230,7 +230,7 @@
 
 
   # Posts changes to database
-  def post(self):
+  def post(self, recordNumber=None):
     # Should a post() to a read only datasource cause a ReadOnlyError?
     # It does no harm to attempt to post since nothing will be posted,
     # But does this allow sloppy programming?
@@ -255,7 +255,7 @@
     # start from the beginning and run the triggers again.
     #
     if status != (self._insertFlag, self._deleteFlag, self._updateFlag):
-      self.post()
+      self.post(recordNumber)
       return
 
 
@@ -263,7 +263,7 @@
       GDebug.printMesg(5,'Posting datasource %s' % 
self._parent._dataObject.name)
 
       if self.isPending():
-        self._postChanges()
+        self._postChanges(recordNumber)
 
 
     # Post all detail records

Modified: trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2004-10-04 
02:09:10 UTC (rev 6448)
+++ trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2004-10-04 
02:34:53 UTC (rev 6449)
@@ -313,9 +313,9 @@
           self._currentRecord -= 1
         self._cachedRecords.pop(recordPosition)
         self._recordCount -= 1
+     
+      self._postingRecord.post(recordPosition)
 
-      self._postingRecord.post()
-
     # Move to record 0 if all preceding records were deleted
     # (or set to -1 if all records were deleted)
     if self._currentRecord < 0:

Modified: trunk/gnue-common/src/datasources/drivers/DBSIG2/RecordSet.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/DBSIG2/RecordSet.py       
2004-10-04 02:09:10 UTC (rev 6448)
+++ trunk/gnue-common/src/datasources/drivers/DBSIG2/RecordSet.py       
2004-10-04 02:34:53 UTC (rev 6449)
@@ -47,7 +47,7 @@
 #
 class RecordSet(BaseRecordSet):
 
-  def _postChanges(self):
+  def _postChanges(self, recordNumber=None):
     do = self._parent._dataObject
     if not self.isPending(): return
 
@@ -87,7 +87,10 @@
         self._initialData = {}.update(self._fields)
 
     except do._connection._DatabaseError, err:
-      raise Exceptions.ConnectionError, errors.getException () [2]
+      if recordNumber:
+        raise Exceptions.ConnectionError, "\nERROR POSTING RECORD # %s\n\n%s" 
% (recordNumber,errors.getException () [2])
+      else:
+        raise Exceptions.ConnectionError, errors.getException () [2]
 
     self._updateFlag = False
     self._insertFlag = False





reply via email to

[Prev in Thread] Current Thread [Next in Thread]