Hello!

Starting with version 3.2.2, Wt::Dbo throws strange exception
"circular dependency detected".

1. What is wrong with circular dependency in database? There are a lot
of examples, when it is needed.

2. Circular dependency is not equal to one-to-one relastion. For
example, *A -> B, B -> C, C -> A*. Or *A -> A*. These cases can not be
implemented using weak_ptr (according to its doc). How can they be
implemented?

3. I am not using nor one-to-one neither weak_ptr. But I got the
exception "circular dependency detected" thrown. (My objects are not
related like *A -> B, B -> C, C -> A* or *A -> A*.) Currently, all I
can to do to work around this exception is modifying Wt's source to
remove it.

4. Why circular dependency is a problem for Dbo objects in memory? I
mean, what will Wt::Dbo do, if object A refers using dbo::ptr object
B, while object B refers A with dbo::ptr. And no other ptr refers
these objects. Does it mean memory leak (at least, in current
dbo::Session)? Can dbo unload object with non-null reference-count?

I think, Wt::Dbo should behave as memory manager: longly unused
objects go to swap (i.e. to database, ptr.flush() && ptr.purge()).
Because of lazy loading, this can be done. In this case circular
dependency would not be a problem. Could you implement it, please?

PS. I failed to post this to bug tracker (error 500), so sendind it here.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
witty-interest mailing list
witty-interest@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/witty-interest

Reply via email to