module MigrationTimeouts::TimeoutManager

Public Instance Methods

migrate(direction) click to toggle source
Calls superclass method
# File lib/migration_timeouts/timeout_manager.rb, line 7
def migrate(direction)
  return super unless direction == :up && !disable_ddl_transaction

  issue_lock_timeout if lock_timeout_configured?
  issue_statement_timeout if statement_timeout_configured?

  super
end

Private Instance Methods

issue_lock_timeout() click to toggle source
# File lib/migration_timeouts/timeout_manager.rb, line 18
def issue_lock_timeout
  execute "SET LOCAL lock_timeout = #{lock_timeout.in_milliseconds}"
end
issue_statement_timeout() click to toggle source
# File lib/migration_timeouts/timeout_manager.rb, line 22
def issue_statement_timeout
  execute "SET LOCAL statement_timeout = #{statement_timeout.in_milliseconds}"
end
lock_timeout() click to toggle source
# File lib/migration_timeouts/timeout_manager.rb, line 34
def lock_timeout
  self.class.lock_timeout_override || MigrationTimeouts.config.default_lock_timeout
end
lock_timeout_configured?() click to toggle source
# File lib/migration_timeouts/timeout_manager.rb, line 26
def lock_timeout_configured?
  !self.class.lock_timeout_disabled && lock_timeout&.try(:positive?)
end
statement_timeout() click to toggle source
# File lib/migration_timeouts/timeout_manager.rb, line 38
def statement_timeout
  self.class.statement_timeout_override || MigrationTimeouts.config.default_statement_timeout
end
statement_timeout_configured?() click to toggle source
# File lib/migration_timeouts/timeout_manager.rb, line 30
def statement_timeout_configured?
  !self.class.statement_timeout_disabled && statement_timeout&.try(:positive?)
end