commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r7306 - in trunk/gnue-common/src/datasources/drivers: Base DBSIG2


From: reinhard
Subject: [gnue] r7306 - in trunk/gnue-common/src/datasources/drivers: Base DBSIG2 appserver/appserver file
Date: Wed, 6 Apr 2005 17:53:04 -0500 (CDT)

Author: reinhard
Date: 2005-04-06 17:53:03 -0500 (Wed, 06 Apr 2005)
New Revision: 7306

Modified:
   trunk/gnue-common/src/datasources/drivers/Base/DataObject.py
   trunk/gnue-common/src/datasources/drivers/DBSIG2/ResultSet.py
   trunk/gnue-common/src/datasources/drivers/appserver/appserver/DataObject.py
   trunk/gnue-common/src/datasources/drivers/file/Base.py
Log:
Changed the default for _createResultSet and _createEmptyResultSet to a
(hopefully) more useful one.


Modified: trunk/gnue-common/src/datasources/drivers/Base/DataObject.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/Base/DataObject.py        
2005-04-06 22:01:48 UTC (rev 7305)
+++ trunk/gnue-common/src/datasources/drivers/Base/DataObject.py        
2005-04-06 22:53:03 UTC (rev 7306)
@@ -86,10 +86,20 @@
        readOnly=readOnly, masterRecordSet=masterRecordSet, sql=sql)
 
   # Designed to be replaced by vendor-specific code
-  def _createResultSet(self, conditions={}, readOnly=0, masterRecordSet=None, \
-                       sql=""):
-    pass
+  def _createResultSet(self, conditions, readOnly, masterRecordSet, sql):
 
+    resultset = self._resultSetClass (dataObject      = self,
+                                      readonly        = readOnly,
+                                      masterRecordSet = masterRecordSet)
+
+    resultset.query ('object',
+                     table      = self.table,
+                     fieldnames = self._fieldReferences.keys (),
+                     condition  = GConditions.buildCondition (conditions),
+                     sortorder  = self.sorting and self.sorting or [])
+
+    return resultset
+
   # Do not over-ride by vendor code
   def getQueryString(self,conditions={},forDetailSQL=None,additionalSQL=""):
     return self._buildQuery(conditions,forDetailSQL,additionalSQL)
@@ -98,16 +108,10 @@
     return self._createEmptyResultSet(readOnly, masterRecordSet)
 
   # Designed to be replaced by vendor-specific code
-  def _createEmptyResultSet(self, readOnly=0, masterRecordSet=None):
-    cond = GConditions.GCondition()
-    ceq = GConditions.GCeq(cond)
-    GConditions.GCConst(ceq,1,"number")
-    GConditions.GCConst(ceq,0,"number")
-    try:
-      return self.createResultSet(conditions=cond, readOnly=readOnly,
-                                  masterRecordSet=masterRecordSet)
-    finally:
-      cond.breakReferences ()
+  def _createEmptyResultSet(self, readOnly, masterRecordSet):
+    return self._resultSetClass (dataObject      = self,
+                                 readonly        = readOnly,
+                                 masterRecordSet = masterRecordSet)
 
 
   # Add a detail data object.  This dataobject will create a new resultset

Modified: trunk/gnue-common/src/datasources/drivers/DBSIG2/ResultSet.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/DBSIG2/ResultSet.py       
2005-04-06 22:01:48 UTC (rev 7305)
+++ trunk/gnue-common/src/datasources/drivers/DBSIG2/ResultSet.py       
2005-04-06 22:53:03 UTC (rev 7306)
@@ -42,9 +42,10 @@
 class ResultSet(BaseResultSet):
 
   def __init__(self, dataObject, cursor = None, defaultValues = {},
-               masterRecordSet = None, fieldOrder = []):
+               readonly = False, masterRecordSet = None, fieldOrder = []):
 
     BaseResultSet.__init__(self, dataObject, defaultValues = defaultValues,
+                           readonly = readonly,
                            masterRecordSet = masterRecordSet)
 
     self._cursor = cursor
@@ -66,7 +67,7 @@
 
       gDebug (8, "DBSIG2::Fields from cursor set to %s" % self._fieldNames)
 
-    self._recordCount = self._cursor.rowcount or 0
+      self._recordCount = self._cursor.rowcount or 0
 
     gDebug (8, 'ResultSet created')
 

Modified: 
trunk/gnue-common/src/datasources/drivers/appserver/appserver/DataObject.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/appserver/appserver/DataObject.py 
2005-04-06 22:01:48 UTC (rev 7305)
+++ trunk/gnue-common/src/datasources/drivers/appserver/appserver/DataObject.py 
2005-04-06 22:53:03 UTC (rev 7306)
@@ -21,11 +21,6 @@
 #
 # $Id$
 
-from types import *
-
-import string
-
-from gnue.common.datasources import GConditions
 from gnue.common.datasources.drivers import Base
 
 import ResultSet
@@ -38,32 +33,4 @@
   """
   Handles a dataobject in the GNUe-AppServer backend.
   """
-
-  # ---------------------------------------------------------------------------
-  # Create an empty resultset
-  # ---------------------------------------------------------------------------
-
-  def _createEmptyResultSet (self, readOnly = False, masterRecordSet = None):
-
-    return ResultSet.ResultSet (dataObject      = self,
-                                readonly        = readOnly,
-                                masterRecordSet = masterRecordSet)
-
-  # ---------------------------------------------------------------------------
-  # Create a resultset
-  # ---------------------------------------------------------------------------
-
-  def _createResultSet (self, conditions = {}, readOnly = False,
-                        masterRecordSet = None, sql = ''):
-
-    resultset = ResultSet.ResultSet (dataObject      = self,
-                                     readonly        = readOnly,
-                                     masterRecordSet = masterRecordSet)
-
-    resultset.query ('object',
-                     table      = self.table,
-                     fieldnames = self._fieldReferences.keys (),
-                     condition  = GConditions.buildCondition (conditions),
-                     sortorder  = self.sorting and self.sorting or [])
-
-    return resultset
+  _resultSetClass = ResultSet.ResultSet

Modified: trunk/gnue-common/src/datasources/drivers/file/Base.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/file/Base.py      2005-04-06 
22:01:48 UTC (rev 7305)
+++ trunk/gnue-common/src/datasources/drivers/file/Base.py      2005-04-06 
22:53:03 UTC (rev 7306)
@@ -85,13 +85,12 @@
   # Constructor
   # ---------------------------------------------------------------------------
 
-  def __init__ (self, dataObject, connection, table, conditions,
+  def __init__ (self, dataObject, readonly, connection, table, conditions,
                 masterRecordSet):
 
-    Base.ResultSet.__init__ (self, dataObject,
+    Base.ResultSet.__init__ (self, dataObject, readonly = readonly,
                              masterRecordSet = masterRecordSet)
 
-    self._readOnly = True
     self.__connection = connection
     self.__table      = table
     self.__conditions = conditions
@@ -126,13 +125,15 @@
   Generic DataObject class for file based backends.
   """
 
+  _resultSetClass = ResultSet
+
   # ---------------------------------------------------------------------------
   # Create RecordSet instances
   # ---------------------------------------------------------------------------
 
   def _createResultSet (self, conditions = None, readOnly = False,
                         masterRecordSet = None, sql = ""):
-    return ResultSet (self, self._connection, self.table, conditions,
+    return ResultSet (self, readonly, self._connection, self.table, conditions,
                       masterRecordSet)
 
 




reply via email to

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