class Neo4j::Transaction::Base
Attributes
root[R]
session[R]
Public Class Methods
new(session, _options = {})
click to toggle source
# File lib/neo4j/transaction.rb 18 def initialize(session, _options = {}) 19 @session = session 20 21 Transaction.stack_for(session) << self 22 23 @root = Transaction.stack_for(session).first 24 # Neo4j::Core::Label::SCHEMA_QUERY_SEMAPHORE.lock if root? 25 26 # @parent = session_transaction_stack.last 27 # session_transaction_stack << self 28 end
Public Instance Methods
autoclosed!()
click to toggle source
# File lib/neo4j/transaction.rb 57 def autoclosed! 58 @autoclosed = true if transient_failures_autoclose? 59 end
close()
click to toggle source
Commits or marks this transaction for rollback, depending on whether mark_failed
has been previously invoked.
# File lib/neo4j/transaction.rb 39 def close 40 tx_stack = Transaction.stack_for(@session) 41 fail 'Tried closing when transaction stack is empty (maybe you closed too many?)' if tx_stack.empty? 42 fail "Closed transaction which wasn't the most recent on the stack (maybe you forgot to close one?)" if tx_stack.pop != self 43 44 @closed = true 45 46 post_close! if tx_stack.empty? 47 end
closed?()
click to toggle source
# File lib/neo4j/transaction.rb 61 def closed? 62 !!@closed 63 end
commit()
click to toggle source
# File lib/neo4j/transaction.rb 53 def commit 54 fail 'not implemented' 55 end
delete()
click to toggle source
# File lib/neo4j/transaction.rb 49 def delete 50 fail 'not implemented' 51 end
expired?()
click to toggle source
# File lib/neo4j/transaction.rb 87 def expired? 88 !!@expired 89 end
failed?()
click to toggle source
If it has been marked as failed. Aliased for legacy purposes.
# File lib/neo4j/transaction.rb 77 def failed? 78 !!@failure 79 end
Also aliased as: failure?
inspect()
click to toggle source
# File lib/neo4j/transaction.rb 30 def inspect 31 status_string = %i[id failed? active? commit_url].map do |method| 32 "#{method}: #{send(method)}" if respond_to?(method) 33 end.compact.join(', ') 34 35 "<#{self.class} [#{status_string}]" 36 end
mark_expired()
click to toggle source
# File lib/neo4j/transaction.rb 82 def mark_expired 83 @parent.mark_expired if @parent 84 @expired = true 85 end
mark_failed()
click to toggle source
Marks this transaction as failed, which means that it will unconditionally be rolled back when close
is called. Aliased for legacy purposes.
# File lib/neo4j/transaction.rb 69 def mark_failed 70 root.mark_failed if root && root != self 71 @failure = true 72 end
Also aliased as: failure
root?()
click to toggle source
# File lib/neo4j/transaction.rb 91 def root? 92 @root == self 93 end
Private Instance Methods
active?()
click to toggle source
# File lib/neo4j/transaction.rb 105 def active? 106 !closed? 107 end
autoclosed?()
click to toggle source
# File lib/neo4j/transaction.rb 101 def autoclosed? 102 !!@autoclosed 103 end
post_close!()
click to toggle source
# File lib/neo4j/transaction.rb 109 def post_close! 110 return if autoclosed? 111 if failed? 112 delete 113 else 114 commit 115 end 116 end
transient_failures_autoclose?()
click to toggle source
# File lib/neo4j/transaction.rb 97 def transient_failures_autoclose? 98 Gem::Version.new(@session.version) >= Gem::Version.new('2.2.6') 99 end