aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
diff options
context:
space:
mode:
authorGuo Xiang Tan <tgx_world@hotmail.com>2018-08-22 21:00:01 +0800
committerGuo Xiang Tan <tgx_world@hotmail.com>2018-08-22 22:06:08 +0800
commit20bb397e00dad9dfdb38d0c8dd73062b448c31e3 (patch)
tree1c78f25256c8cd1353097f35edaf848db304e6a0 /activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
parent96ac7e4cdee004bcd19cb63b3e3396329e3b39ed (diff)
downloadrails-20bb397e00dad9dfdb38d0c8dd73062b448c31e3.tar.gz
rails-20bb397e00dad9dfdb38d0c8dd73062b448c31e3.tar.bz2
rails-20bb397e00dad9dfdb38d0c8dd73062b448c31e3.zip
Add database configuration to disable advisory locks.
https://github.com/rails/rails/issues/31190
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_adapter.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
index a4748dbeda..529d099e16 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb
@@ -77,7 +77,14 @@ module ActiveRecord
SIMPLE_INT = /\A\d+\z/
attr_accessor :visitor, :pool
- attr_reader :schema_cache, :owner, :logger, :prepared_statements, :lock
+
+ attr_reader :schema_cache,
+ :owner,
+ :logger,
+ :prepared_statements,
+ :lock,
+ :advisory_locks
+
alias :in_use? :owner
def self.type_cast_config_to_integer(config)
@@ -119,6 +126,10 @@ module ActiveRecord
else
@prepared_statements = false
end
+
+ @advisory_locks_enabled = self.class.type_cast_config_to_boolean(
+ config.fetch(:advisory_locks, true)
+ )
end
def migrations_paths # :nodoc: