Class: DBLock::Adapter::Sqlserver

Inherits:
Base
  • Object
show all
Defined in:
lib/db_lock/adapter/sqlserver.rb

Instance Method Summary collapse

Instance Method Details

#lock(name, timeout = 0) ⇒ Object



4
5
6
7
8
# File 'lib/db_lock/adapter/sqlserver.rb', line 4

def lock(name, timeout=0)
  connection.execute_procedure 'sp_getapplock', Resource: name, LockMode: 'Exclusive', LockOwner: 'Session', LockTimeout: (timeout*1000).to_i, DbPrincipal: 'public'
  lock = connection.raw_connection.return_code
  lock == 0
end

#release(name) ⇒ Object



10
11
12
13
14
# File 'lib/db_lock/adapter/sqlserver.rb', line 10

def release(name)
  connection.execute_procedure 'sp_releaseapplock', Resource: name, LockOwner: 'Session', DbPrincipal: 'public'
  lock = connection.raw_connection.return_code
  lock == 0
end