diff options
author | Matthew Draper <matthew@trebex.net> | 2016-11-06 01:46:47 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-06 01:46:47 -0500 |
commit | 3359093ff622438141add95edf350c0b288176a0 (patch) | |
tree | 939ca58223df34a4d58d675e3d5c1a411fa3005f /activerecord/lib/active_record/connection_adapters | |
parent | 2b2c096125edc3becc970bea331d8f26cd6a3ed5 (diff) | |
parent | 09b6cc28bf2bd7c37289d5e9a3e04a04a1ec0db3 (diff) | |
download | rails-3359093ff622438141add95edf350c0b288176a0.tar.gz rails-3359093ff622438141add95edf350c0b288176a0.tar.bz2 rails-3359093ff622438141add95edf350c0b288176a0.zip |
Merge pull request #26909 from matthewd/query-cache-connection
Clear query cache during checkin, instead of an execution callback
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb | 2 | ||||
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract_adapter.rb | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb b/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb index 376fbca74f..d4229dfdba 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb @@ -4,6 +4,7 @@ module ActiveRecord class << self def included(base) #:nodoc: dirties_query_cache base, :insert, :update, :delete, :rollback_to_savepoint, :rollback_db_transaction + base.set_callback :checkin, :after, :disable_query_cache! end def dirties_query_cache(base, *method_names) @@ -41,6 +42,7 @@ module ActiveRecord def disable_query_cache! @query_cache_enabled = false + clear_query_cache end # Disable the query cache within the block. diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb index 135421819c..137396a677 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb @@ -62,17 +62,17 @@ module ActiveRecord # notably, the instance methods provided by SchemaStatements are very useful. class AbstractAdapter ADAPTER_NAME = "Abstract".freeze + include ActiveSupport::Callbacks + define_callbacks :checkout, :checkin + include Quoting, DatabaseStatements, SchemaStatements include DatabaseLimits include QueryCache - include ActiveSupport::Callbacks include ColumnDumper include Savepoints SIMPLE_INT = /\A\d+\z/ - define_callbacks :checkout, :checkin - attr_accessor :visitor, :pool attr_reader :schema_cache, :owner, :logger alias :in_use? :owner |