replica_pools 2.5.0 → 2.6.0
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/replica_pools/connection_proxy.rb +5 -5
- data/lib/replica_pools/query_cache.rb +4 -4
- data/lib/replica_pools/version.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca5913b321778c59730e29d5845c52cec3acc626ce4940e921fb40309ef3f39b
|
4
|
+
data.tar.gz: 89cbec0176c695013e1fa3691d02d004aa05bda88ccfcaf60c1452da06d7b9ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a99fc420ef83d2eee33302c0c50095a64c8c7f47c11471bc3310afb3557e22e64f6a6b4a288cd750b830c552cb9f6a3cc742e07c95ae9b1816a25f20d31b0c2
|
7
|
+
data.tar.gz: eb1e3a46c3e4bb83b5510f782f493e7490a8165bd5ea23952726d6d3e36bef7216811960254e87292a0628534ec06471aa442c56535b3a68cfaab2c9b471499a
|
@@ -64,8 +64,8 @@ module ReplicaPools
|
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
|
-
def transaction(
|
68
|
-
with_leader { leader.transaction(
|
67
|
+
def transaction(...)
|
68
|
+
with_leader { leader.transaction(...) }
|
69
69
|
end
|
70
70
|
|
71
71
|
def next_replica!
|
@@ -86,9 +86,9 @@ module ReplicaPools
|
|
86
86
|
# Proxies any unknown methods to leader.
|
87
87
|
# Safe methods have been generated during `setup!`.
|
88
88
|
# Creates a method to speed up subsequent calls.
|
89
|
-
def method_missing(method, *args, &block)
|
90
|
-
self.class.define_method(method) do |*args, &block|
|
91
|
-
route_to(leader, method, *args, &block).tap do
|
89
|
+
def method_missing(method, *args, **kwargs, &block)
|
90
|
+
self.class.define_method(method) do |*args, **kwargs, &block|
|
91
|
+
route_to(leader, method, *args, **kwargs, &block).tap do
|
92
92
|
if %i[insert delete update].include?(method)
|
93
93
|
leader.retrieve_connection.clear_query_cache
|
94
94
|
end
|
@@ -18,11 +18,11 @@ module ReplicaPools
|
|
18
18
|
# select_all is trickier. it needs to use the leader
|
19
19
|
# connection for cache logic, but ultimately pass its query
|
20
20
|
# through to whatever connection is current.
|
21
|
-
def select_all(*args)
|
21
|
+
def select_all(*args, **kwargs)
|
22
22
|
relation, name, raw_binds = args
|
23
23
|
|
24
24
|
if !query_cache_enabled || locked?(relation)
|
25
|
-
return route_to(current, :select_all, *args)
|
25
|
+
return route_to(current, :select_all, *args, **kwargs)
|
26
26
|
end
|
27
27
|
|
28
28
|
# duplicate binds_from_relation behavior introduced in 4.2.
|
@@ -38,9 +38,9 @@ module ReplicaPools
|
|
38
38
|
args[2] = binds
|
39
39
|
|
40
40
|
if Gem::Version.new(ActiveRecord.version) < Gem::Version.new('5.1')
|
41
|
-
cache_sql(sql, binds) { route_to(current, :select_all, *args) }
|
41
|
+
cache_sql(sql, binds) { route_to(current, :select_all, *args, **kwargs) }
|
42
42
|
else
|
43
|
-
cache_sql(sql, name, binds) { route_to(current, :select_all, *args) }
|
43
|
+
cache_sql(sql, name, binds) { route_to(current, :select_all, *args, **kwargs) }
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: replica_pools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Drabik
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-03-
|
12
|
+
date: 2023-03-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
@@ -151,21 +151,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
151
151
|
requirements:
|
152
152
|
- - ">="
|
153
153
|
- !ruby/object:Gem::Version
|
154
|
-
version:
|
154
|
+
version: 2.7.0
|
155
155
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
157
|
- - ">="
|
158
158
|
- !ruby/object:Gem::Version
|
159
159
|
version: '1.2'
|
160
160
|
requirements: []
|
161
|
-
rubygems_version: 3.
|
161
|
+
rubygems_version: 3.1.6
|
162
162
|
signing_key:
|
163
163
|
specification_version: 4
|
164
164
|
summary: Connection proxy for ActiveRecord for leader / replica setups.
|
165
165
|
test_files:
|
166
|
-
- spec/
|
167
|
-
- spec/connection_proxy_spec.rb
|
166
|
+
- spec/spec_helper.rb
|
168
167
|
- spec/pool_spec.rb
|
169
|
-
- spec/query_cache_spec.rb
|
170
168
|
- spec/slave_pools_spec.rb
|
171
|
-
- spec/
|
169
|
+
- spec/config/test_model.rb
|
170
|
+
- spec/query_cache_spec.rb
|
171
|
+
- spec/connection_proxy_spec.rb
|