Hi everyone, 

My use case (probably not common but not the only one either) is to ensure 
the database is accessed sequentially. 

As you can find in my initial Stack Overflow post 
<http://stackoverflow.com/questions/30303071/neo4j-pessimistic-locking-with-jdbc-driver>,
 
Liquigraph <https://github.com/fbiville/liquigraph> checks for a Lock node 
and creates it or wait for its deletion before proceeding.
However, Liquigraph is *agnostic* of the underlying Neo4j setup, thus 
relying on the JDBC driver to do the plumbing.

While my external synchronization 
<https://github.com/fbiville/liquigraph/blob/02b276897b5d3c5595714c2054f03c284b0e7062/liquigraph-core/src/main/java/org/liquigraph/core/api/LockManager.java>
 
certainly reduces the time window during which another Liquigraph instances 
executes concurrently, the latter is still possible and could compromise 
data.

I was therefore wondering why there was no syntax equivalent to SELECT FOR 
UPDATE <http://www.techonthenet.com/oracle/cursors/for_update.php> for 
Cypher.
I am sure it brings nontrivial issues, but this seems a much better bet 
than the currently documented, do-it-yourself and *server-specific* pessimistic 
locking 
<http://neo4j.com/docs/stable/tutorials-java-embedded-unique-nodes.html#tutorials-java-embedded-unique-pessimistic>
.

I know it's not Christmas yet, but could such a language addition be 
implemented and even better, from 2.0.x branch onwards? :)

Thanks in advance,
Florent

P.S.: I'd be thrilled to help anyhow on this subject

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to