Skip to content

Commit 0c85bf6

Browse files
committed
Update version to 2.2.7.
1 parent 300770d commit 0c85bf6

File tree

3 files changed

+57
-1
lines changed

3 files changed

+57
-1
lines changed

ChangeLog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
2019-01-06 Kubo Takehiro <kubo@jiubao.org>
2+
* NEWS: Add changes between 2.2.6.1 and 2.2.7.
3+
* lib/oci8/version.rb: Update to 2.2.7
4+
15
2019-01-06 Kubo Takehiro <kubo@jiubao.org>
26
* mkpkg-win32.rb, ruby-oci8.gemspec: Build binary gems for ruby 2.6
37
on Windows.

NEWS

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,57 @@
11
# @markup markdown
22

3+
2.2.7 (2019-01-06)
4+
==================
5+
6+
Incompatible Changes
7+
--------------------
8+
9+
### `OCI8#long_read_len` and `OCI8#long_read_len=` do nothing.
10+
11+
When `LONG`, `LONG RAW` or `XMLTYPE` data were fetched, the data were
12+
truncated at `OCI8#long_read_len`. The maximum size of data had
13+
been 4 gigabytes since this release.
14+
15+
`OCI8#long_read_len` and `OCI8#long_read_len=` remain for code-compatibility
16+
but do nothing.
17+
18+
Improvement
19+
-----------
20+
21+
### The number of network round trips was reduced when LOB data are read.
22+
23+
When LOB data are read, ruby-oci8 before 2.2.7 does the followings:
24+
25+
1. Gets the size of the LOB.
26+
2. Allocate buffer to hold the data.
27+
3. Read the LOB contents.
28+
29+
This requires two round trips.
30+
31+
It now does the followings:
32+
33+
1. Request the server to get LOB contents up to 4 gigabytes.
34+
2. Read the LOB contents and allocate buffer when the size is insufficient.
35+
3. If the total length of received data is less than 4 gigabytes, all data
36+
are read. If not, go to the first step to read next 4 gigabytes.
37+
38+
This requires only one round trip if the size is less than 4 gigabytes.
39+
40+
### Use array fetching instead of prefetching when LOB columns are in queries
41+
42+
When LOB columns are in queries, prefetching doesn't seem to work. Rows
43+
are fetched one by one according to data captured by network packet sniffer.
44+
So array fetching is used instead of prefetching to reduce the number of
45+
network round trips.
46+
47+
### Add error diagnostics when `'require "oci8"'` fails on Windows.
48+
49+
When `'require "oci8"'` fails with "OCI.DLL: 126(The specified module could not be found.)"
50+
on Windows, the cause is not always that OCI.DLL is not found. It may
51+
be incorrect architecture, missing dependent DLLs and so on.
52+
Ruby-oci8 checks PATH and DLL files when the error is raised and change
53+
the error message to reasonable one as possible.
54+
355
2.2.6.1 (2018-09-16)
456
====================
557

lib/oci8/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
class OCI8
2-
VERSION = "2.2.6"
2+
VERSION = "2.2.7"
33
end

0 commit comments

Comments
 (0)