HI,
While looking for a performance issue I noticed that getFields() was called 
several times for a grandchild.  So I have:
parent - primarybizobj
child of parent - primarybizobj.  
and a grandchild of (child of the parent child).

In this case the grandchild is also a view (which means it has no PK).  

The view is used as the datasource of a grid.  Adding one record to the grid 
will cause a requery of the datasource (to refresh the grid).  Also a 
form.requery() should cause a requery of the view.  What was unexpected was 
the call to getFields() (requesting field info) several times for the any of 
the requerys.  The other tables in the form do not call getFields() only the 
grandchild.  Dabo is aware that the other tables are just fine but for some 
reason does not understand that the grandchild is OK.  I'm pretty sure it 
applies to only the grandchild because I have several children (one is also a 
view) and Dabo does not call getFields() for the them.

I wonder if someone could take a look at what is happening at the grandchild 
level.  It's beyond my current understanding.  

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.
-- 
John Fabiani


_______________________________________________
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]

Reply via email to