begin tx1
do some work
begin tx2
do some work
tx2.success
tx2.finish
tx1.success
tx1.finish
tx2.finishは実際にロックをコミットまたは解放しますか?
ありがとう
begin tx1
do some work
begin tx2
do some work
tx2.success
tx2.finish
tx1.success
tx1.finish
tx2.finishは実際にロックをコミットまたは解放しますか?
ありがとう
Neo4j には、フラット ネストされたトランザクションの概念があります。フラットなネストされたトランザクションは、すべてのネストされたトランザクションが最上位トランザクションのスコープに追加されることを意味します。したがって、あなたの場合、ロールバックのトランザクション全体をマークすると、Neo4j は と の両方をtx2
ロールバックします。あなたの場合、トランザクションをコミットするだけです。tx1
tx2
tx1.finish
Neo4j のトランザクション内のすべての変更は、コミットまたはロールバックするまでメモリに保持されます。その後、実際のフラッシュを行うためにロックが取得されます。したがって、あなたの場合tx1.finish
は、ロックが取得されたときです。
詳細については、Neo4j マニュアルのこのセクションを参照してください。