class WithAdvisoryLock::MySQLNoNesting

For MySQL < 5.7.5 that does not support nested locks

Public Instance Methods

already_locked?() click to toggle source

MySQL doesn't support nested locks:

# File lib/with_advisory_lock/mysql_no_nesting.rb, line 16
def already_locked?
  lock_stack.last == lock_stack_item
end
try_lock() click to toggle source

See dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html#function_get-lock

Calls superclass method WithAdvisoryLock::MySQL#try_lock
# File lib/with_advisory_lock/mysql_no_nesting.rb, line 5
def try_lock
  unless lock_stack.empty?
    raise NestedAdvisoryLockError.new(
      "MySQL < 5.7.5 doesn't support nested Advisory Locks",
      lock_stack.dup
    )
  end
  super
end