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) else: item = None return item This causes infinite loop because Rack.newItem calls Rack.createItem which calls my (modified) getItem regards, jephte clain jclain@univ-reunion.fr