ruby-oci8 2.2.3 → 2.2.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/ChangeLog +427 -0
- data/NEWS +335 -42
- data/README.md +20 -9
- data/dist-files +9 -3
- data/docs/bind-array-to-in_cond.md +2 -2
- data/docs/conflicts-local-connections-and-processes.md +7 -4
- data/docs/hanging-after-inactivity.md +63 -0
- data/docs/install-binary-package.md +15 -11
- data/docs/install-full-client.md +18 -21
- data/docs/install-instant-client.md +45 -27
- data/docs/install-on-osx.md +31 -120
- data/docs/ldap-auth-and-function-interposition.md +123 -0
- data/docs/number-type-mapping.md +79 -0
- data/docs/platform-specific-issues.md +17 -50
- data/docs/report-installation-issue.md +3 -0
- data/docs/timeout-parameters.md +3 -0
- data/ext/oci8/apiwrap.c.tmpl +2 -5
- data/ext/oci8/apiwrap.rb +6 -1
- data/ext/oci8/apiwrap.yml +34 -22
- data/ext/oci8/attr.c +4 -2
- data/ext/oci8/bind.c +366 -6
- data/ext/oci8/connection_pool.c +3 -3
- data/ext/oci8/encoding.c +5 -5
- data/ext/oci8/env.c +8 -2
- data/ext/oci8/error.c +24 -16
- data/ext/oci8/extconf.rb +8 -4
- data/ext/oci8/hook_funcs.c +274 -61
- data/ext/oci8/lob.c +31 -75
- data/ext/oci8/metadata.c +2 -2
- data/ext/oci8/object.c +72 -27
- data/ext/oci8/oci8.c +45 -132
- data/ext/oci8/oci8.h +32 -88
- data/ext/oci8/oci8lib.c +178 -38
- data/ext/oci8/ocihandle.c +37 -37
- data/ext/oci8/ocinumber.c +23 -18
- data/ext/oci8/oraconf.rb +158 -339
- data/ext/oci8/oradate.c +19 -19
- data/ext/oci8/plthook.h +10 -0
- data/ext/oci8/plthook_elf.c +433 -268
- data/ext/oci8/plthook_osx.c +40 -9
- data/ext/oci8/plthook_win32.c +9 -0
- data/ext/oci8/stmt.c +52 -17
- data/ext/oci8/win32.c +4 -22
- data/lib/oci8/bindtype.rb +1 -15
- data/lib/oci8/check_load_error.rb +57 -10
- data/lib/oci8/cursor.rb +57 -25
- data/lib/oci8/metadata.rb +9 -1
- data/lib/oci8/object.rb +10 -0
- data/lib/oci8/oci8.rb +33 -28
- data/lib/oci8/oracle_version.rb +11 -1
- data/lib/oci8/properties.rb +22 -0
- data/lib/oci8/version.rb +1 -1
- data/lib/oci8.rb +48 -4
- data/lib/ruby-oci8.rb +0 -3
- data/pre-distclean.rb +1 -3
- data/ruby-oci8.gemspec +3 -8
- data/setup.rb +11 -2
- data/test/README.md +37 -0
- data/test/config.rb +1 -1
- data/test/setup_test_object.sql +21 -13
- data/test/setup_test_package.sql +59 -0
- data/test/test_all.rb +2 -0
- data/test/test_bind_boolean.rb +99 -0
- data/test/test_bind_integer.rb +47 -0
- data/test/test_break.rb +11 -9
- data/test/test_clob.rb +4 -16
- data/test/test_connstr.rb +29 -13
- data/test/test_datetime.rb +8 -3
- data/test/test_object.rb +27 -9
- data/test/test_oci8.rb +170 -46
- data/test/test_oranumber.rb +12 -6
- data/test/test_package_type.rb +15 -3
- data/test/test_properties.rb +17 -0
- metadata +40 -54
- data/docs/osx-install-dev-tools.png +0 -0
- data/test/README +0 -42
data/test/test_oranumber.rb
CHANGED
@@ -215,9 +215,15 @@ EOS
|
|
215
215
|
end
|
216
216
|
|
217
217
|
def test_yaml
|
218
|
+
# Use the permitted_classes keyword parameter if it is supported by YAML.load
|
219
|
+
keyword_params = if YAML.method(:load).parameters.any? { |key, value| value == :permitted_symbols }
|
220
|
+
{permitted_classes: [OraNumber]}
|
221
|
+
else
|
222
|
+
{}
|
223
|
+
end
|
218
224
|
(LARGE_RANGE_VALUES + ['~', '-~']).each do |x|
|
219
225
|
n = OraNumber.new(x)
|
220
|
-
assert_equal(n, YAML.load(YAML.dump(n)))
|
226
|
+
assert_equal(n, YAML.load(YAML.dump(n), **keyword_params))
|
221
227
|
end
|
222
228
|
end
|
223
229
|
|
@@ -702,12 +708,12 @@ EOS
|
|
702
708
|
def test_new_from_bigdecimal
|
703
709
|
["+Infinity", "-Infinity", "NaN"].each do |n|
|
704
710
|
assert_raises TypeError do
|
705
|
-
OraNumber.new(BigDecimal
|
711
|
+
OraNumber.new(BigDecimal(n))
|
706
712
|
end
|
707
713
|
end
|
708
714
|
|
709
715
|
LARGE_RANGE_VALUES.each do |val|
|
710
|
-
assert_equal(val, OraNumber.new(BigDecimal
|
716
|
+
assert_equal(val, OraNumber.new(BigDecimal(val)).to_s)
|
711
717
|
end
|
712
718
|
end
|
713
719
|
|
@@ -738,9 +744,9 @@ EOS
|
|
738
744
|
LARGE_RANGE_VALUES
|
739
745
|
end
|
740
746
|
|
741
|
-
def
|
742
|
-
assert_equal(false, OraNumber(10.0).
|
743
|
-
assert_equal(true, OraNumber(10.1).
|
747
|
+
def test_has_fractional_part
|
748
|
+
assert_equal(false, OraNumber(10.0).has_fractional_part?)
|
749
|
+
assert_equal(true, OraNumber(10.1).has_fractional_part?)
|
744
750
|
end
|
745
751
|
|
746
752
|
def test_float_conversion_type_ruby
|
data/test/test_package_type.rb
CHANGED
@@ -639,7 +639,11 @@ class TestPackageType < Minitest::Test
|
|
639
639
|
:sub_name => "TABLE_OF_PLS_INTEGER",
|
640
640
|
:link => "",
|
641
641
|
#:type_metadata => nil,
|
642
|
-
:arguments =>
|
642
|
+
:arguments => ($oracle_server_version >= OCI8::ORAVER_18) ?
|
643
|
+
{
|
644
|
+
:class => Array,
|
645
|
+
:size => 0,
|
646
|
+
} : {
|
643
647
|
:class => Array,
|
644
648
|
:size => 1,
|
645
649
|
[0] => {
|
@@ -729,7 +733,11 @@ class TestPackageType < Minitest::Test
|
|
729
733
|
:sub_name => "TABLE_OF_REC1",
|
730
734
|
:link => "",
|
731
735
|
#:type_metadata => nil,
|
732
|
-
:arguments =>
|
736
|
+
:arguments => ($oracle_server_version >= OCI8::ORAVER_18) ?
|
737
|
+
{
|
738
|
+
:class => Array,
|
739
|
+
:size => 0,
|
740
|
+
} : {
|
733
741
|
:class => Array,
|
734
742
|
:size => 1,
|
735
743
|
[0] => {
|
@@ -846,7 +854,11 @@ class TestPackageType < Minitest::Test
|
|
846
854
|
:sub_name => "TABLE_OF_REC1",
|
847
855
|
:link => "",
|
848
856
|
#:type_metadata => nil,
|
849
|
-
:arguments =>
|
857
|
+
:arguments => ($oracle_server_version >= OCI8::ORAVER_18) ?
|
858
|
+
{
|
859
|
+
:class => Array,
|
860
|
+
:size => 0,
|
861
|
+
} : {
|
850
862
|
:class => Array,
|
851
863
|
:size => 1,
|
852
864
|
[0] => {
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'oci8'
|
2
|
+
require File.dirname(__FILE__) + '/config'
|
3
|
+
|
4
|
+
class TestProperties < Minitest::Test
|
5
|
+
def test_tcp_keepalive_time
|
6
|
+
begin
|
7
|
+
oldval = OCI8.properties[:tcp_keepalive_time]
|
8
|
+
begin
|
9
|
+
OCI8.properties[:tcp_keepalive_time] = 600
|
10
|
+
assert(true)
|
11
|
+
ensure
|
12
|
+
OCI8.properties[:tcp_keepalive_time] = oldval
|
13
|
+
end
|
14
|
+
rescue NotImplementedError
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
metadata
CHANGED
@@ -1,35 +1,27 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-oci8
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 2
|
7
|
-
- 2
|
8
|
-
- 3
|
9
|
-
version: 2.2.3
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.2.12
|
10
5
|
platform: ruby
|
11
|
-
authors:
|
6
|
+
authors:
|
12
7
|
- Kubo Takehiro
|
13
8
|
autorequire:
|
14
9
|
bindir: bin
|
15
10
|
cert_chain: []
|
16
|
-
|
17
|
-
date: 2016-12-27 00:00:00 +09:00
|
18
|
-
default_executable:
|
11
|
+
date: 2022-12-30 00:00:00.000000000 Z
|
19
12
|
dependencies: []
|
13
|
+
description: 'ruby-oci8 is a ruby interface for Oracle using OCI8 API. It is available
|
14
|
+
with Oracle 10g or later including Oracle Instant Client.
|
20
15
|
|
21
|
-
|
22
|
-
ruby-oci8 is a ruby interface for Oracle using OCI8 API. It is available with Oracle 10g or later including Oracle Instant Client.
|
23
|
-
|
16
|
+
'
|
24
17
|
email: kubo@jiubao.org
|
25
18
|
executables: []
|
26
|
-
|
27
|
-
extensions:
|
19
|
+
extensions:
|
28
20
|
- ext/oci8/extconf.rb
|
29
|
-
extra_rdoc_files:
|
21
|
+
extra_rdoc_files:
|
30
22
|
- README.md
|
31
|
-
files:
|
32
|
-
- .yardopts
|
23
|
+
files:
|
24
|
+
- ".yardopts"
|
33
25
|
- COPYING
|
34
26
|
- COPYING_old
|
35
27
|
- ChangeLog
|
@@ -37,17 +29,15 @@ files:
|
|
37
29
|
- NEWS
|
38
30
|
- README.md
|
39
31
|
- dist-files
|
40
|
-
- metaconfig
|
41
|
-
- pre-distclean.rb
|
42
|
-
- ruby-oci8.gemspec
|
43
|
-
- setup.rb
|
44
32
|
- docs/bind-array-to-in_cond.md
|
33
|
+
- docs/conflicts-local-connections-and-processes.md
|
34
|
+
- docs/hanging-after-inactivity.md
|
45
35
|
- docs/install-binary-package.md
|
46
36
|
- docs/install-full-client.md
|
47
37
|
- docs/install-instant-client.md
|
48
38
|
- docs/install-on-osx.md
|
49
|
-
- docs/
|
50
|
-
- docs/
|
39
|
+
- docs/ldap-auth-and-function-interposition.md
|
40
|
+
- docs/number-type-mapping.md
|
51
41
|
- docs/platform-specific-issues.md
|
52
42
|
- docs/report-installation-issue.md
|
53
43
|
- docs/timeout-parameters.md
|
@@ -89,8 +79,8 @@ files:
|
|
89
79
|
- ext/oci8/util.c
|
90
80
|
- ext/oci8/win32.c
|
91
81
|
- lib/.document
|
92
|
-
- lib/oci8.rb
|
93
82
|
- lib/dbd/OCI8.rb
|
83
|
+
- lib/oci8.rb
|
94
84
|
- lib/oci8/.document
|
95
85
|
- lib/oci8/bindtype.rb
|
96
86
|
- lib/oci8/check_load_error.rb
|
@@ -108,13 +98,20 @@ files:
|
|
108
98
|
- lib/oci8/properties.rb
|
109
99
|
- lib/oci8/version.rb
|
110
100
|
- lib/ruby-oci8.rb
|
111
|
-
-
|
101
|
+
- metaconfig
|
102
|
+
- pre-distclean.rb
|
103
|
+
- ruby-oci8.gemspec
|
104
|
+
- setup.rb
|
105
|
+
- test/README.md
|
112
106
|
- test/config.rb
|
113
107
|
- test/setup_test_object.sql
|
108
|
+
- test/setup_test_package.sql
|
114
109
|
- test/test_all.rb
|
115
110
|
- test/test_appinfo.rb
|
116
111
|
- test/test_array_dml.rb
|
117
112
|
- test/test_bind_array.rb
|
113
|
+
- test/test_bind_boolean.rb
|
114
|
+
- test/test_bind_integer.rb
|
118
115
|
- test/test_bind_raw.rb
|
119
116
|
- test/test_bind_string.rb
|
120
117
|
- test/test_bind_time.rb
|
@@ -122,10 +119,10 @@ files:
|
|
122
119
|
- test/test_clob.rb
|
123
120
|
- test/test_connection_pool.rb
|
124
121
|
- test/test_connstr.rb
|
125
|
-
- test/test_encoding.rb
|
126
122
|
- test/test_datetime.rb
|
127
123
|
- test/test_dbi.rb
|
128
124
|
- test/test_dbi_clob.rb
|
125
|
+
- test/test_encoding.rb
|
129
126
|
- test/test_error.rb
|
130
127
|
- test/test_metadata.rb
|
131
128
|
- test/test_object.rb
|
@@ -134,41 +131,30 @@ files:
|
|
134
131
|
- test/test_oradate.rb
|
135
132
|
- test/test_oranumber.rb
|
136
133
|
- test/test_package_type.rb
|
134
|
+
- test/test_properties.rb
|
137
135
|
- test/test_rowid.rb
|
138
|
-
has_rdoc: true
|
139
136
|
homepage: http://www.rubydoc.info/github/kubo/ruby-oci8
|
140
|
-
licenses:
|
137
|
+
licenses:
|
141
138
|
- BSD-2-Clause
|
139
|
+
metadata: {}
|
142
140
|
post_install_message:
|
143
141
|
rdoc_options: []
|
144
|
-
|
145
|
-
require_paths:
|
142
|
+
require_paths:
|
146
143
|
- lib
|
147
|
-
|
148
|
-
|
149
|
-
none: false
|
150
|
-
requirements:
|
144
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
151
146
|
- - ">="
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
segments:
|
154
|
-
- 1
|
155
|
-
- 9
|
156
|
-
- 1
|
147
|
+
- !ruby/object:Gem::Version
|
157
148
|
version: 1.9.1
|
158
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
|
-
|
160
|
-
requirements:
|
149
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
161
151
|
- - ">="
|
162
|
-
- !ruby/object:Gem::Version
|
163
|
-
|
164
|
-
- 0
|
165
|
-
version: "0"
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
166
154
|
requirements: []
|
167
|
-
|
168
|
-
rubyforge_project:
|
169
|
-
rubygems_version: 1.3.7
|
155
|
+
rubygems_version: 3.4.1
|
170
156
|
signing_key:
|
171
|
-
specification_version:
|
157
|
+
specification_version: 4
|
172
158
|
summary: Ruby interface for Oracle using OCI8 API
|
173
|
-
test_files:
|
159
|
+
test_files:
|
174
160
|
- test/test_all.rb
|
Binary file
|
data/test/README
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
Before runing unit test:
|
2
|
-
|
3
|
-
1. connect to Oracle as system:
|
4
|
-
|
5
|
-
$ sqlplus system/<password_of_system>
|
6
|
-
|
7
|
-
2. create user ruby:
|
8
|
-
|
9
|
-
SQL> CREATE USER ruby IDENTIFIED BY oci8;
|
10
|
-
|
11
|
-
or
|
12
|
-
|
13
|
-
SQL> CREATE USER ruby IDENTIFIED BY oci8
|
14
|
-
2 DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
|
15
|
-
|
16
|
-
3. grant the privilege to connect and execute.
|
17
|
-
|
18
|
-
SQL> GRANT connect, resource, create view TO ruby;
|
19
|
-
|
20
|
-
4. connect to Oracle as sys
|
21
|
-
|
22
|
-
$ sqlplus 'sys/<password_of_sys> as sysdba'
|
23
|
-
|
24
|
-
5. grant privileges
|
25
|
-
|
26
|
-
SQL> GRANT EXECUTE ON dbms_lock TO ruby;
|
27
|
-
SQL> GRANT CREATE VIEW TO ruby;
|
28
|
-
|
29
|
-
6. connect as ruby user.
|
30
|
-
|
31
|
-
$ sqlplus ruby/oci8
|
32
|
-
|
33
|
-
7. Create object types
|
34
|
-
|
35
|
-
SQL> @test/setup_test_object.sql
|
36
|
-
|
37
|
-
8. change $dbname if the database
|
38
|
-
|
39
|
-
Then you can run:
|
40
|
-
$ make check
|
41
|
-
or
|
42
|
-
$ nmake check (If your compiler is MS Visual C++.)
|