|[CDO 0.8.0] Transaction/Objects scope [message #618006]
||Wed, 07 May 2008 01:11
| Simon Mc Duff
Registered: July 2009
I have a design question for you about the scope that have a CDOViewImpl and
Let say I have transactionA (From sessionA) and transactionB (from
Both of them have objectA in their view.
In transactionA, I modify and commit objectA.
At commit time, TransactionB will invalidate objectA.
This is the current design. (correct me if I`m wrong).
The problem I would like to have a type of Transaction that do not
invalidate my objects.
What about the scope of a transaction. Usually, until I do refresh I should
not have a process modying the value that I`m accessing.
This is another example where it failed.
If we take the same example and objectA have a chunked collection of 1000
items. The chunked number is set at 10.
TransactionB fetch objectA and the first 10 items(out of 1000) of its
TransactionA invalidate objectA (in transactionB).
My application will fail since I cannot access my item from 11 to 1000
because my objects isn`t the same anymore... and I do not know if the
collection is still valid. This is a big problem.
Maybe if the pushing mechanism could be turn off it should be great or it
should be another kind of CDOView ?
What I expect is the following :
The client should control more the scope of a transaction that happen in the
Command like the following :
The mode I would like to have is the following :
Once you fetch objects on the client... they are still valid until I commit
or refresh or begin a new transaction. Others transaction cannot invalidate
my objects and if I fetch a part of it, I can fetch the other part later
wihout having exception like currently and even if others transaction
In my implementation with OO, 1 CDOTransaction == 1 Objectivity Transaction.
So objects are still valid until the client do a refresh, begin or commit.
But when I run the test cases... only once testcase fail.
I cannot fix it, since in my case I don`t want to behave like this testcase.
What do you think ? Is this go against your design ? Is it out of scope
from CDO perspective ?
Powered by FUDForum
. Page generated in 0.02082 seconds