On 7/20/07, IvanLatysh <[EMAIL PROTECTED]> wrote:
Hendrik Beck (camunda) wrote:

> 1) The persistent state of a contact node has the name "Joe"
> 2) I change the name to "John" but don't save it (it's still transient for
> me or my session respectively)
> 3) If I access that node, I will see the (transient) name "John"
> 4) When I search for "Joe", I will still find that node, because searching
> only takes the persistent state into account
> 5) But when I now access this node (that I just found under the name "Joe"),
> then I will see the name "John"
>
> Of course, there might be discrepancies in such a case, but 1) it seems to
> be pretty clear to me how it works and 2) the spec says the following about
> that to avoid it if necessary:
>
> "Applications can clear the Session (either through save or refresh(false))
> before running a query in order to avoid such discrepancies."
>
> Especially I think that this has nothing to do with accessing transient
> changes from other sessions. It's always about the transient changes of my
> own session.

If your DB session would have such behavior would you be happy ?

AFAIK databases simply don't support the concept of transient changes.
please note that the JCR save() is not the equivalent of a db commit().

cheers
stefan



It is an outrageous bug in the spec, that has to be fixed and it is not a 'big
change' because _nobody_ use search without committing or clearing the session
first!

--
Ivan Latysh
[EMAIL PROTECTED]

Reply via email to