Fix transaction support in Mulgara to support concurrent reads and read-only transactions. - Currently ACID failure
A correct implementation of server-side JRDF requires support for concurrent reads. <br/> <br/> Any client side round-tripping of blank-nodes requires access to read-only transactions. <br/> <br/> This requires refactoring (and some rewriting of) transaction support in the Session layer of Mulgara to support three-level transaction representation. <br/> <br/> User - We require a seperate transaction object representing a users transaction. Currently represented by a javax.transaction.Transaction object on [[DatabaseSession]]. This needs encapsulating. <br/> Query - We don't currently have any concept of a transaction at the per-query level. Without this concurrent reads can't be supported. <br/> Method - Currently supported via methods on [[DatabaseSession]]. These need to be lifted into a seperate manager object which can manage their interaction with query and user transactional contexts.