ruby-oci8 2.2.0.2 → 2.2.12
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/.yardopts +1 -6
- data/ChangeLog +600 -0
- data/NEWS +426 -35
- data/README.md +27 -9
- data/dist-files +13 -2
- data/docs/bind-array-to-in_cond.md +38 -0
- data/docs/conflicts-local-connections-and-processes.md +98 -0
- 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 -117
- 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 +11 -8
- data/docs/timeout-parameters.md +94 -0
- data/ext/oci8/apiwrap.c.tmpl +2 -5
- data/ext/oci8/apiwrap.rb +6 -1
- data/ext/oci8/apiwrap.yml +39 -143
- data/ext/oci8/attr.c +4 -2
- data/ext/oci8/bind.c +421 -9
- 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 +35 -63
- data/ext/oci8/hook_funcs.c +274 -61
- data/ext/oci8/lob.c +31 -75
- data/ext/oci8/metadata.c +8 -6
- data/ext/oci8/object.c +119 -29
- data/ext/oci8/oci8.c +46 -133
- data/ext/oci8/oci8.h +40 -123
- data/ext/oci8/oci8lib.c +178 -46
- data/ext/oci8/ocihandle.c +37 -37
- data/ext/oci8/ocinumber.c +24 -35
- data/ext/oci8/oraconf.rb +168 -337
- 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 +16 -1
- data/ext/oci8/stmt.c +52 -17
- data/ext/oci8/win32.c +4 -22
- data/lib/oci8/bindtype.rb +10 -17
- data/lib/oci8/check_load_error.rb +57 -10
- data/lib/oci8/compat.rb +5 -1
- data/lib/oci8/connection_pool.rb +74 -3
- data/lib/oci8/cursor.rb +70 -31
- data/lib/oci8/metadata.rb +9 -1
- data/lib/oci8/object.rb +14 -1
- data/lib/oci8/oci8.rb +184 -58
- data/lib/oci8/ocihandle.rb +0 -16
- data/lib/oci8/oracle_version.rb +11 -1
- data/lib/oci8/properties.rb +55 -0
- data/lib/oci8/version.rb +1 -1
- data/lib/oci8.rb +48 -4
- data/lib/ruby-oci8.rb +1 -0
- data/pre-distclean.rb +1 -3
- data/ruby-oci8.gemspec +4 -9
- data/setup.rb +11 -2
- data/test/README.md +37 -0
- data/test/config.rb +8 -1
- data/test/setup_test_object.sql +42 -14
- data/test/setup_test_package.sql +59 -0
- data/test/test_all.rb +4 -0
- data/test/test_bind_array.rb +70 -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 +5 -17
- data/test/test_connstr.rb +142 -0
- data/test/test_datetime.rb +8 -3
- data/test/test_metadata.rb +2 -1
- data/test/test_object.rb +99 -18
- data/test/test_oci8.rb +170 -46
- data/test/test_oranumber.rb +12 -6
- data/test/test_package_type.rb +17 -3
- data/test/test_properties.rb +17 -0
- metadata +45 -55
- data/docs/osx-install-dev-tools.png +0 -0
- data/test/README +0 -42
data/NEWS
CHANGED
@@ -1,10 +1,401 @@
|
|
1
1
|
# @markup markdown
|
2
2
|
|
3
|
-
2.2.
|
4
|
-
|
3
|
+
2.2.12 (2022-12-30)
|
4
|
+
===================
|
5
|
+
|
6
|
+
- Fix warning: undefining the allocator of T_DATA class OraNumber against Ruby 3.2.0dev. (GH-243)
|
7
|
+
- Fix warnings on tests and on compile.
|
8
|
+
- Remove code for old ruby versions.
|
9
|
+
|
10
|
+
2.2.11 (2022-02-22)
|
11
|
+
===================
|
12
|
+
|
13
|
+
- Fix "No DLL is not foud to hook" when `OCI8.properties[:tcp_keepalive_time]` is set and Oracle client is 21c on Windows.
|
14
|
+
|
15
|
+
(reported at rsim/oracle-enhanced#2262)
|
16
|
+
|
17
|
+
- Fix "OCI8.properties[:tcp_keepalive_time] isn't available" error when ruby version is 3.1 on Windows.
|
18
|
+
|
19
|
+
2.2.10 (2022-01-12)
|
20
|
+
===================
|
21
|
+
|
22
|
+
- Use `File.exist?` instead of removed `File.exists?` in Ruby 3.2 (GH-242)
|
23
|
+
|
24
|
+
(contributed by Yasuo Honda)
|
25
|
+
|
26
|
+
- Support ruby 3.1 distributed by rubyinstaller.org
|
27
|
+
|
28
|
+
- Remove code for obsolete platforms
|
29
|
+
- Ruby compiled by Borland C++
|
30
|
+
- macOS released several years ago
|
31
|
+
|
32
|
+
- Detect arm64 macOS shared library in oraconf.rb in preparation for Instant Client for Apple Silicon release.
|
33
|
+
|
34
|
+
2.2.9 (2020-12-30)
|
35
|
+
==================
|
36
|
+
|
37
|
+
- Support [TruffleRuby](https://github.com/oracle/truffleruby). (GH-225)
|
38
|
+
|
39
|
+
(contributed by Brandon Fish)
|
40
|
+
|
41
|
+
- Remove extension libraries for unmaintained ruby versions from binary gems.
|
42
|
+
|
43
|
+
Fixed issue
|
44
|
+
-----------
|
45
|
+
|
46
|
+
- Allow --with-instant-client-dir along with --with-instant-client-lib/include. (GH-223)
|
47
|
+
|
48
|
+
(reported by Victor Nawothnig)
|
49
|
+
|
50
|
+
2.2.8 (2020-01-11)
|
51
|
+
==================
|
52
|
+
|
53
|
+
New features
|
54
|
+
------------
|
55
|
+
|
56
|
+
* Add support to specify include and lib directories of Oracle library on installation. (GH-210)
|
57
|
+
|
58
|
+
The following three flags are added.
|
59
|
+
|
60
|
+
* --with-instant-client-dir
|
61
|
+
* --with-instant-client-include
|
62
|
+
* --with-instant-client-lib
|
63
|
+
|
64
|
+
Fixed issue
|
65
|
+
-----------
|
66
|
+
|
67
|
+
- Suppress warnings compiling oci8lib.so (GH-212 and others)
|
68
|
+
|
69
|
+
- Fix compilation and tests on Windows.
|
70
|
+
|
71
|
+
- Fix spelling in install-instant-client.md (GH-217)
|
72
|
+
|
73
|
+
- Use fiddler instead obsolete Win32API on Windows (GH-212)
|
74
|
+
|
75
|
+
2.2.7 (2019-01-06)
|
76
|
+
==================
|
77
|
+
|
78
|
+
Incompatible Changes
|
79
|
+
--------------------
|
80
|
+
|
81
|
+
### `OCI8#long_read_len` and `OCI8#long_read_len=` do nothing.
|
82
|
+
|
83
|
+
When `LONG`, `LONG RAW` or `XMLTYPE` data were fetched, the data were
|
84
|
+
truncated at `OCI8#long_read_len`. The maximum size of data had
|
85
|
+
been 4 gigabytes since this release.
|
86
|
+
|
87
|
+
`OCI8#long_read_len` and `OCI8#long_read_len=` remain for code-compatibility
|
88
|
+
but do nothing.
|
89
|
+
|
90
|
+
Improvement
|
91
|
+
-----------
|
92
|
+
|
93
|
+
### The number of network round trips was reduced when LOB data are read.
|
94
|
+
|
95
|
+
When LOB data are read, ruby-oci8 before 2.2.7 does the followings:
|
96
|
+
|
97
|
+
1. Gets the size of the LOB.
|
98
|
+
2. Allocate buffer to hold the data.
|
99
|
+
3. Read the LOB contents.
|
100
|
+
|
101
|
+
This requires two round trips.
|
102
|
+
|
103
|
+
It now does the followings:
|
104
|
+
|
105
|
+
1. Request the server to get LOB contents up to 4 gigabytes.
|
106
|
+
2. Read the LOB contents and allocate buffer when the size is insufficient.
|
107
|
+
3. If the total length of received data is less than 4 gigabytes, all data
|
108
|
+
are read. If not, go to the first step to read next 4 gigabytes.
|
109
|
+
|
110
|
+
This requires only one round trip if the size is less than 4 gigabytes.
|
111
|
+
|
112
|
+
### Use array fetching instead of prefetching when LOB columns are in queries
|
113
|
+
|
114
|
+
When LOB columns are in queries, prefetching doesn't seem to work. Rows
|
115
|
+
are fetched one by one according to data captured by network packet sniffer.
|
116
|
+
So array fetching is used instead of prefetching to reduce the number of
|
117
|
+
network round trips.
|
118
|
+
|
119
|
+
### Add error diagnostics when `'require "oci8"'` fails on Windows.
|
120
|
+
|
121
|
+
When `'require "oci8"'` fails with "OCI.DLL: 126(The specified module could not be found.)"
|
122
|
+
on Windows, the cause is not always that OCI.DLL is not found. It may
|
123
|
+
be incorrect architecture, missing dependent DLLs and so on.
|
124
|
+
Ruby-oci8 checks PATH and DLL files when the error is raised and change
|
125
|
+
the error message to reasonable one as possible.
|
126
|
+
|
127
|
+
2.2.6.1 (2018-09-16)
|
128
|
+
====================
|
129
|
+
|
130
|
+
Fixed issue
|
131
|
+
-----------
|
132
|
+
Fix "No shared library is found to hook." on macOS.
|
133
|
+
(rsim/oracle-enhanced#1768)
|
134
|
+
|
135
|
+
2.2.6 (2018-08-22)
|
136
|
+
==================
|
137
|
+
|
138
|
+
This release fixed issues about Oracle 18c except one.
|
139
|
+
|
140
|
+
Fixed issue
|
141
|
+
-----------
|
142
|
+
|
143
|
+
### Setting some properties failed with Oracle 18c client
|
144
|
+
|
145
|
+
Setting `OCI8::properties[:tcp_keepalive_time]` or `OCI8::properties[:cancel_read_at_exit]`
|
146
|
+
failed with the error message "No shared library is found to hook" when Oracle
|
147
|
+
client version is 18c.
|
148
|
+
(rsim/oracle-enhanced#1754)
|
149
|
+
|
150
|
+
### Fix `OCI8#oracle_server_version` to get full version of Oracle 18c
|
151
|
+
|
152
|
+
`OCI8#oracle_server_version` returned Oracle version number whose
|
153
|
+
number components after the first dot are zeros such as '18.0.0.0.0'
|
154
|
+
even when the server version is `18.3.0.0.0`. This issue was fixed by
|
155
|
+
using a new OCI function. However the function is available since
|
156
|
+
Oracle 18c client. So when the Oracle client version is 12c or earlier
|
157
|
+
and the Oracle server version is 18c or later, it cannot get the *full*
|
158
|
+
Oracle version number.
|
159
|
+
|
160
|
+
### Fix tests when the Oracle server version is 18c.
|
161
|
+
|
162
|
+
### LOB#sync, LOB#sync= and LOB#flush do nothing now.
|
163
|
+
|
164
|
+
They have not worked by mistake from the beginning because incorrect
|
165
|
+
arguments has been passed to OCILobOpen(). Moreover it crashed Oracle
|
166
|
+
18c server-side processes and caused "ORA-03113: end-of-file on
|
167
|
+
communication channel."
|
168
|
+
(github issue #198)
|
169
|
+
|
170
|
+
### `unsupported typecode timestamp` when timestamp with time zone is in object type attributes.
|
171
|
+
|
172
|
+
(github issue #185)
|
173
|
+
|
174
|
+
2.2.5.1 (2017-12-27)
|
175
|
+
====================
|
176
|
+
|
177
|
+
No updates except tests. The version number was changed just to release
|
178
|
+
binary gems for ruby 2.5 on Windows.
|
179
|
+
|
180
|
+
### Suppress warnings in tests with ruby 2.5
|
181
|
+
|
182
|
+
(github issue #180, #181)
|
183
|
+
|
184
|
+
2.2.5 (2017-10-21)
|
185
|
+
==================
|
186
|
+
|
187
|
+
New Features
|
188
|
+
------------
|
189
|
+
|
190
|
+
### Try to load $ORACLE_HOME/lib/libclntsh.so also when runtime api check is enabled on Unix.
|
191
|
+
|
192
|
+
When ruby-oci8 is configured with `--with-runtime-check`, it loads Oracle client
|
193
|
+
library and checks available functions in the library at runtime. This feature was
|
194
|
+
added to release Windows binary gems which cannot know Oracle version at compile time.
|
195
|
+
This is available also on Unix. However it tries to load libraries in LD_LIBRARY_PATH only.
|
196
|
+
From this version, it tries to load $ORACLE_HOME/lib/libclntsh.so also.
|
197
|
+
|
198
|
+
### Check error reasons when loading failed with 'The specified module could not be found' on Windows.
|
199
|
+
|
200
|
+
The error messages are same when OCI.DLL isn't found and when Visual
|
201
|
+
C++ runtime library depended on by OCI.DLL isn't found. From this
|
202
|
+
version, ruby-oci8 distinguishes the difference and prints other message
|
203
|
+
for the latter case.
|
204
|
+
|
205
|
+
Fixed issue
|
206
|
+
-----------
|
207
|
+
|
208
|
+
### Fix segmentation fault when Oracle client library is prelinked.
|
209
|
+
|
210
|
+
When Oracle instant client rpm package is used on RHEL5 or RHEL6,
|
211
|
+
Oracle client library is modified by [prelink][] and ruby-oci8 crashed
|
212
|
+
with segmentation fault. This is not due to Oracle, but due to
|
213
|
+
plthook used by ruby-oci8. The plthook was fixed to work with
|
214
|
+
prelinked libraries.
|
215
|
+
(github issue #172)
|
216
|
+
|
217
|
+
[prelink]: https://en.wikipedia.org/wiki/Prelink#Linux
|
218
|
+
|
219
|
+
### Fix not to hide the original error message of LoadError on recent cygwin.
|
220
|
+
|
221
|
+
Ruby-oci8 tries to check error messages when `require 'oci8lib_xxx.so` fails.
|
222
|
+
However the message was hidden by an exception while checking on cygwin.
|
223
|
+
(github issue #176)
|
224
|
+
|
225
|
+
### Don't call unnecessary __paramGet(i) when a cursor is executed more than once.
|
226
|
+
|
227
|
+
pointed by OMOTO Kenji
|
228
|
+
(github issue #171)
|
229
|
+
|
230
|
+
### Suppress warning: method redefined; discarding old initialize.
|
231
|
+
|
232
|
+
(github issue #168)
|
233
|
+
|
234
|
+
Other Changes
|
235
|
+
-------------
|
236
|
+
|
237
|
+
### Add document about the mapping between Oracle number types and Ruby classes.
|
238
|
+
|
239
|
+
See {file:docs/number-type-mapping.md Number Type Mapping between Oracle and Ruby}.
|
240
|
+
(github issue #173)
|
241
|
+
|
242
|
+
2.2.4.1 (2017-06-17)
|
243
|
+
====================
|
244
|
+
|
245
|
+
Fixed issue
|
246
|
+
-----------
|
247
|
+
|
248
|
+
### Fix invalid function calls when TCP keepalive time parameter is set on Windows x86
|
249
|
+
|
250
|
+
When TCP keepalive time parameter is set, The win32 API `setsockopt` was hooked
|
251
|
+
with incorrect calling convention on Windows x86. As far as I checked it doesn't
|
252
|
+
cause bad effects. But it is by chance. If the code in `oci.dll` is optimized
|
253
|
+
differently, it may cause unexpected behavior.
|
254
|
+
|
255
|
+
### Fix compilation errors in 2.2.4 on cygwin
|
256
|
+
|
257
|
+
2.2.4 (2017-06-11)
|
258
|
+
==================
|
259
|
+
|
260
|
+
New Features
|
261
|
+
------------
|
262
|
+
|
263
|
+
### TCP keepalive parameters
|
264
|
+
|
265
|
+
`tcp_keepalive` and `tcp_keepalive_time` parameters were added.
|
266
|
+
This may fix hanging caused by a firewall after a long period of inactivity
|
267
|
+
|
268
|
+
See {file:docs/hanging-after-inactivity.md this document} for more detail.
|
269
|
+
|
270
|
+
### Workaround of function interposition on Linux and macOS
|
271
|
+
|
272
|
+
When both `oci8` and `pg` are required and LDAP authentication is used,
|
273
|
+
it may trigger segmentation faults or unexpected behaviours.
|
274
|
+
This issue was fixed by forcibly modified PLT (Procedure Linkage Table)
|
275
|
+
entries in the Oracle client library.
|
276
|
+
|
277
|
+
See {file:docs/ldap-auth-and-function-interposition.md this document} for more detail.
|
278
|
+
|
279
|
+
Fixed Issues
|
280
|
+
------------
|
281
|
+
|
282
|
+
### Support RubyInstaller2 for Windows
|
283
|
+
|
284
|
+
Fix for RubyInstaller2 for Windows as suggested [here](https://github.com/oneclick/rubyinstaller2/wiki/For-gem-developers#dll-loading).
|
285
|
+
|
286
|
+
### Fix for latest cygwin
|
287
|
+
|
288
|
+
Use Win32::Registry instead of Win32API to compile ruby-oci8 on the latest cygwin.
|
289
|
+
|
290
|
+
(contributed by tomasjura. [github issue #167](https://github.com/kubo/ruby-oci8/issues/167))
|
291
|
+
|
292
|
+
### Removed too specific ruby version constraint in binary gems.
|
293
|
+
|
294
|
+
(contributed by davidbrs. [github issue #156](https://github.com/kubo/ruby-oci8/issues/156))
|
295
|
+
|
296
|
+
2.2.3 (2016-12-27)
|
297
|
+
==================
|
298
|
+
|
299
|
+
New Features
|
300
|
+
------------
|
301
|
+
|
302
|
+
### Support ruby 2.4.0
|
303
|
+
|
304
|
+
- [Fix invalid value for BigDecimal](https://github.com/kubo/ruby-oci8/issues/144)
|
305
|
+
- Fix load error when `GC.stress = true`.
|
306
|
+
- Suppress warnings caused by integer unification
|
307
|
+
- Suppress warnings outputted by Minitest in ruby 2.4.0
|
308
|
+
- Suppress warnings when compiling with ruby 2.4.0
|
309
|
+
|
310
|
+
2.2.2 (2016-04-24)
|
311
|
+
==================
|
312
|
+
|
313
|
+
New Features
|
314
|
+
------------
|
315
|
+
|
316
|
+
### Add OCI8::in_cond
|
317
|
+
|
318
|
+
This is a helper method to bind an array to parameters in IN-conditions.
|
319
|
+
See {file:docs/bind-array-to-in_cond.md Bind an Array to IN-condition}
|
320
|
+
|
321
|
+
### Add timeout parameters in OCI8::properties
|
322
|
+
|
323
|
+
See {file:docs/timeout-parameters.md Timeout Parameters}
|
324
|
+
|
325
|
+
### Support SYSBACKUP, SYSDG and SYSKM privileges.
|
326
|
+
|
327
|
+
For example:
|
328
|
+
|
329
|
+
OCI8.new(username, password, database, :SYSBACKUP)
|
330
|
+
|
331
|
+
(github issue #110)
|
332
|
+
|
333
|
+
### Support {OCI8::Cursor#row_count} over 4G (Oracle 12c client only)
|
334
|
+
|
335
|
+
Fixed Issues
|
336
|
+
------------
|
337
|
+
|
338
|
+
### Fix type mapping of subtypes of Oracle object
|
339
|
+
|
340
|
+
github issue #119
|
341
|
+
|
342
|
+
### Fix compile error on cygwin since ruby-oci8 2.1.8.
|
343
|
+
|
344
|
+
github issue #113
|
345
|
+
|
346
|
+
### Fix compile error when the ruby was compiled by Visual Studio 64bit.
|
347
|
+
|
348
|
+
Other Changes
|
349
|
+
-------------
|
350
|
+
|
351
|
+
- Suppress warning: instance variable @name_to_tdo not initialized.
|
352
|
+
|
353
|
+
|
354
|
+
- Check the default value of DYLD_FALLBACK_LIBRARY_PATH after checking OCI_DIR on installation. (OS X only)
|
355
|
+
|
356
|
+
|
357
|
+
2.2.1 (2015-11-01)
|
358
|
+
==================
|
359
|
+
|
360
|
+
New Features
|
361
|
+
------------
|
362
|
+
|
363
|
+
### Add OCI8::Metadata::Boolean
|
364
|
+
|
365
|
+
Support boolean type binding. This feature requires Oracle 12c client and server.
|
366
|
+
Binding a boolean value fails when either Oracle server or client is 11g or lower.
|
367
|
+
|
368
|
+
Fixed Issues
|
369
|
+
------------
|
370
|
+
|
371
|
+
The following two issues were introduced in ruby-oci8 2.2.0.
|
372
|
+
|
373
|
+
### Fix handle leaks in OCI8#ping
|
374
|
+
|
375
|
+
This bug affects Oracle 10gR1 client only.
|
376
|
+
|
377
|
+
### Fix potential segmentation fault on ruby process termination
|
378
|
+
|
379
|
+
Other Changes
|
380
|
+
-------------
|
381
|
+
|
382
|
+
- Reduce compilation time by dropping unnecessary checks.
|
383
|
+
|
384
|
+
- Delete unused code which was added to support old Oracle and ruby 1.8.
|
385
|
+
|
386
|
+
2.2.0.2 (2015-10-12)
|
387
|
+
====================
|
388
|
+
|
389
|
+
Nothing was changed except the version.
|
390
|
+
|
391
|
+
The forth version was incremented to release binary gems for mingw32.
|
392
|
+
The binary gems for 2.2.0.1 didn't work by faultily packaging.
|
393
|
+
|
394
|
+
2.2.0.1 (2015-10-11)
|
395
|
+
====================
|
5
396
|
|
6
397
|
If ruby-oci8 2.2.0 is installed, you have no need to update it to
|
7
|
-
2.2.0.1. Source code itself was not
|
398
|
+
2.2.0.1. Source code itself was not changed between 2.2.0 and 2.2.0.1.
|
8
399
|
|
9
400
|
### Change the required ruby version in the ruby-oci8 gem
|
10
401
|
|
@@ -17,8 +408,8 @@ Ruby-oci8 2.2.0 documents had not been generated in rubydoc.info
|
|
17
408
|
though the URLs are displayed on installation failure. They were
|
18
409
|
changed to documents generated by the latest github repository.
|
19
410
|
|
20
|
-
2.2.0
|
21
|
-
|
411
|
+
2.2.0 (2015-10-04)
|
412
|
+
==================
|
22
413
|
|
23
414
|
### Drop ruby 1.8 support
|
24
415
|
|
@@ -59,8 +450,8 @@ Other Changes
|
|
59
450
|
- Add OCI8.charset_name2id and OCI8.charset_id2name.
|
60
451
|
Mark OCI8#charset_name2id and OCI8#charset_id2name as deprecated.
|
61
452
|
|
62
|
-
2.1.8
|
63
|
-
|
453
|
+
2.1.8 (2015-04-04)
|
454
|
+
==================
|
64
455
|
|
65
456
|
New Features
|
66
457
|
------------
|
@@ -120,8 +511,8 @@ Fixed Issues
|
|
120
511
|
- Don't use SYM2ID on ruby 2.2.0 or later not to make symbols unGCable
|
121
512
|
by [Symbol GC](http://www.infoq.com/news/2014/12/ruby-2.2.0-released).
|
122
513
|
|
123
|
-
2.1.7
|
124
|
-
|
514
|
+
2.1.7 (2014-02-02)
|
515
|
+
==================
|
125
516
|
|
126
517
|
New Features
|
127
518
|
------------
|
@@ -133,8 +524,8 @@ Fixed Issues
|
|
133
524
|
|
134
525
|
- Fix OCI8#describe_table to follow synonyms in a remote database.
|
135
526
|
|
136
|
-
2.1.6
|
137
|
-
|
527
|
+
2.1.6 (2013-12-29)
|
528
|
+
==================
|
138
529
|
|
139
530
|
New Features
|
140
531
|
------------
|
@@ -174,8 +565,8 @@ Fixed Issues
|
|
174
565
|
- fix SEGV when one connection is used by more than two threads and temporary
|
175
566
|
lobs are freed by GC.
|
176
567
|
|
177
|
-
2.1.5
|
178
|
-
|
568
|
+
2.1.5 (2013-03-09)
|
569
|
+
==================
|
179
570
|
|
180
571
|
New Features
|
181
572
|
------------
|
@@ -195,8 +586,8 @@ Fixed Issues
|
|
195
586
|
instant client is 11.2.0.3 for Solaris x86 32-bit, the ruby
|
196
587
|
version is 1.9.3 or upper and the ruby is compiled by gcc.
|
197
588
|
|
198
|
-
2.1.4
|
199
|
-
|
589
|
+
2.1.4 (2013-01-06)
|
590
|
+
==================
|
200
591
|
|
201
592
|
New Features
|
202
593
|
------------
|
@@ -236,8 +627,8 @@ Fixed Issues
|
|
236
627
|
|
237
628
|
(reported by Brian Henderson)
|
238
629
|
|
239
|
-
2.1.3
|
240
|
-
|
630
|
+
2.1.3 (2012-11-11)
|
631
|
+
==================
|
241
632
|
|
242
633
|
New Features
|
243
634
|
------------
|
@@ -294,8 +685,8 @@ Fixed Issues
|
|
294
685
|
- Fix #<NoMethodError: undefined method `timezone' for Time:Class>
|
295
686
|
when ruby is less than 1.9.2 and an object type's time attribute is accessed.
|
296
687
|
|
297
|
-
2.1.2
|
298
|
-
|
688
|
+
2.1.2 (2012-04-28)
|
689
|
+
==================
|
299
690
|
|
300
691
|
Specification changes
|
301
692
|
---------------------
|
@@ -316,8 +707,8 @@ Fixed Issues
|
|
316
707
|
|
317
708
|
(reported by Yasuo Honda)
|
318
709
|
|
319
|
-
2.1.1
|
320
|
-
|
710
|
+
2.1.1 (2012-04-22)
|
711
|
+
==================
|
321
712
|
|
322
713
|
New Features
|
323
714
|
------------
|
@@ -364,8 +755,8 @@ Fixed Issues
|
|
364
755
|
|
365
756
|
(repored by Leoš Bitto)
|
366
757
|
|
367
|
-
2.1.0
|
368
|
-
|
758
|
+
2.1.0 (2011-12-13)
|
759
|
+
==================
|
369
760
|
|
370
761
|
New Features
|
371
762
|
------------
|
@@ -480,8 +871,8 @@ Fixed Issues
|
|
480
871
|
|
481
872
|
(reported by jbirdjavi)
|
482
873
|
|
483
|
-
2.0.6
|
484
|
-
|
874
|
+
2.0.6 (2011-06-14)
|
875
|
+
==================
|
485
876
|
|
486
877
|
Fixed issues
|
487
878
|
------------
|
@@ -492,8 +883,8 @@ Fixed issues
|
|
492
883
|
a closed OCI handle's method is called. It was chaned in 2.0.5
|
493
884
|
by mistake.
|
494
885
|
|
495
|
-
2.0.5
|
496
|
-
|
886
|
+
2.0.5 (2011-06-12)
|
887
|
+
==================
|
497
888
|
|
498
889
|
New Features
|
499
890
|
------------
|
@@ -581,8 +972,8 @@ Fixed issues
|
|
581
972
|
|
582
973
|
(reported by Sebastian YEPES)
|
583
974
|
|
584
|
-
2.0.4
|
585
|
-
|
975
|
+
2.0.4 (2010-02-28)
|
976
|
+
==================
|
586
977
|
|
587
978
|
New Features
|
588
979
|
------------
|
@@ -643,8 +1034,8 @@ Fixed issues
|
|
643
1034
|
|
644
1035
|
(reported by Raimonds Simanovskis)
|
645
1036
|
|
646
|
-
2.0.3
|
647
|
-
|
1037
|
+
2.0.3 (2009-10-21)
|
1038
|
+
==================
|
648
1039
|
|
649
1040
|
Incompatible Changes
|
650
1041
|
--------------------
|
@@ -784,8 +1175,8 @@ Fixed installation issues
|
|
784
1175
|
|
785
1176
|
(reported by Kazuya Teramoto)
|
786
1177
|
|
787
|
-
2.0.2
|
788
|
-
|
1178
|
+
2.0.2 (2009-05-17)
|
1179
|
+
==================
|
789
1180
|
|
790
1181
|
* add new methods
|
791
1182
|
- {OCI8#select_one}
|
@@ -825,8 +1216,8 @@ Fixed installation issues
|
|
825
1216
|
* [ruby 1.9] fix to bind string data by the length got from String#bytesize
|
826
1217
|
converted to {OCI8.encoding}, not by String#size.
|
827
1218
|
|
828
|
-
2.0.1
|
829
|
-
|
1219
|
+
2.0.1 (2009-03-17)
|
1220
|
+
==================
|
830
1221
|
|
831
1222
|
* release a binary gem for Windows, which contains libraries for both
|
832
1223
|
ruby 1.8 and ruby 1.9.1.
|
data/README.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
|
+
Ruby-oci8
|
2
|
+
=========
|
3
|
+
|
4
|
+
[](http://badge.fury.io/rb/ruby-oci8)
|
5
|
+
[](https://github.com/kubo/ruby-oci8/actions/workflows/tests.yml)
|
6
|
+
|
1
7
|
What is ruby-oci8
|
2
|
-
|
8
|
+
-----------------
|
3
9
|
|
4
10
|
Ruby-oci8 is a ruby interface for Oracle Database. The latest version
|
5
11
|
is available for all Oracle versions after Oracle 10g including Oracle
|
@@ -8,27 +14,29 @@ Instant Client.
|
|
8
14
|
Use ruby-oci8 2.0.6 for Oracle 8 or use ruby-oci8 2.1.8 for Oracle 9i.
|
9
15
|
|
10
16
|
Note that ruby 1.8 support was dropped in ruby-oci8 2.2.0.
|
11
|
-
Use ruby-2.1.8 for ruby 1.8.
|
17
|
+
Use ruby-oci8 2.1.8 for ruby 1.8.
|
12
18
|
|
13
19
|
What's new
|
14
|
-
|
20
|
+
----------
|
15
21
|
|
16
22
|
See {file:NEWS}.
|
17
23
|
|
18
24
|
Sample one-liner
|
19
|
-
|
25
|
+
----------------
|
20
26
|
|
21
|
-
|
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.
|
22
30
|
|
23
31
|
ruby -r oci8 -e "OCI8.new('scott', 'tiger').exec('select * from emp') do |r| puts r.join(','); end"
|
24
32
|
|
25
33
|
Homepage
|
26
|
-
|
34
|
+
--------
|
27
35
|
|
28
36
|
* http://www.rubydoc.info/github/kubo/ruby-oci8
|
29
37
|
|
30
38
|
Installation
|
31
|
-
|
39
|
+
------------
|
32
40
|
|
33
41
|
* {file:docs/install-full-client.md Install for Oracle Full Client}
|
34
42
|
* {file:docs/install-instant-client.md Install for Oracle Instant Client}
|
@@ -36,13 +44,23 @@ Installation
|
|
36
44
|
* {file:docs/install-on-osx.md Install on OS X}
|
37
45
|
|
38
46
|
Report issues
|
39
|
-
|
47
|
+
-------------
|
40
48
|
|
41
49
|
* {file:docs/report-installation-issue.md Report Installation Issues}
|
42
50
|
* [The issues page on github](https://github.com/kubo/ruby-oci8/issues)
|
43
51
|
|
52
|
+
Other documents
|
53
|
+
---------------
|
54
|
+
|
55
|
+
* {file:docs/number-type-mapping.md Number Type Mapping between Oracle and Ruby}
|
56
|
+
* {file:docs/timeout-parameters.md Timeout Parameters}
|
57
|
+
* {file:docs/conflicts-local-connections-and-processes.md Conflicts between Local Connections and Child Process Handling on Unix}
|
58
|
+
* {file:docs/hanging-after-inactivity.md Hanging After a Long Period of Inactivity}
|
59
|
+
* {file:docs/bind-array-to-in_cond.md Bind an Array to IN-condition}
|
60
|
+
* {file:docs/ldap-auth-and-function-interposition.md LDAP Authentication and Function Interposition}
|
61
|
+
|
44
62
|
License
|
45
|
-
|
63
|
+
-------
|
46
64
|
|
47
65
|
* {file:COPYING 2-clause BSD-style license} from ruby-oci8 2.1.3
|
48
66
|
* {file:COPYING_old old Ruby license} until 2.1.2
|
data/dist-files
CHANGED
@@ -10,13 +10,18 @@ metaconfig
|
|
10
10
|
pre-distclean.rb
|
11
11
|
ruby-oci8.gemspec
|
12
12
|
setup.rb
|
13
|
+
docs/bind-array-to-in_cond.md
|
14
|
+
docs/conflicts-local-connections-and-processes.md
|
15
|
+
docs/hanging-after-inactivity.md
|
13
16
|
docs/install-binary-package.md
|
14
17
|
docs/install-full-client.md
|
15
18
|
docs/install-instant-client.md
|
16
19
|
docs/install-on-osx.md
|
17
|
-
docs/
|
20
|
+
docs/ldap-auth-and-function-interposition.md
|
21
|
+
docs/number-type-mapping.md
|
18
22
|
docs/platform-specific-issues.md
|
19
23
|
docs/report-installation-issue.md
|
24
|
+
docs/timeout-parameters.md
|
20
25
|
ext/oci8/.document
|
21
26
|
ext/oci8/MANIFEST
|
22
27
|
ext/oci8/apiwrap.c.tmpl
|
@@ -73,15 +78,20 @@ lib/oci8/ocihandle.rb
|
|
73
78
|
lib/oci8/oracle_version.rb
|
74
79
|
lib/oci8/properties.rb
|
75
80
|
lib/oci8/version.rb
|
76
|
-
|
81
|
+
lib/ruby-oci8.rb
|
82
|
+
test/README.md
|
77
83
|
test/config.rb
|
78
84
|
test/setup_test_object.sql
|
85
|
+
test/setup_test_package.sql
|
79
86
|
test/test_all.rb
|
80
87
|
test/test_appinfo.rb
|
81
88
|
test/test_array_dml.rb
|
89
|
+
test/test_bind_array.rb
|
90
|
+
test/test_bind_boolean.rb
|
82
91
|
test/test_bind_raw.rb
|
83
92
|
test/test_bind_string.rb
|
84
93
|
test/test_bind_time.rb
|
94
|
+
test/test_bind_integer.rb
|
85
95
|
test/test_break.rb
|
86
96
|
test/test_clob.rb
|
87
97
|
test/test_connection_pool.rb
|
@@ -98,4 +108,5 @@ test/test_oracle_version.rb
|
|
98
108
|
test/test_oradate.rb
|
99
109
|
test/test_oranumber.rb
|
100
110
|
test/test_package_type.rb
|
111
|
+
test/test_properties.rb
|
101
112
|
test/test_rowid.rb
|