ruby-oci8 2.2.12-x64-mingw-ucrt → 2.2.13-x64-mingw-ucrt

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: '04932f0898a5fc41d3b52b76d1c6c1f32c8a5d9a5a96925630dec60d3c8123ea'
4
- data.tar.gz: 834b8d87dd0a8b93e89281bb500037f521b2653bd75dab71f0486ca50f4cc3d7
3
+ metadata.gz: 4abeb5e14914a9609ca37d32c0447290eaec7d5e562d5a57f961ecab9bcd40a4
4
+ data.tar.gz: 98df2869e9dd6e3e584c462f0596995d6bceee2c8cee2bce4c50c3f4bb757c49
5
5
  SHA512:
6
- metadata.gz: 02af1a59a1d3c616e4ead15e51502008c546646f823d1cf51aeeff3f4415e824a644755092ef3c63ccd1dd03119d1075aef5c478c27f86659313778a53dba99e
7
- data.tar.gz: ec1b24a280331f3d072dd6640d0bc83746d2ee4b9a0cc663847ee7a8d64e2325349911b12854ba3b636309087062824a898bf1896dee58c5791b9f92c7893c11
6
+ metadata.gz: 93fec57c55b4b028b7cfdb2e39475234de48212f5c7a28be2b35ce501cdb4ac8474c7e532d6a225f4d7785d9ab0128072d2fb52e300f3a2a273def5aa2222fda
7
+ data.tar.gz: f7cedfb45c7b03996591fc81cbced1cbc766c67c25d923c7508e86121c7cd589beda9826e7674fad23c1d739ac84d7eec156d584c0fa06130a0a4ba56ad8911d
data/NEWS CHANGED
@@ -1,5 +1,23 @@
1
1
  # @markup markdown
2
2
 
3
+ 2.2.13 (2024-07-27)
4
+ ===================
5
+
6
+ - Binary gems for Windows x64 and x86 supports ruby 2.7 - 3.3 inclusive.
7
+
8
+ Fixed issues
9
+ ------------
10
+
11
+ - Fix various issues about `OCI8.properties[:tcp_keepalive_time]` on macOS arm64. The feature was removed on the platform
12
+ and it raises `NotImplementedError` instead now.
13
+ - Fix SIGSEGV when using truffleruby. It seems to be caused by `xfree()` outside of ruby threads.
14
+
15
+ Changes
16
+ -------
17
+
18
+ - Change the format of fifth numeral of Oracle version number as two digit zero-padding number
19
+ when the Oracle version is 23 or upper. For example "23.4.0.24.05".
20
+
3
21
  2.2.12 (2022-12-30)
4
22
  ===================
5
23
 
@@ -39,7 +39,7 @@ by the `tcp_keepalive_time` property.
39
39
  It is supported on the following platforms since ruby-oci8 2.2.4.
40
40
 
41
41
  * Linux i386 and x86_64
42
- * macOS
42
+ * macOS x86_64
43
43
  * Windows x86 and x64
44
44
  * Solaris x86_64
45
45
 
@@ -127,7 +127,15 @@ class OCI8
127
127
  #
128
128
  # @return [String]
129
129
  def to_s
130
- format('%d.%d.%d.%d.%d', @major, @minor, @update, @patch, @port_update)
130
+ version_format =
131
+ if @major >= 23 && @patch != 0 && @port_update != 0
132
+ # The fifth numeral is the release month (01 through 12) since Oracle 23ai
133
+ # See https://docs.oracle.com/en/database/oracle/oracle-database/23/upgrd/oracle-database-release-numbers.html#GUID-1E2F3945-C0EE-4EB2-A933-8D1862D8ECE2__GUID-704EC7BB-4EEA-4A92-96FC-579B216DCA97
134
+ '%d.%d.%d.%d.%02d'
135
+ else
136
+ '%d.%d.%d.%d.%d'
137
+ end
138
+ format(version_format, @major, @minor, @update, @patch, @port_update)
131
139
  end
132
140
 
133
141
  # Returns true if +self+ and +other+ are the same type and have
data/lib/oci8/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class OCI8
2
- VERSION = "2.2.12"
2
+ VERSION = "2.2.13"
3
3
  end
data/lib/oci8.rb CHANGED
@@ -147,6 +147,8 @@ class OCI8
147
147
  ORAVER_12_1 = OCI8::OracleVersion.new(12, 1)
148
148
  # @private
149
149
  ORAVER_18 = OCI8::OracleVersion.new(18)
150
+ # @private
151
+ ORAVER_23 = OCI8::OracleVersion.new(23)
150
152
 
151
153
  # @private
152
154
  @@oracle_client_version = OCI8::OracleVersion.new(self.oracle_client_vernum)
data/lib/oci8lib_310.so CHANGED
Binary file
data/lib/oci8lib_320.so CHANGED
Binary file
Binary file
@@ -1896,6 +1896,7 @@ EOS
1896
1896
  # Get data_size of NCHAR(1) and that of CHAR(1 CHAR).
1897
1897
  # They depend on the database character set and the
1898
1898
  # client character set.
1899
+ drop_table('test_table')
1899
1900
  @conn.exec('CREATE TABLE test_table (nc NCHAR(1), c CHAR(1 CHAR))')
1900
1901
  cursor = @conn.exec("select * from test_table")
1901
1902
  cfrm = cursor.column_metadata[0].data_size # size of NCHAR(1) in bytes
@@ -697,7 +697,9 @@ EOS
697
697
  OraNumber.new(str)
698
698
  flunk("exception expected but none was thrown. test data: " + str)
699
699
  rescue
700
- assert_equal(oraerr.to_s, $!.to_s, "test data: " + str)
700
+ expected_errhead = oraerr.to_s.gsub(/:.*/m, '') # strip chars after ':'
701
+ actual_errhead = $!.to_s.gsub(/:.*/m, '')
702
+ assert_equal(expected_errhead, actual_errhead, "test data: " + str)
701
703
  end
702
704
  end
703
705
  if onum
@@ -47,6 +47,12 @@ class TestPackageType < Minitest::Test
47
47
  end
48
48
 
49
49
  def test_describe_package
50
+ if $oracle_server_version >= OCI8::ORAVER_23
51
+ boolean_type_name = 'BOOLEAN'
52
+ else
53
+ boolean_type_name = 'PL/SQL BOOLEAN'
54
+ end
55
+
50
56
  integer_type_attrs = {
51
57
  :class => OCI8::Metadata::Type,
52
58
  #:typecode => nil,
@@ -127,7 +133,7 @@ class TestPackageType < Minitest::Test
127
133
  #:map_method => nil,
128
134
  #:order_method => nil,
129
135
  :is_invoker_rights? => false,
130
- :name => 'PL/SQL BOOLEAN',
136
+ :name => boolean_type_name,
131
137
  :schema_name => 'SYS',
132
138
  :is_final_type? => true,
133
139
  :is_instantiable_type? => true,
@@ -137,7 +143,7 @@ class TestPackageType < Minitest::Test
137
143
  :package_name => nil,
138
144
  :type_attrs => [],
139
145
  #:type_methods => [],
140
- :inspect => '#<OCI8::Metadata::Type:(0) SYS.PL/SQL BOOLEAN>', # TODO: change to "BOOLEAN"
146
+ :inspect => "#<OCI8::Metadata::Type:(0) SYS.#{boolean_type_name}>",
141
147
  }
142
148
 
143
149
  varchar2_type_attrs = {
@@ -277,7 +283,7 @@ class TestPackageType < Minitest::Test
277
283
  :num_elems => 0,
278
284
  :precision => 0,
279
285
  :scale => 0,
280
- :type_name => 'PL/SQL BOOLEAN',
286
+ :type_name => boolean_type_name,
281
287
  :schema_name => 'SYS',
282
288
  :type_metadata => boolean_type_attrs,
283
289
  :inspect => '#<OCI8::Metadata::Collection: BOOLEAN>',
@@ -444,7 +450,7 @@ class TestPackageType < Minitest::Test
444
450
  :name => 'B',
445
451
  :precision => 0,
446
452
  :scale => 0,
447
- :type_name => 'PL/SQL BOOLEAN',
453
+ :type_name => boolean_type_name,
448
454
  :schema_name => 'SYS',
449
455
  :fsprecision => 0,
450
456
  :lfprecision => 0,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-oci8
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.12
4
+ version: 2.2.13
5
5
  platform: x64-mingw-ucrt
6
6
  authors:
7
7
  - Kubo Takehiro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-30 00:00:00.000000000 Z
11
+ date: 2024-07-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: 'ruby-oci8 is a ruby interface for Oracle using OCI8 API. It is available
14
14
  with Oracle 10g or later including Oracle Instant Client.
@@ -61,6 +61,7 @@ files:
61
61
  - lib/oci8/version.rb
62
62
  - lib/oci8lib_310.so
63
63
  - lib/oci8lib_320.so
64
+ - lib/oci8lib_330.so
64
65
  - lib/ruby-oci8.rb
65
66
  - metaconfig
66
67
  - pre-distclean.rb