[Top][All Lists]
[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)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6381 - in trunk/gnue-common/src/datasources: . drivers/Base drivers/DBSIG2 drivers/interbase/Schema/Creation drivers/interbase/interbase,
johannes <=