composite_primary_keys 11.0.0 → 11.0.1
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ffea425aed78412bab66e908f3873e7838b80afc2731a36d93c3a2ddc7edf7e
|
4
|
+
data.tar.gz: 83b24a29fa3178dd065c2f07e92ef308d99b4cfc70d69d236633e1ca5c5d62d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d654cf0a62880f798255090f1acad0f4c05cf13ceeeb0544b3643560bd4da5a0c69380077605a54835d3bda4a0e612b03045cf0199973f2190c75be98f4cf14e
|
7
|
+
data.tar.gz: 27d2527c66f6a5b1db40e69af9f8bc4718a0eedb628e992e5c38b5dbc9ed6fdd961d79fb5b07204724bf6eaf33e2dfc85663078ad52114071a63a9820d6e04be
|
data/History.rdoc
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
== 11.0.1 (2018-06-20)
|
2
|
+
* Fix in_batches (Urmo Rae)
|
3
|
+
* Fix apply_join_dependency (Charlie Savage)
|
4
|
+
|
1
5
|
== 11.0.0 (2018-06-18)
|
2
6
|
* Update to ActiveRecord 5.2 (Charlie Savage)
|
3
7
|
* Fixes for AR 5.2 persistence changes (Erik Rothoff, Charlie Savage)
|
@@ -30,6 +34,9 @@
|
|
30
34
|
|
31
35
|
* ActiveRecord 5.2.beta2 support (Charlie Savage)
|
32
36
|
|
37
|
+
== 10.0.5 (?)
|
38
|
+
* Fix in_batches (Urmo Rae)
|
39
|
+
|
33
40
|
== 10.0.4 (2018-06-17)
|
34
41
|
|
35
42
|
* Lock mysql2 gem to 0.4.x (Le Trung Kien)
|
@@ -2,27 +2,20 @@ module ActiveRecord
|
|
2
2
|
module ConnectionAdapters
|
3
3
|
class AbstractMysqlAdapter
|
4
4
|
def subquery_for(key, select)
|
5
|
-
|
6
|
-
|
5
|
+
subsubselect = select.clone
|
6
|
+
subsubselect.projections = [key]
|
7
7
|
|
8
8
|
# Materialize subquery by adding distinct
|
9
9
|
# to work with MySQL 5.7.6 which sets optimizer_switch='derived_merge=on'
|
10
|
-
|
10
|
+
subsubselect.distinct unless select.limit || select.offset || select.orders.any?
|
11
11
|
|
12
|
-
|
13
|
-
if key.is_a?(Array)
|
14
|
-
key_names = key.map(&:name).map {|key_name| Arel.sql(key_name)}
|
15
|
-
Arel::SelectManager.new(subselect.as("__active_record_temp")).project(key_names)
|
16
|
-
else
|
17
|
-
key_name = quote_column_name(key.name)
|
18
|
-
Arel::SelectManager.new(subselect.as("__active_record_temp")).project(Arel.sql(key_name))
|
19
|
-
end
|
12
|
+
subselect = Arel::SelectManager.new(select.engine)
|
20
13
|
|
21
14
|
# CPK
|
22
15
|
#subselect.project Arel.sql(key.name)
|
23
|
-
|
16
|
+
subselect.project Arel.sql(Array(key).map(&:name).join(', '))
|
24
17
|
|
25
|
-
|
18
|
+
subselect.from subsubselect.as('__active_record_temp')
|
26
19
|
end
|
27
20
|
end
|
28
21
|
end
|
@@ -1,19 +1,27 @@
|
|
1
1
|
module CompositePrimaryKeys
|
2
2
|
module ActiveRecord
|
3
3
|
module FinderMethods
|
4
|
-
def apply_join_dependency(
|
4
|
+
def apply_join_dependency(eager_loading: true)
|
5
|
+
join_dependency = construct_join_dependency
|
5
6
|
relation = except(:includes, :eager_load, :preload).joins!(join_dependency)
|
6
7
|
|
7
|
-
if using_limitable_reflections?(join_dependency.reflections)
|
8
|
-
|
9
|
-
else
|
10
|
-
if relation.limit_value
|
8
|
+
if eager_loading && !using_limitable_reflections?(join_dependency.reflections)
|
9
|
+
if has_limit_or_offset?
|
11
10
|
limited_ids = limited_ids_for(relation)
|
11
|
+
|
12
12
|
# CPK
|
13
13
|
# limited_ids.empty? ? relation.none! : relation.where!(primary_key => limited_ids)
|
14
14
|
limited_ids.empty? ? relation.none! : relation.where!(cpk_in_predicate(table, self.primary_keys, limited_ids))
|
15
|
+
|
15
16
|
end
|
16
|
-
relation.
|
17
|
+
relation.limit_value = relation.offset_value = nil
|
18
|
+
end
|
19
|
+
|
20
|
+
if block_given?
|
21
|
+
relation._select!(join_dependency.aliases.columns)
|
22
|
+
yield relation, join_dependency
|
23
|
+
else
|
24
|
+
relation
|
17
25
|
end
|
18
26
|
end
|
19
27
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: composite_primary_keys
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 11.0.
|
4
|
+
version: 11.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Charlie Savage
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|