On Nov 26, 2008, at 10:58 AM, johnf wrote:
> I wonder if someone could take a look at what is happening at the
> grandchild
> level. It's beyond my current understanding.
If you can send me some code I can test, I would be glad to look into
it. I haven't seen anything that would cause different behavior for
child or grandchild or great-grandchild objects.
> For example the next bit of code from dCursorMixin does not make
> sense to me
> because in my testing the try never works:
>
> if tableName is None:
> # Use the default
> tableName = self.Table
> key = "%s:::%s" % (tableName, self.CurrentSQL)
> try:
> return self._fieldStructure[key]
> except KeyError:
> flds = self.BackendObject.getFields(tableName, self.AuxCursor)
> self._fieldStructure[key] = flds
> return flds
>
> And the method will always retrieve flds from the backend.
This is the internal cache used to avoid calling getFields() for
identical queries. Perhaps this is the cause of your problem above: if
you are directly manipulating the SQL's where clause instead of
setting parameters, each 'CurrentSQL' value will be different, causing
the try (the cache key search) to fail.
-- Ed Leafe
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: http://leafe.com/archives/byMID/[EMAIL PROTECTED]