class Nandi::TimeoutPolicies::AccessExclusive
Attributes
migration[R]
Public Class Methods
new(migration)
click to toggle source
# File lib/nandi/timeout_policies/access_exclusive.rb, line 15 def initialize(migration) @migration = migration end
validate(migration)
click to toggle source
# File lib/nandi/timeout_policies/access_exclusive.rb, line 11 def self.validate(migration) new(migration).validate end
Public Instance Methods
validate()
click to toggle source
# File lib/nandi/timeout_policies/access_exclusive.rb, line 19 def validate collect_errors(validate_statement_timeout, validate_lock_timeout) end
Private Instance Methods
lock_timeout_maximum()
click to toggle source
# File lib/nandi/timeout_policies/access_exclusive.rb, line 49 def lock_timeout_maximum Nandi.config.access_exclusive_lock_timeout_limit end
statement_timeout_maximum()
click to toggle source
# File lib/nandi/timeout_policies/access_exclusive.rb, line 45 def statement_timeout_maximum Nandi.config.access_exclusive_statement_timeout_limit end
validate_lock_timeout()
click to toggle source
# File lib/nandi/timeout_policies/access_exclusive.rb, line 36 def validate_lock_timeout assert( !migration.disable_lock_timeout? && migration.lock_timeout <= lock_timeout_maximum, "lock timeout must be at most #{lock_timeout_maximum}ms" \ " as it takes an ACCESS EXCLUSIVE lock", ) end
validate_statement_timeout()
click to toggle source
# File lib/nandi/timeout_policies/access_exclusive.rb, line 27 def validate_statement_timeout assert( !migration.disable_statement_timeout? && migration.statement_timeout <= statement_timeout_maximum, "statement timeout must be at most #{statement_timeout_maximum}ms" \ " as it takes an ACCESS EXCLUSIVE lock", ) end