ruby-oci8 2.2.4.1 → 2.2.11
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 +7 -0
- data/ChangeLog +311 -1
- data/NEWS +278 -46
- data/README.md +5 -2
- data/dist-files +8 -4
- data/docs/bind-array-to-in_cond.md +1 -1
- data/docs/install-instant-client.md +2 -1
- data/docs/install-on-osx.md +29 -116
- data/docs/ldap-auth-and-function-interposition.md +123 -0
- data/docs/number-type-mapping.md +79 -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/error.c +18 -33
- data/ext/oci8/extconf.rb +7 -4
- data/ext/oci8/hook_funcs.c +128 -51
- 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 +27 -119
- data/ext/oci8/oci8.h +21 -3
- data/ext/oci8/oci8lib.c +50 -37
- data/ext/oci8/ocihandle.c +2 -2
- data/ext/oci8/ocinumber.c +22 -16
- data/ext/oci8/oraconf.rb +130 -257
- data/ext/oci8/oradate.c +1 -1
- data/ext/oci8/plthook_elf.c +384 -300
- data/ext/oci8/plthook_osx.c +10 -10
- data/ext/oci8/stmt.c +51 -16
- 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 +48 -17
- data/lib/oci8/metadata.rb +9 -1
- data/lib/oci8/object.rb +10 -0
- data/lib/oci8/oci8.rb +26 -25
- data/lib/oci8/oracle_version.rb +11 -1
- data/lib/oci8/version.rb +1 -1
- data/lib/oci8.rb +11 -4
- data/lib/ruby-oci8.rb +0 -3
- data/ruby-oci8.gemspec +2 -3
- 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 +1 -0
- data/test/test_bind_boolean.rb +99 -0
- data/test/test_break.rb +11 -9
- data/test/test_clob.rb +4 -16
- data/test/test_datetime.rb +8 -3
- data/test/test_object.rb +33 -9
- data/test/test_oci8.rb +169 -45
- data/test/test_oranumber.rb +12 -6
- data/test/test_package_type.rb +15 -3
- data/test/test_properties.rb +17 -0
- metadata +40 -57
- data/docs/osx-install-dev-tools.png +0 -0
- data/test/README +0 -42
data/NEWS
CHANGED
@@ -1,7 +1,239 @@
|
|
1
1
|
# @markup markdown
|
2
2
|
|
3
|
-
2.2.
|
4
|
-
|
3
|
+
2.2.11 (2022-02-22)
|
4
|
+
===================
|
5
|
+
|
6
|
+
- Fix "No DLL is not foud to hook" when `OCI8.properties[:tcp_keepalive_time]` is set and Oracle client is 21c on Windows.
|
7
|
+
|
8
|
+
(reported at rsim/oracle-enhanced#2262)
|
9
|
+
|
10
|
+
- Fix "OCI8.properties[:tcp_keepalive_time] isn't available" error when ruby version is 3.1 on Windows.
|
11
|
+
|
12
|
+
2.2.10 (2022-01-12)
|
13
|
+
===================
|
14
|
+
|
15
|
+
- Use `File.exist?` instead of removed `File.exists?` in Ruby 3.2 (GH-242)
|
16
|
+
|
17
|
+
(contributed by Yasuo Honda)
|
18
|
+
|
19
|
+
- Support ruby 3.1 distributed by rubyinstaller.org
|
20
|
+
|
21
|
+
- Remove code for obsolete platforms
|
22
|
+
- Ruby compiled by Borland C++
|
23
|
+
- macOS released several years ago
|
24
|
+
|
25
|
+
- Detect arm64 macOS shared library in oraconf.rb in preparation for Instant Client for Apple Silicon release.
|
26
|
+
|
27
|
+
2.2.9 (2020-12-30)
|
28
|
+
==================
|
29
|
+
|
30
|
+
- Support [TruffleRuby](https://github.com/oracle/truffleruby). (GH-225)
|
31
|
+
|
32
|
+
(contributed by Brandon Fish)
|
33
|
+
|
34
|
+
- Remove extension libraries for unmaintained ruby versions from binary gems.
|
35
|
+
|
36
|
+
Fixed issue
|
37
|
+
-----------
|
38
|
+
|
39
|
+
- Allow --with-instant-client-dir along with --with-instant-client-lib/include. (GH-223)
|
40
|
+
|
41
|
+
(reported by Victor Nawothnig)
|
42
|
+
|
43
|
+
2.2.8 (2020-01-11)
|
44
|
+
==================
|
45
|
+
|
46
|
+
New features
|
47
|
+
------------
|
48
|
+
|
49
|
+
* Add support to specify include and lib directories of Oracle library on installation. (GH-210)
|
50
|
+
|
51
|
+
The following three flags are added.
|
52
|
+
|
53
|
+
* --with-instant-client-dir
|
54
|
+
* --with-instant-client-include
|
55
|
+
* --with-instant-client-lib
|
56
|
+
|
57
|
+
Fixed issue
|
58
|
+
-----------
|
59
|
+
|
60
|
+
- Suppress warnings compiling oci8lib.so (GH-212 and others)
|
61
|
+
|
62
|
+
- Fix compilation and tests on Windows.
|
63
|
+
|
64
|
+
- Fix spelling in install-instant-client.md (GH-217)
|
65
|
+
|
66
|
+
- Use fiddler instead obsolete Win32API on Windows (GH-212)
|
67
|
+
|
68
|
+
2.2.7 (2019-01-06)
|
69
|
+
==================
|
70
|
+
|
71
|
+
Incompatible Changes
|
72
|
+
--------------------
|
73
|
+
|
74
|
+
### `OCI8#long_read_len` and `OCI8#long_read_len=` do nothing.
|
75
|
+
|
76
|
+
When `LONG`, `LONG RAW` or `XMLTYPE` data were fetched, the data were
|
77
|
+
truncated at `OCI8#long_read_len`. The maximum size of data had
|
78
|
+
been 4 gigabytes since this release.
|
79
|
+
|
80
|
+
`OCI8#long_read_len` and `OCI8#long_read_len=` remain for code-compatibility
|
81
|
+
but do nothing.
|
82
|
+
|
83
|
+
Improvement
|
84
|
+
-----------
|
85
|
+
|
86
|
+
### The number of network round trips was reduced when LOB data are read.
|
87
|
+
|
88
|
+
When LOB data are read, ruby-oci8 before 2.2.7 does the followings:
|
89
|
+
|
90
|
+
1. Gets the size of the LOB.
|
91
|
+
2. Allocate buffer to hold the data.
|
92
|
+
3. Read the LOB contents.
|
93
|
+
|
94
|
+
This requires two round trips.
|
95
|
+
|
96
|
+
It now does the followings:
|
97
|
+
|
98
|
+
1. Request the server to get LOB contents up to 4 gigabytes.
|
99
|
+
2. Read the LOB contents and allocate buffer when the size is insufficient.
|
100
|
+
3. If the total length of received data is less than 4 gigabytes, all data
|
101
|
+
are read. If not, go to the first step to read next 4 gigabytes.
|
102
|
+
|
103
|
+
This requires only one round trip if the size is less than 4 gigabytes.
|
104
|
+
|
105
|
+
### Use array fetching instead of prefetching when LOB columns are in queries
|
106
|
+
|
107
|
+
When LOB columns are in queries, prefetching doesn't seem to work. Rows
|
108
|
+
are fetched one by one according to data captured by network packet sniffer.
|
109
|
+
So array fetching is used instead of prefetching to reduce the number of
|
110
|
+
network round trips.
|
111
|
+
|
112
|
+
### Add error diagnostics when `'require "oci8"'` fails on Windows.
|
113
|
+
|
114
|
+
When `'require "oci8"'` fails with "OCI.DLL: 126(The specified module could not be found.)"
|
115
|
+
on Windows, the cause is not always that OCI.DLL is not found. It may
|
116
|
+
be incorrect architecture, missing dependent DLLs and so on.
|
117
|
+
Ruby-oci8 checks PATH and DLL files when the error is raised and change
|
118
|
+
the error message to reasonable one as possible.
|
119
|
+
|
120
|
+
2.2.6.1 (2018-09-16)
|
121
|
+
====================
|
122
|
+
|
123
|
+
Fixed issue
|
124
|
+
-----------
|
125
|
+
Fix "No shared library is found to hook." on macOS.
|
126
|
+
(rsim/oracle-enhanced#1768)
|
127
|
+
|
128
|
+
2.2.6 (2018-08-22)
|
129
|
+
==================
|
130
|
+
|
131
|
+
This release fixed issues about Oracle 18c except one.
|
132
|
+
|
133
|
+
Fixed issue
|
134
|
+
-----------
|
135
|
+
|
136
|
+
### Setting some properties failed with Oracle 18c client
|
137
|
+
|
138
|
+
Setting `OCI8::properties[:tcp_keepalive_time]` or `OCI8::properties[:cancel_read_at_exit]`
|
139
|
+
failed with the error message "No shared library is found to hook" when Oracle
|
140
|
+
client version is 18c.
|
141
|
+
(rsim/oracle-enhanced#1754)
|
142
|
+
|
143
|
+
### Fix `OCI8#oracle_server_version` to get full version of Oracle 18c
|
144
|
+
|
145
|
+
`OCI8#oracle_server_version` returned Oracle version number whose
|
146
|
+
number components after the first dot are zeros such as '18.0.0.0.0'
|
147
|
+
even when the server version is `18.3.0.0.0`. This issue was fixed by
|
148
|
+
using a new OCI function. However the function is available since
|
149
|
+
Oracle 18c client. So when the Oracle client version is 12c or earlier
|
150
|
+
and the Oracle server version is 18c or later, it cannot get the *full*
|
151
|
+
Oracle version number.
|
152
|
+
|
153
|
+
### Fix tests when the Oracle server version is 18c.
|
154
|
+
|
155
|
+
### LOB#sync, LOB#sync= and LOB#flush do nothing now.
|
156
|
+
|
157
|
+
They have not worked by mistake from the beginning because incorrect
|
158
|
+
arguments has been passed to OCILobOpen(). Moreover it crashed Oracle
|
159
|
+
18c server-side processes and caused "ORA-03113: end-of-file on
|
160
|
+
communication channel."
|
161
|
+
(github issue #198)
|
162
|
+
|
163
|
+
### `unsupported typecode timestamp` when timestamp with time zone is in object type attributes.
|
164
|
+
|
165
|
+
(github issue #185)
|
166
|
+
|
167
|
+
2.2.5.1 (2017-12-27)
|
168
|
+
====================
|
169
|
+
|
170
|
+
No updates except tests. The version number was changed just to release
|
171
|
+
binary gems for ruby 2.5 on Windows.
|
172
|
+
|
173
|
+
### Suppress warnings in tests with ruby 2.5
|
174
|
+
|
175
|
+
(github issue #180, #181)
|
176
|
+
|
177
|
+
2.2.5 (2017-10-21)
|
178
|
+
==================
|
179
|
+
|
180
|
+
New Features
|
181
|
+
------------
|
182
|
+
|
183
|
+
### Try to load $ORACLE_HOME/lib/libclntsh.so also when runtime api check is enabled on Unix.
|
184
|
+
|
185
|
+
When ruby-oci8 is configured with `--with-runtime-check`, it loads Oracle client
|
186
|
+
library and checks available functions in the library at runtime. This feature was
|
187
|
+
added to release Windows binary gems which cannot know Oracle version at compile time.
|
188
|
+
This is available also on Unix. However it tries to load libraries in LD_LIBRARY_PATH only.
|
189
|
+
From this version, it tries to load $ORACLE_HOME/lib/libclntsh.so also.
|
190
|
+
|
191
|
+
### Check error reasons when loading failed with 'The specified module could not be found' on Windows.
|
192
|
+
|
193
|
+
The error messages are same when OCI.DLL isn't found and when Visual
|
194
|
+
C++ runtime library depended on by OCI.DLL isn't found. From this
|
195
|
+
version, ruby-oci8 distinguishes the difference and prints other message
|
196
|
+
for the latter case.
|
197
|
+
|
198
|
+
Fixed issue
|
199
|
+
-----------
|
200
|
+
|
201
|
+
### Fix segmentation fault when Oracle client library is prelinked.
|
202
|
+
|
203
|
+
When Oracle instant client rpm package is used on RHEL5 or RHEL6,
|
204
|
+
Oracle client library is modified by [prelink][] and ruby-oci8 crashed
|
205
|
+
with segmentation fault. This is not due to Oracle, but due to
|
206
|
+
plthook used by ruby-oci8. The plthook was fixed to work with
|
207
|
+
prelinked libraries.
|
208
|
+
(github issue #172)
|
209
|
+
|
210
|
+
[prelink]: https://en.wikipedia.org/wiki/Prelink#Linux
|
211
|
+
|
212
|
+
### Fix not to hide the original error message of LoadError on recent cygwin.
|
213
|
+
|
214
|
+
Ruby-oci8 tries to check error messages when `require 'oci8lib_xxx.so` fails.
|
215
|
+
However the message was hidden by an exception while checking on cygwin.
|
216
|
+
(github issue #176)
|
217
|
+
|
218
|
+
### Don't call unnecessary __paramGet(i) when a cursor is executed more than once.
|
219
|
+
|
220
|
+
pointed by OMOTO Kenji
|
221
|
+
(github issue #171)
|
222
|
+
|
223
|
+
### Suppress warning: method redefined; discarding old initialize.
|
224
|
+
|
225
|
+
(github issue #168)
|
226
|
+
|
227
|
+
Other Changes
|
228
|
+
-------------
|
229
|
+
|
230
|
+
### Add document about the mapping between Oracle number types and Ruby classes.
|
231
|
+
|
232
|
+
See {file:docs/number-type-mapping.md Number Type Mapping between Oracle and Ruby}.
|
233
|
+
(github issue #173)
|
234
|
+
|
235
|
+
2.2.4.1 (2017-06-17)
|
236
|
+
====================
|
5
237
|
|
6
238
|
Fixed issue
|
7
239
|
-----------
|
@@ -15,8 +247,8 @@ differently, it may cause unexpected behavior.
|
|
15
247
|
|
16
248
|
### Fix compilation errors in 2.2.4 on cygwin
|
17
249
|
|
18
|
-
2.2.4
|
19
|
-
|
250
|
+
2.2.4 (2017-06-11)
|
251
|
+
==================
|
20
252
|
|
21
253
|
New Features
|
22
254
|
------------
|
@@ -54,8 +286,8 @@ Use Win32::Registry instead of Win32API to compile ruby-oci8 on the latest cygwi
|
|
54
286
|
|
55
287
|
(contributed by davidbrs. [github issue #156](https://github.com/kubo/ruby-oci8/issues/156))
|
56
288
|
|
57
|
-
2.2.3
|
58
|
-
|
289
|
+
2.2.3 (2016-12-27)
|
290
|
+
==================
|
59
291
|
|
60
292
|
New Features
|
61
293
|
------------
|
@@ -68,8 +300,8 @@ New Features
|
|
68
300
|
- Suppress warnings outputted by Minitest in ruby 2.4.0
|
69
301
|
- Suppress warnings when compiling with ruby 2.4.0
|
70
302
|
|
71
|
-
2.2.2
|
72
|
-
|
303
|
+
2.2.2 (2016-04-24)
|
304
|
+
==================
|
73
305
|
|
74
306
|
New Features
|
75
307
|
------------
|
@@ -115,8 +347,8 @@ Other Changes
|
|
115
347
|
- Check the default value of DYLD_FALLBACK_LIBRARY_PATH after checking OCI_DIR on installation. (OS X only)
|
116
348
|
|
117
349
|
|
118
|
-
2.2.1
|
119
|
-
|
350
|
+
2.2.1 (2015-11-01)
|
351
|
+
==================
|
120
352
|
|
121
353
|
New Features
|
122
354
|
------------
|
@@ -144,16 +376,16 @@ Other Changes
|
|
144
376
|
|
145
377
|
- Delete unused code which was added to support old Oracle and ruby 1.8.
|
146
378
|
|
147
|
-
2.2.0.2
|
148
|
-
|
379
|
+
2.2.0.2 (2015-10-12)
|
380
|
+
====================
|
149
381
|
|
150
382
|
Nothing was changed except the version.
|
151
383
|
|
152
384
|
The forth version was incremented to release binary gems for mingw32.
|
153
385
|
The binary gems for 2.2.0.1 didn't work by faultily packaging.
|
154
386
|
|
155
|
-
2.2.0.1
|
156
|
-
|
387
|
+
2.2.0.1 (2015-10-11)
|
388
|
+
====================
|
157
389
|
|
158
390
|
If ruby-oci8 2.2.0 is installed, you have no need to update it to
|
159
391
|
2.2.0.1. Source code itself was not changed between 2.2.0 and 2.2.0.1.
|
@@ -169,8 +401,8 @@ Ruby-oci8 2.2.0 documents had not been generated in rubydoc.info
|
|
169
401
|
though the URLs are displayed on installation failure. They were
|
170
402
|
changed to documents generated by the latest github repository.
|
171
403
|
|
172
|
-
2.2.0
|
173
|
-
|
404
|
+
2.2.0 (2015-10-04)
|
405
|
+
==================
|
174
406
|
|
175
407
|
### Drop ruby 1.8 support
|
176
408
|
|
@@ -211,8 +443,8 @@ Other Changes
|
|
211
443
|
- Add OCI8.charset_name2id and OCI8.charset_id2name.
|
212
444
|
Mark OCI8#charset_name2id and OCI8#charset_id2name as deprecated.
|
213
445
|
|
214
|
-
2.1.8
|
215
|
-
|
446
|
+
2.1.8 (2015-04-04)
|
447
|
+
==================
|
216
448
|
|
217
449
|
New Features
|
218
450
|
------------
|
@@ -272,8 +504,8 @@ Fixed Issues
|
|
272
504
|
- Don't use SYM2ID on ruby 2.2.0 or later not to make symbols unGCable
|
273
505
|
by [Symbol GC](http://www.infoq.com/news/2014/12/ruby-2.2.0-released).
|
274
506
|
|
275
|
-
2.1.7
|
276
|
-
|
507
|
+
2.1.7 (2014-02-02)
|
508
|
+
==================
|
277
509
|
|
278
510
|
New Features
|
279
511
|
------------
|
@@ -285,8 +517,8 @@ Fixed Issues
|
|
285
517
|
|
286
518
|
- Fix OCI8#describe_table to follow synonyms in a remote database.
|
287
519
|
|
288
|
-
2.1.6
|
289
|
-
|
520
|
+
2.1.6 (2013-12-29)
|
521
|
+
==================
|
290
522
|
|
291
523
|
New Features
|
292
524
|
------------
|
@@ -326,8 +558,8 @@ Fixed Issues
|
|
326
558
|
- fix SEGV when one connection is used by more than two threads and temporary
|
327
559
|
lobs are freed by GC.
|
328
560
|
|
329
|
-
2.1.5
|
330
|
-
|
561
|
+
2.1.5 (2013-03-09)
|
562
|
+
==================
|
331
563
|
|
332
564
|
New Features
|
333
565
|
------------
|
@@ -347,8 +579,8 @@ Fixed Issues
|
|
347
579
|
instant client is 11.2.0.3 for Solaris x86 32-bit, the ruby
|
348
580
|
version is 1.9.3 or upper and the ruby is compiled by gcc.
|
349
581
|
|
350
|
-
2.1.4
|
351
|
-
|
582
|
+
2.1.4 (2013-01-06)
|
583
|
+
==================
|
352
584
|
|
353
585
|
New Features
|
354
586
|
------------
|
@@ -388,8 +620,8 @@ Fixed Issues
|
|
388
620
|
|
389
621
|
(reported by Brian Henderson)
|
390
622
|
|
391
|
-
2.1.3
|
392
|
-
|
623
|
+
2.1.3 (2012-11-11)
|
624
|
+
==================
|
393
625
|
|
394
626
|
New Features
|
395
627
|
------------
|
@@ -446,8 +678,8 @@ Fixed Issues
|
|
446
678
|
- Fix #<NoMethodError: undefined method `timezone' for Time:Class>
|
447
679
|
when ruby is less than 1.9.2 and an object type's time attribute is accessed.
|
448
680
|
|
449
|
-
2.1.2
|
450
|
-
|
681
|
+
2.1.2 (2012-04-28)
|
682
|
+
==================
|
451
683
|
|
452
684
|
Specification changes
|
453
685
|
---------------------
|
@@ -468,8 +700,8 @@ Fixed Issues
|
|
468
700
|
|
469
701
|
(reported by Yasuo Honda)
|
470
702
|
|
471
|
-
2.1.1
|
472
|
-
|
703
|
+
2.1.1 (2012-04-22)
|
704
|
+
==================
|
473
705
|
|
474
706
|
New Features
|
475
707
|
------------
|
@@ -516,8 +748,8 @@ Fixed Issues
|
|
516
748
|
|
517
749
|
(repored by Leoš Bitto)
|
518
750
|
|
519
|
-
2.1.0
|
520
|
-
|
751
|
+
2.1.0 (2011-12-13)
|
752
|
+
==================
|
521
753
|
|
522
754
|
New Features
|
523
755
|
------------
|
@@ -632,8 +864,8 @@ Fixed Issues
|
|
632
864
|
|
633
865
|
(reported by jbirdjavi)
|
634
866
|
|
635
|
-
2.0.6
|
636
|
-
|
867
|
+
2.0.6 (2011-06-14)
|
868
|
+
==================
|
637
869
|
|
638
870
|
Fixed issues
|
639
871
|
------------
|
@@ -644,8 +876,8 @@ Fixed issues
|
|
644
876
|
a closed OCI handle's method is called. It was chaned in 2.0.5
|
645
877
|
by mistake.
|
646
878
|
|
647
|
-
2.0.5
|
648
|
-
|
879
|
+
2.0.5 (2011-06-12)
|
880
|
+
==================
|
649
881
|
|
650
882
|
New Features
|
651
883
|
------------
|
@@ -733,8 +965,8 @@ Fixed issues
|
|
733
965
|
|
734
966
|
(reported by Sebastian YEPES)
|
735
967
|
|
736
|
-
2.0.4
|
737
|
-
|
968
|
+
2.0.4 (2010-02-28)
|
969
|
+
==================
|
738
970
|
|
739
971
|
New Features
|
740
972
|
------------
|
@@ -795,8 +1027,8 @@ Fixed issues
|
|
795
1027
|
|
796
1028
|
(reported by Raimonds Simanovskis)
|
797
1029
|
|
798
|
-
2.0.3
|
799
|
-
|
1030
|
+
2.0.3 (2009-10-21)
|
1031
|
+
==================
|
800
1032
|
|
801
1033
|
Incompatible Changes
|
802
1034
|
--------------------
|
@@ -936,8 +1168,8 @@ Fixed installation issues
|
|
936
1168
|
|
937
1169
|
(reported by Kazuya Teramoto)
|
938
1170
|
|
939
|
-
2.0.2
|
940
|
-
|
1171
|
+
2.0.2 (2009-05-17)
|
1172
|
+
==================
|
941
1173
|
|
942
1174
|
* add new methods
|
943
1175
|
- {OCI8#select_one}
|
@@ -977,8 +1209,8 @@ Fixed installation issues
|
|
977
1209
|
* [ruby 1.9] fix to bind string data by the length got from String#bytesize
|
978
1210
|
converted to {OCI8.encoding}, not by String#size.
|
979
1211
|
|
980
|
-
2.0.1
|
981
|
-
|
1212
|
+
2.0.1 (2009-03-17)
|
1213
|
+
==================
|
982
1214
|
|
983
1215
|
* release a binary gem for Windows, which contains libraries for both
|
984
1216
|
ruby 1.8 and ruby 1.9.1.
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@ Ruby-oci8
|
|
2
2
|
=========
|
3
3
|
|
4
4
|
[](http://badge.fury.io/rb/ruby-oci8)
|
5
|
-
[](https://github.com/kubo/ruby-oci8/actions/workflows/tests.yml)
|
6
6
|
|
7
7
|
What is ruby-oci8
|
8
8
|
-----------------
|
@@ -24,7 +24,9 @@ See {file:NEWS}.
|
|
24
24
|
Sample one-liner
|
25
25
|
----------------
|
26
26
|
|
27
|
-
|
27
|
+
When you have an Oracle database server to which `sqlplus scott/tiger` can connect
|
28
|
+
and `scott` user has `emp` table, you can select `emp` and print rows
|
29
|
+
as CSV by the followig one liner.
|
28
30
|
|
29
31
|
ruby -r oci8 -e "OCI8.new('scott', 'tiger').exec('select * from emp') do |r| puts r.join(','); end"
|
30
32
|
|
@@ -50,6 +52,7 @@ Report issues
|
|
50
52
|
Other documents
|
51
53
|
---------------
|
52
54
|
|
55
|
+
* {file:docs/number-type-mapping.md Number Type Mapping between Oracle and Ruby}
|
53
56
|
* {file:docs/timeout-parameters.md Timeout Parameters}
|
54
57
|
* {file:docs/conflicts-local-connections-and-processes.md Conflicts between Local Connections and Child Process Handling on Unix}
|
55
58
|
* {file:docs/hanging-after-inactivity.md Hanging After a Long Period of Inactivity}
|
data/dist-files
CHANGED
@@ -11,13 +11,14 @@ pre-distclean.rb
|
|
11
11
|
ruby-oci8.gemspec
|
12
12
|
setup.rb
|
13
13
|
docs/bind-array-to-in_cond.md
|
14
|
+
docs/conflicts-local-connections-and-processes.md
|
15
|
+
docs/hanging-after-inactivity.md
|
14
16
|
docs/install-binary-package.md
|
15
17
|
docs/install-full-client.md
|
16
18
|
docs/install-instant-client.md
|
17
19
|
docs/install-on-osx.md
|
18
|
-
docs/
|
19
|
-
docs/
|
20
|
-
docs/osx-install-dev-tools.png
|
20
|
+
docs/ldap-auth-and-function-interposition.md
|
21
|
+
docs/number-type-mapping.md
|
21
22
|
docs/platform-specific-issues.md
|
22
23
|
docs/report-installation-issue.md
|
23
24
|
docs/timeout-parameters.md
|
@@ -78,13 +79,15 @@ lib/oci8/oracle_version.rb
|
|
78
79
|
lib/oci8/properties.rb
|
79
80
|
lib/oci8/version.rb
|
80
81
|
lib/ruby-oci8.rb
|
81
|
-
test/README
|
82
|
+
test/README.md
|
82
83
|
test/config.rb
|
83
84
|
test/setup_test_object.sql
|
85
|
+
test/setup_test_package.sql
|
84
86
|
test/test_all.rb
|
85
87
|
test/test_appinfo.rb
|
86
88
|
test/test_array_dml.rb
|
87
89
|
test/test_bind_array.rb
|
90
|
+
test/test_bind_boolean.rb
|
88
91
|
test/test_bind_raw.rb
|
89
92
|
test/test_bind_string.rb
|
90
93
|
test/test_bind_time.rb
|
@@ -105,4 +108,5 @@ test/test_oracle_version.rb
|
|
105
108
|
test/test_oradate.rb
|
106
109
|
test/test_oranumber.rb
|
107
110
|
test/test_package_type.rb
|
111
|
+
test/test_properties.rb
|
108
112
|
test/test_rowid.rb
|
@@ -27,7 +27,7 @@ The above code is rewritten as follows:
|
|
27
27
|
|
28
28
|
ids = [ ... ] # an arbitrary-length array containing user IDs.
|
29
29
|
|
30
|
-
in_cond = OCI8::in_cond(:id, ids)
|
30
|
+
in_cond = OCI8::in_cond(:id, ids)
|
31
31
|
cursor = conn.exec("select * from users where id in (#{in_cond.names})", *in_cond.values)
|
32
32
|
|
33
33
|
or
|
@@ -18,7 +18,7 @@ Look at {file:docs/install-on-osx.md} for OS X.
|
|
18
18
|
Install Oracle Instant Client Packages
|
19
19
|
--------------------------------------
|
20
20
|
|
21
|
-
###
|
21
|
+
### Download Instant Client Packages
|
22
22
|
|
23
23
|
Download the following packages from [Oracle Technology Network](http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html).
|
24
24
|
|
@@ -110,6 +110,7 @@ Package" or copy a runtime library to the directory where `ruby.exe` resides.
|
|
110
110
|
|
111
111
|
| Oracle Version | Package | Runtime Library|
|
112
112
|
|---|---|---|
|
113
|
+
| 18.3 | [Microsoft Visual C++ 2013 Redistributable Package][2013] | MSVCR120.DLL |
|
113
114
|
| 12.2.0.x | [Microsoft Visual C++ 2013 Redistributable Package][2013] | MSVCR120.DLL |
|
114
115
|
| 12.1.0.x | [Microsoft Visual C++ 2010 Redistributable Package][2010] | MSVCR100.DLL |
|
115
116
|
| 11.2.0.x | Microsoft Visual C++ 2005 SP1 Redistributable Package ([x86][2005SP1_x86], [x64][2005SP1_x64]) | MSVCR80.DLL(The file version must be 8.0.50727.762.) |
|