commit-gnue
[Top][All Lists]
Advanced

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

r6381 - in trunk/gnue-common/src/datasources: . drivers/Base drivers/DBS


From: johannes
Subject: r6381 - in trunk/gnue-common/src/datasources: . drivers/Base drivers/DBSIG2 drivers/interbase/Schema/Creation drivers/interbase/interbase
Date: Thu, 23 Sep 2004 10:02:09 -0500 (CDT)

Author: johannes
Date: 2004-09-23 10:02:06 -0500 (Thu, 23 Sep 2004)
New Revision: 6381

Modified:
   trunk/gnue-common/src/datasources/GDataSource.py
   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/DataObject.py
   
trunk/gnue-common/src/datasources/drivers/interbase/Schema/Creation/Creation.py
   trunk/gnue-common/src/datasources/drivers/interbase/interbase/Connection.py
   trunk/gnue-common/src/datasources/drivers/interbase/interbase/DataObject.py
Log:
Fixed some identifier () issues; interbase is still not useable at 100%


Modified: trunk/gnue-common/src/datasources/GDataSource.py
===================================================================
--- trunk/gnue-common/src/datasources/GDataSource.py    2004-09-23 10:59:02 UTC 
(rev 6380)
+++ trunk/gnue-common/src/datasources/GDataSource.py    2004-09-23 15:02:06 UTC 
(rev 6381)
@@ -109,6 +109,7 @@
 
     try:
       for field in string.split(self.explicitfields,','):
+        gDebug (5, "Explicit field %s" % field)
         self._fieldReferences[field] = True
     except AttributeError:
       pass
@@ -116,6 +117,7 @@
       # TODO: This might be deprecated;
       # TODO: should be using <sorting> tags
       for field in string.split(self.order_by,','):
+        gDebug (5, "Order-By field %s" % field)
         if field[-5:].lower() == ' desc':
           field = field[:-5]
         self._fieldReferences[field] = True
@@ -303,7 +305,11 @@
         self.referenceField(*field)
 
   def referenceUnboundField(self, field, defaultValue=None):
-    gDebug (7,'Field %s implicitly referenced' % field)
+    if self._dataObject is not None and \
+       self._dataObject._connection is not None:
+      field = self._dataObject._connection.identifier (field)
+
+    gDebug (7,'Unbound Field %s implicitly referenced' % field)
     self._unboundFieldReferences[field] = True
 
     if defaultValue != None:

Modified: trunk/gnue-common/src/datasources/drivers/Base/RecordSet.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/Base/RecordSet.py 2004-09-23 
10:59:02 UTC (rev 6380)
+++ trunk/gnue-common/src/datasources/drivers/Base/RecordSet.py 2004-09-23 
15:02:06 UTC (rev 6381)
@@ -65,7 +65,10 @@
       self._fields = {}
       self._fields.update(defaultData)
 
+    gDebug (3, "Initial Data: %s" % self._fields)
+
   def __setitem__(self, attr, val):
+    gDebug (4, "setField from __setitem__: %s (%s)" % (attr, val))
     self.setField(attr, val)
 
   def __getitem__(self, attr):
@@ -113,6 +116,7 @@
 
   # Returns current value of "field"
   def getField(self, field):
+    field = self._parent._dataObject._connection.identifier (field)
     try:
       return self._fields[field]
     except KeyError:
@@ -135,6 +139,8 @@
   # Sets current value of "field"
   # If trackMod is set to 0 then the modification flag isn't raised
   def setField(self, field, value, trackMod = 1):
+    field = self._parent._dataObject._connection.identifier (field)
+    gDebug (3, "setField: %s to %s" % (field, value))
     # If this field is bound to a datasource and the datasource is read only,
     # generate an error.
     if self._parent.isFieldBound(field) and self._parent.isReadOnly():
@@ -168,6 +174,7 @@
   def setFields(self, updateDict, trackMod = 1):
     # If this field is bound to a datasource and the datasource is read only,
     # generate an error.
+    gDebug (4, "calling setField from updateDict: %s" % updateDict)
     for field in updateDict.keys():
       self.setField(field, updateDict[field], trackMod)
 

Modified: trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2004-09-23 
10:59:02 UTC (rev 6380)
+++ trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2004-09-23 
15:02:06 UTC (rev 6381)
@@ -200,16 +200,20 @@
 
       # Set any dataobject-wide default values
       for field in self._dataObject._defaultValues.keys():
+        gDebug (4, "DataObject-Wide default for %s" % field)
         self.current.setField(field, 
self._dataObject._defaultValues[field],False)
 
       # Set any resultset specific values
       for field in self._defaultValues.keys():
+        gDebug (4, "ResultSet-specific default for %s" % field)
         self.current.setField(field, self._defaultValues[field],False)
 
       # Pull any primary keys from a master record set
       if self._masterRecordSet != None and hasattr(self._dataObject, 
'_masterfields'):
         i = 0
         for field in self._dataObject._masterfields:
+          gDebug (4, "Value for %s to %s" % (field, \
+                     self._masterRecordSet.getField (field)))
           
self.current.setField(self._dataObject._detailfields[i],self._masterRecordSet.getField(field),False)
           i += 1
 

Modified: trunk/gnue-common/src/datasources/drivers/DBSIG2/DataObject.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/DBSIG2/DataObject.py      
2004-09-23 10:59:02 UTC (rev 6380)
+++ trunk/gnue-common/src/datasources/drivers/DBSIG2/DataObject.py      
2004-09-23 15:02:06 UTC (rev 6381)
@@ -244,7 +244,7 @@
       otype = string.lower(element._type[2:])
       #print "Otype: ",otype
       if otype == 'cfield':
-        return "%s" % element.name
+        return "%s" % self._connection.identifier (element.name)
       elif otype == 'cconst':
         if element.value == None:
           return "NULL"

Modified: 
trunk/gnue-common/src/datasources/drivers/interbase/Schema/Creation/Creation.py
===================================================================
--- 
trunk/gnue-common/src/datasources/drivers/interbase/Schema/Creation/Creation.py 
    2004-09-23 10:59:02 UTC (rev 6380)
+++ 
trunk/gnue-common/src/datasources/drivers/interbase/Schema/Creation/Creation.py 
    2004-09-23 15:02:06 UTC (rev 6381)
@@ -34,7 +34,8 @@
 
   MAX_NAME_LENGTH = 31
   ALTER_MULTIPLE  = False
-  MAX_VARCHAR_LEN = 10921
+  # MAX_VARCHAR_LEN = 10921
+  MAX_VARCHAR_LEN = 5000
 
   # ---------------------------------------------------------------------------
   # Create a new database

Modified: 
trunk/gnue-common/src/datasources/drivers/interbase/interbase/Connection.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/interbase/interbase/Connection.py 
2004-09-23 10:59:02 UTC (rev 6380)
+++ trunk/gnue-common/src/datasources/drivers/interbase/interbase/Connection.py 
2004-09-23 15:02:06 UTC (rev 6381)
@@ -169,7 +169,14 @@
       return None
 
 
+  # ---------------------------------------------------------------------------
+  # Interbase really needs uppercase identifiers
+  # ---------------------------------------------------------------------------
 
+  def identifier (self, identifier):
+    return identifier.upper ()
+
+
 # RDB$CHARACTER_SETS.RDB$CHARACTER_SET_NAME
 ib_encTable =  {'ascii'     :  'ASCII',
                 ''          :  'BIG_5',

Modified: 
trunk/gnue-common/src/datasources/drivers/interbase/interbase/DataObject.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/interbase/interbase/DataObject.py 
2004-09-23 10:59:02 UTC (rev 6380)
+++ trunk/gnue-common/src/datasources/drivers/interbase/interbase/DataObject.py 
2004-09-23 15:02:06 UTC (rev 6381)
@@ -64,6 +64,7 @@
 
     # Our ResultSet class performs an implicit record-count in it's constructor
     # so we won't force another duplicate count
+
     rs = self._resultSetClass (self, cursor = cursor,
         masterRecordSet = masterRecordSet, conditions = conditions, sql = sql,
         fieldOrder = self._fieldOrder)





reply via email to

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