active_record_host_pool 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/active_record_host_pool/clear_query_cache_patch.rb +3 -3
- data/lib/active_record_host_pool/connection_adapter_mixin.rb +5 -5
- data/lib/active_record_host_pool/pool_proxy_6_1.rb +5 -1
- data/lib/active_record_host_pool/pool_proxy_legacy.rb +5 -1
- data/lib/active_record_host_pool/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 798f8b22ed7ed2801d40f3aaeb653ad4882ab3523daa1d93183b659adb5c3941
|
4
|
+
data.tar.gz: ccf81d17ac0e64a4b727b0aff13ac208514104c34e20536818fe4983efbde390
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 656affbe8e6eccff5d653cdbe7f560e6b48738dabfdd67187deadd76b6f46b51aef3ce96bf0955a52e6e74718b3c7e1a8664f74d69ba9458a17f48c8f85eecd2
|
7
|
+
data.tar.gz: 37c92ee23f9c58320b6be0011c80de891d0d518b7cc0a5481e2f8028b4d804e399dbc67dcc30aa4b807673ea7033357d29ddccf519d9d6210f64bac47d0584e5
|
@@ -29,10 +29,10 @@ if ActiveRecord.version >= Gem::Version.new('6.0')
|
|
29
29
|
|
30
30
|
def clear_on_handler(handler)
|
31
31
|
handler.all_connection_pools.each do |pool|
|
32
|
-
db_was = pool.
|
33
|
-
pool.
|
32
|
+
db_was = pool._unproxied_connection._host_pool_current_database
|
33
|
+
pool._unproxied_connection.clear_query_cache if pool.active_connection?
|
34
34
|
ensure
|
35
|
-
pool.
|
35
|
+
pool._unproxied_connection._host_pool_current_database = db_was
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -8,11 +8,6 @@ module ActiveRecordHostPool
|
|
8
8
|
base.class_eval do
|
9
9
|
attr_reader(:_host_pool_current_database)
|
10
10
|
|
11
|
-
def _host_pool_current_database=(database)
|
12
|
-
@_host_pool_current_database = database
|
13
|
-
@config[:database] = _host_pool_current_database
|
14
|
-
end
|
15
|
-
|
16
11
|
alias_method :execute_without_switching, :execute
|
17
12
|
alias_method :execute, :execute_with_switching
|
18
13
|
|
@@ -32,6 +27,11 @@ module ActiveRecordHostPool
|
|
32
27
|
super
|
33
28
|
end
|
34
29
|
|
30
|
+
def _host_pool_current_database=(database)
|
31
|
+
@_host_pool_current_database = database
|
32
|
+
@config[:database] = _host_pool_current_database
|
33
|
+
end
|
34
|
+
|
35
35
|
def self.ruby2_keywords(*); end unless respond_to?(:ruby2_keywords, true)
|
36
36
|
ruby2_keywords def execute_with_switching(*args, **kwargs)
|
37
37
|
if _host_pool_current_database && !_no_switch
|
@@ -34,13 +34,17 @@ module ActiveRecordHostPool
|
|
34
34
|
attr_reader :pool_config
|
35
35
|
|
36
36
|
def connection(*args)
|
37
|
-
real_connection =
|
37
|
+
real_connection = _unproxied_connection(*args)
|
38
38
|
_connection_proxy_for(real_connection, @config[:database])
|
39
39
|
rescue Mysql2::Error, ActiveRecord::NoDatabaseError
|
40
40
|
_connection_pools.delete(_pool_key)
|
41
41
|
Kernel.raise
|
42
42
|
end
|
43
43
|
|
44
|
+
def _unproxied_connection(*args)
|
45
|
+
_connection_pool.connection(*args)
|
46
|
+
end
|
47
|
+
|
44
48
|
# by the time we are patched into ActiveRecord, the current thread has already established
|
45
49
|
# a connection. thus we need to patch both connection and checkout/checkin
|
46
50
|
def checkout(*args, &block)
|
@@ -36,13 +36,17 @@ module ActiveRecordHostPool
|
|
36
36
|
attr_reader :spec
|
37
37
|
|
38
38
|
def connection(*args)
|
39
|
-
real_connection =
|
39
|
+
real_connection = _unproxied_connection(*args)
|
40
40
|
_connection_proxy_for(real_connection, @config[:database])
|
41
41
|
rescue Mysql2::Error, ActiveRecord::NoDatabaseError
|
42
42
|
_connection_pools.delete(_pool_key)
|
43
43
|
Kernel.raise
|
44
44
|
end
|
45
45
|
|
46
|
+
def _unproxied_connection(*args)
|
47
|
+
_connection_pool.connection(*args)
|
48
|
+
end
|
49
|
+
|
46
50
|
# by the time we are patched into ActiveRecord, the current thread has already established
|
47
51
|
# a connection. thus we need to patch both connection and checkout/checkin
|
48
52
|
def checkout(*args, &block)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_record_host_pool
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benjamin Quorning
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2023-01-18 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: activerecord
|