mike wrote:
> Jephte CLAIN wrote:
> > Rack.createItem (low level method) first calls Rack.getItem (higher
> > level method) to check the existence of the item.
> > This causes infinite loop in certain cases. It should (IMHO) call
> > Rack.retrieveItem instead
> Could you provide an example please?
My data is located in an SQL database. I want to have some associated
data in ZODB. ZPatterns is a perfect fit for this. When I first access a
SQL record, the corresponding data is created in ZODB:

def getItem(self, key):
  if self.sql_get(key=key):
    # ok it exists in the SQL database
    item = Rack.getItem(self, key)
    if item is None:
      # it does not exist in ZODB, create it
      item = Rack.newItem(self, key)
    item = None
  return item

This causes infinite loop because Rack.newItem calls Rack.createItem
which calls my (modified) getItem

jephte clain

Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope )

Reply via email to