Florent Guillaume wrote:
In JCR, there are *three* stages, the first stage being the transient
space.
1. The data you write is transient.
2. You save() the transient space and it becomes the equivalent
of "uncommitted" in a RDB, and is taken into account in
searches.
Or you can refresh() and all *or part of* your transient changes
are lost (you have granularity here).
jackrabbit does not take into account saved changes that are not yet committed.
after looking up the relevant spec section again, it seems to me that the spec
is not clear about this:
6.6.7 Search Scope
"A query searches the persistent workspace associated with the current session.
It does not search any pending changes that may be recorded on the session but
not yet saved."
The first sentence implies that you have to commit before you can search your
changes. the second sentence says that you cannot search transient changes. it
doesn't really say what happens with saved, yet uncommitted changes.
regards
marcel
3. You commit() the transaction and the changes become visible
to other sessions.
Or you can rollback() and all your changes are lost.