
Am Tuesday 05 January 2010 21:21:29 schrieb vicente.botet:
With your library, there are alreasy 3 libraries under construction providing a transactional service (Boost.STLdb, Boost.Persistent and TBoost.STM). The ideal would be to have a single transactional framework with several transactional resources, e.g shared memory resource (Boost.STLdb), persistent resource (Boost.Persistent ), in memory resource (Boost.STM). If I'm not wrong Boost.Persistent contains already a Ressource concept. I would like to see how this transactional framework can be made generic so the three libraries can share the same transaction. Stefan, Bob, are you interesteed in participating on such a framework?
sure, this is what I tried by defining the concepts, although I was never sure if those are sufficient for all conceivable transactional resources. https://svn.boost.org/svn/boost/sandbox/persistent/libs/persistent/doc/html/... https://svn.boost.org/svn/boost/sandbox/persistent/libs/persistent/doc/html/... what's still missing from there is an interface to conduct transactions which involve more than 1 resource, e.g. something like this in Berkeley: http://pybsddb.sourceforge.net/api_c/txn_prepare.html http://pybsddb.sourceforge.net/api_c/txn_recover.html (what they call a "local transaction manager" I call a "resource manager", and what they call a "global transaction manager" I call a "transaction manager") we'd also have to find common ground on what Bob calls I think a "row_level_lock_contention" and I call an "isolation_exception", and I'm sure there is the equivalent in Boost.STM.