Mit dem neo4jrb/neo4j Juwel (8.x) zu verwenden, ich weiß, ist es möglich, mehrere Abfragen innerhalb einer einzigen Transaktion laufen wie sodas Neo4jrb Juwel, ist es möglich, eine Transaktion über mehrere Blöcke
person = Person.find_by(id: person_id)
Neo4j::ActiveBase.run_transaction do |tx|
person.update(name: 'New name')
person.update(number: 1)
end
Es ist jedoch möglich, eine Transaktion zu öffnen und diese Transaktion dann für mehrere Blöcke zu verwenden. Etwas wie:
person = Person.find_by(id: person_id)
transaction = Neo4j::ActiveBase.new_transaction
transaction.run do |tx|
person.update(name: 'New name')
end
transaction.run do |tx|
person.update(number: 1)
end
transaction.close
Der Grund, warum diese Funktionalität wünschenswert ist, ist, weil ich bin mit Neo4jrb innerhalb eines Trailblazer-Operation. Die Vorreiteroperation ist in einzelne Schritte unterteilt, die selbst als separate Methoden geschrieben werden. Ich möchte, dass mehrere Schritte in eine Transaktion eingepackt werden, aber ohne die Operation mit einem Affe zu patchen, habe ich nicht die Möglichkeit, einige Schritte innerhalb eines Transaktionsblocks auszuführen.
Danke!