unreliable 0.9.0 → 0.9.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: c392da89c1547259307a12e4674e96c9aaa07e0d7b2550d508fc98b7d490b8ea
4
- data.tar.gz: de874288196a3383fce382e4e35ae425547d0a8afd3fb64e5b1989e49f703b83
3
+ metadata.gz: 9b11225a3c1dad62d2a283c3eb36fef7b69fda61815df13a860ce9c1970016eb
4
+ data.tar.gz: 1994dd9ea21ba01dc839c56cc08ca91742465dc9b850c0b6a5eebbc81c7558a2
5
5
  SHA512:
6
- metadata.gz: d9a215c602f513619493f094994098ae4e15555b8f9d9962b0ddf3a9c15fe7d6cb0a19b3d75b064c12985383bfc2fd8d247d7a1d4400485dafd69cd63aea94e4
7
- data.tar.gz: 70ae7ac42726add25f320037c57c7d42a4d28d6af1e6380f4be8c5ccbecd24deb34bd095255579645a3fc345e3ee7913b85108b7c2bcf6cd05b8fb3e3f4c0a05
6
+ metadata.gz: 145d5bbe8790fe4ee33bf4f0ea874350edf9655c2ebed35bfb3f18acb123d03efbe86c826dd0d9d4ca7ff12938c368e5cc4ebdc7afba224e0a8c12669a92e816
7
+ data.tar.gz: 2a3ca2dfa53cbf67a0f8a6b7128df829874409a698586c15d10746624a71a18eddc77914768ec5da361541aa54706bd1899f473aa1f6093ec839f689428b36ed
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## Unreliable 0.9.1 (November 21, 2022) ##
2
+
3
+ ### Changed
4
+
5
+ * Improve efficiency by using ActiveRecord's SchemaCache.
6
+
1
7
  ## Unreliable 0.9.0 (November 20, 2022) ##
2
8
 
3
9
  ### Changed
@@ -47,8 +47,11 @@ module Unreliable
47
47
  end
48
48
 
49
49
  def primary_key_columns(arel)
50
- # primary_key returns a String if it's one column, an Array if two or more
51
- [ActiveRecord::Base.connection.primary_key(arel.froms.first.name)].flatten
50
+ # primary_keys returns a String if it's one column, an Array if two or more.
51
+ # Using the SchemaCache minimizes the number of times we have to, e.g. in MySQL,
52
+ # SELECT column_name FROM information_schema.statistics
53
+ # (or in Rails < 6, SELECT column_name FROM information_schema.key_column_usage)
54
+ [ActiveRecord::Base.connection.schema_cache.primary_keys(arel.froms.first.name)].flatten
52
55
  end
53
56
 
54
57
  def order_columns(arel)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Unreliable
4
- VERSION = "0.9.0"
4
+ VERSION = "0.9.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unreliable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James McCarthy