unreliable 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
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