activerecord-oracle_enhanced-adapter 5.2.5 → 5.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.md +7 -0
- data/VERSION +1 -1
- data/lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb +6 -2
- data/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb +2 -0
- data/spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb +28 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d5b394e21a47693fd91ae861de7fbe948c2ccf8adff47aa75e66f04a712e19a
|
4
|
+
data.tar.gz: 94709d26f51820edf61471555b745a5a0b0ca17e6be87279bfc163a87c8ec911
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 423800f0ebcc07628eea06e1af00544aac8302c6ca0709ef93b4a52827a0ee5c67a50208f5d16a2eb1b763a5a7d690f4ba1df7902f1c9e2eb276d06387dc6e42
|
7
|
+
data.tar.gz: fd6986f2103ce6559a3ff7e212b312030b8740c5e01569988631f489f196d7e3f1e6341e9e07eea56040d4a17b9f6036bf78a2744cdc1126f7a1a7ae4c3ce863
|
data/History.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
5.2.
|
1
|
+
5.2.6
|
@@ -285,6 +285,8 @@ module ActiveRecord
|
|
285
285
|
# The OracleEnhancedOCIFactory factors out the code necessary to connect and
|
286
286
|
# configure an Oracle/OCI connection.
|
287
287
|
class OracleEnhancedOCIFactory #:nodoc:
|
288
|
+
DEFAULT_TCP_KEEPALIVE_TIME = 600
|
289
|
+
|
288
290
|
def self.new_connection(config)
|
289
291
|
# to_s needed if username, password or database is specified as number in database.yml file
|
290
292
|
username = config[:username] && config[:username].to_s
|
@@ -314,11 +316,13 @@ module ActiveRecord
|
|
314
316
|
else
|
315
317
|
database
|
316
318
|
end
|
317
|
-
|
319
|
+
|
320
|
+
OCI8.properties[:tcp_keepalive] = config[:tcp_keepalive] == false ? false : true
|
318
321
|
begin
|
319
|
-
OCI8.properties[:tcp_keepalive_time] =
|
322
|
+
OCI8.properties[:tcp_keepalive_time] = config[:tcp_keepalive_time] || DEFAULT_TCP_KEEPALIVE_TIME
|
320
323
|
rescue NotImplementedError
|
321
324
|
end
|
325
|
+
|
322
326
|
conn = OCI8.new username, password, connection_string, privilege
|
323
327
|
conn.autocommit = true
|
324
328
|
conn.non_blocking = true if async
|
@@ -115,6 +115,8 @@ module ActiveRecord
|
|
115
115
|
# * <tt>:time_zone</tt> - database session time zone
|
116
116
|
# (it is recommended to set it using ENV['TZ'] which will be then also used for database session time zone)
|
117
117
|
# * <tt>:schema</tt> - database schema which holds schema objects.
|
118
|
+
# * <tt>:tcp_keepalive</tt> - TCP keepalive is enabled for OCI client, defaults to true
|
119
|
+
# * <tt>:tcp_keepalive_time</tt> - TCP keepalive time for OCI client, defaults to 600
|
118
120
|
#
|
119
121
|
# Optionals NLS parameters:
|
120
122
|
#
|
@@ -122,6 +122,34 @@ describe "OracleEnhancedConnection" do
|
|
122
122
|
end
|
123
123
|
end
|
124
124
|
|
125
|
+
if defined?(OCI8)
|
126
|
+
describe "with TCP keepalive parameters" do
|
127
|
+
it "should use database default `tcp_keepalive` value true by default" do
|
128
|
+
ActiveRecord::ConnectionAdapters::OracleEnhanced::Connection.create(CONNECTION_PARAMS)
|
129
|
+
|
130
|
+
expect(OCI8.properties[:tcp_keepalive]).to be true
|
131
|
+
end
|
132
|
+
|
133
|
+
it "should use modified `tcp_keepalive` value false" do
|
134
|
+
ActiveRecord::ConnectionAdapters::OracleEnhanced::Connection.create(CONNECTION_PARAMS.dup.merge(tcp_keepalive: false))
|
135
|
+
|
136
|
+
expect(OCI8.properties[:tcp_keepalive]).to be false
|
137
|
+
end
|
138
|
+
|
139
|
+
it "should use database default `tcp_keepalive_time` value 600 by default" do
|
140
|
+
ActiveRecord::ConnectionAdapters::OracleEnhanced::Connection.create(CONNECTION_PARAMS)
|
141
|
+
|
142
|
+
expect(OCI8.properties[:tcp_keepalive_time]).to eq(600)
|
143
|
+
end
|
144
|
+
|
145
|
+
it "should use modified `tcp_keepalive_time` value 3000" do
|
146
|
+
ActiveRecord::ConnectionAdapters::OracleEnhanced::Connection.create(CONNECTION_PARAMS.dup.merge(tcp_keepalive_time: 3000))
|
147
|
+
|
148
|
+
expect(OCI8.properties[:tcp_keepalive_time]).to eq(3000)
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
125
153
|
describe "with non-string parameters" do
|
126
154
|
before(:all) do
|
127
155
|
params = CONNECTION_PARAMS.dup
|
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.
|
4
|
+
version: 5.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Raimonds Simanovskis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-05-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|