I'd like to enforce some behavior on those Graph implementations that will support "threaded transactions". Recall that a threaded transaction is one where multiple threads can interact with the same transactional context. In TP3 you can create one with:
tg = g.tx().create() which returns a Graph instance that is ready for multiple threads to operate on it. But what does the following line mean where we try to create a threaded transaction from a graph enabled with a threaded transaction? tg.tx().create() Should that be allowed and if so, what would that mean? In my mind, i think we shouldn't allow it. I think the behavior should be to just throw an exception and the supportsThreadedTransaction feature method should return false. I'd like to write tests to enforce that case so that we achieve consistency across implementations. Does anyone has thoughts on another way that this should work? or does this approach just make sense? Thanks, Stephen
