activerecord-oracle_enhanced-adapter 5.2.0 → 5.2.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: f5c56a2903f50e1f4d29ebce73f1d3ecfb8ccc20fdff51530358068c99e74182
4
- data.tar.gz: 1230afe509076a53d1f797ccbdba4d74b29647fdc263f60849d1ae34145e6116
3
+ metadata.gz: fa2bc4f36243959ebbe43179acbb417a7ee8c3256efa3a743b4fcdf6ceb35a42
4
+ data.tar.gz: 16d9bacff337f6634fb5d72e0d13f65dfc9b727ac95f757d3be1484ad6f66e2a
5
5
  SHA512:
6
- metadata.gz: ba4c22c74b3da5cd8768681df7c57aa0b07d1037d13efeecd3588a3487543f79b2d0eea2e7c0fe7fd947aa66d0f339c39ff263bf680831b603c74052fa38e990
7
- data.tar.gz: cc928edfef4189c8ce3ed0e1d1643b2b13369ef052467b21fa7223c03d4a31925b45572e3d60e2ec3b108d12365d601f3e17884eda599586cd869789841c4895
6
+ metadata.gz: 625e0fc67e187b681867359d4576491bbbf2eb14c70f4c455bfa926713aaed6bf1e452acf7a3806f05297eccd444326368c390be170033f0013758cd5c2538e9
7
+ data.tar.gz: 197b8c4ef15c5458e67d1a530ebfce8fa8b2a97f0ccad2037729d59cf6fd867f828303a07d6eef475b60afb4fc83d302fd29aa0f67387657cea441429789d2ab
data/History.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## 5.2.1 / 2018-04-15
2
+
3
+ * Changes and bug fixes
4
+ * Memoize if the table needs to prefetch primary key[#1673 #1699 #1700]
5
+
1
6
  ## 5.2.0 / 2018-04-10
2
7
 
3
8
  * Major changes and fixes
data/VERSION CHANGED
@@ -1 +1 @@
1
- 5.2.0
1
+ 5.2.1
@@ -212,6 +212,7 @@ module ActiveRecord
212
212
  super(connection, logger, config)
213
213
  @statements = StatementPool.new(self.class.type_cast_config_to_integer(config[:statement_limit]))
214
214
  @enable_dbms_output = false
215
+ @do_not_prefetch_primary_key = {}
215
216
  end
216
217
 
217
218
  ADAPTER_NAME = "OracleEnhanced".freeze
@@ -427,8 +428,11 @@ module ActiveRecord
427
428
  def prefetch_primary_key?(table_name = nil)
428
429
  return true if table_name.nil?
429
430
  table_name = table_name.to_s
430
- owner, desc_table_name, db_link = @connection.describe(table_name)
431
- do_not_prefetch = !has_primary_key?(table_name, owner, desc_table_name, db_link) || has_primary_key_trigger?(table_name, owner, desc_table_name, db_link)
431
+ do_not_prefetch = @do_not_prefetch_primary_key[table_name]
432
+ if do_not_prefetch.nil?
433
+ owner, desc_table_name, db_link = @connection.describe(table_name)
434
+ @do_not_prefetch_primary_key [table_name] = do_not_prefetch = !has_primary_key?(table_name, owner, desc_table_name, db_link) || has_primary_key_trigger?(table_name, owner, desc_table_name, db_link)
435
+ end
432
436
  !do_not_prefetch
433
437
  end
434
438
 
@@ -96,6 +96,14 @@ describe "OracleEnhancedAdapter" do
96
96
  expect(TestEmployee2.columns.map(&:sql_type)).to eq(@column_sql_types)
97
97
  end
98
98
  end
99
+
100
+ it "should get sequence value at next time" do
101
+ TestEmployee.create!
102
+ expect(@logger.logged(:debug).first).not_to match(/SELECT \"TEST_EMPLOYEES_SEQ\".NEXTVAL FROM dual/im)
103
+ @logger.clear(:debug)
104
+ TestEmployee.create!
105
+ expect(@logger.logged(:debug).first).to match(/SELECT \"TEST_EMPLOYEES_SEQ\".NEXTVAL FROM dual/im)
106
+ end
99
107
  end
100
108
  end
101
109
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-oracle_enhanced-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.0
4
+ version: 5.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Raimonds Simanovskis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-09 00:00:00.000000000 Z
11
+ date: 2018-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord