ruby-oci8 2.2.6.1 → 2.2.7

This diff has not been reviewed by any users.
Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,11 +1,60 @@
1
- 2018-09-16 Kubo Takehiro <kubo@jiubao.org>
2
- * NEWS: Add changes between 2.2.6 and 2.2.6.1
3
- * lib/oci8/version.rb: Update to 2.2.6.1
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
+
5
+ 2019-01-06 Kubo Takehiro <kubo@jiubao.org>
6
+ * mkpkg-win32.rb, ruby-oci8.gemspec: Build binary gems for ruby 2.6
7
+ on Windows.
8
+
9
+ 2019-01-06 Kubo Takehiro <kubo@jiubao.org>
10
+ * ext/oci8/oci8.c: Updata doc comments for OCI8#long_read_len
11
+ and OCI8#long_read_len=. These are deprecated.
12
+
13
+ 2019-01-03 Kubo Takehiro <kubo@jiubao.org>
14
+ * lib/oci8/check_load_error.rb: Use fiddle instead of Win32API
15
+ to call WIN32 functions.
16
+
17
+ 2019-01-03 Kubo Takehiro <kubo@jiubao.org>
18
+ * lib/oci8/check_load_error.rb: Add more error diagnostics
19
+ when 'require "oci8"' fails with "OCI.DLL: 126(The specified
20
+ module could not be found.)".
21
+
22
+ 2019-01-03 Kubo Takehiro <kubo@jiubao.org>
23
+ * lib/oci8.rb, lib/oci8/check_load_error.rb: Exclude empty
24
+ parts of PATH on Windows.
25
+
26
+ 2018-12-23 Kubo Takehiro <kubo@jiubao.org>
27
+ * lib/oci8/check_load_error.rb: Check OCI.DLL archtecture
28
+ when load error. It worked for ruby installer but not
29
+ for ruby installer2.
30
+
31
+ 2018-12-23 Kubo Takehiro <kubo@jiubao.org>
32
+ * docs/install-instant-client.md: Add information about
33
+ the MSVC redistributable package required by Oracle 18.3 client.
4
34
 
5
35
  2018-09-16 Kubo Takehiro <kubo@jiubao.org>
6
36
  * ext/oci8/hook_funcs.c: Fix "No shared library is found to hook." on macOS.
7
37
  (oracle-enhanced issue #1768)
8
38
 
39
+ 2018-09-11 Kubo Takehiro <kubo@jiubao.org>
40
+ * ext/oci8/object.c, lib/oci8/cursor.rb: Change the internal structure
41
+ about object type binding to use array fetching for object types.
42
+
43
+ 2018-09-09 Kubo Takehiro <kubo@jiubao.org>
44
+ * ext/oci8/lob.c: Read lob data without checking readable size to
45
+ reduce number of network round trips from two to one.
46
+
47
+ 2018-09-05 Kubo Takehiro <kubo@jiubao.org>
48
+ * ext/oci8/bind.c, ext/oci8/stmt.c, lib/oci8/cursor.rb,
49
+ lib/oci8/oci8.rb, test/test_oci8.rb: Use array fetching when
50
+ LOB colums are in a query and no object types are in the query.
51
+
52
+ 2018-09-02 Kubo Takehiro <kubo@jiubao.org>
53
+ * ext/oci8/apiwrap.yml, ext/oci8/bind.c, ext/oci8/stmt.c,
54
+ lib/oci8/bindtype.rb, test/test_oci8.rb: Rewrite OCI8::BindType::Long
55
+ and OCI8::BindType::LongRaw to handle up to 2 gigabyte data using
56
+ dynamically allocated buffers.
57
+
9
58
  2018-08-22 Kubo Takehiro <kubo@jiubao.org>
10
59
  * NEWS: Add changes between 2.2.5.1 and 2.2.6
11
60
  * lib/oci8/version.rb: Update to 2.2.6
data/NEWS CHANGED
@@ -1,15 +1,67 @@
1
1
  # @markup markdown
2
2
 
3
- 2.2.6.1
4
- =======
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
+
55
+ 2.2.6.1 (2018-09-16)
56
+ ====================
5
57
 
6
58
  Fixed issue
7
59
  -----------
8
60
  Fix "No shared library is found to hook." on macOS.
9
61
  (rsim/oracle-enhanced#1768)
10
62
 
11
- 2.2.6
12
- =====
63
+ 2.2.6 (2018-08-22)
64
+ ==================
13
65
 
14
66
  This release fixed issues about Oracle 18c except one.
15
67
 
@@ -47,8 +99,8 @@ communication channel."
47
99
 
48
100
  (github issue #185)
49
101
 
50
- 2.2.5.1
51
- =======
102
+ 2.2.5.1 (2017-12-27)
103
+ ====================
52
104
 
53
105
  No updates except tests. The version number was changed just to release
54
106
  binary gems for ruby 2.5 on Windows.
@@ -57,8 +109,8 @@ binary gems for ruby 2.5 on Windows.
57
109
 
58
110
  (github issue #180, #181)
59
111
 
60
- 2.2.5
61
- =====
112
+ 2.2.5 (2017-10-21)
113
+ ==================
62
114
 
63
115
  New Features
64
116
  ------------
@@ -115,8 +167,8 @@ Other Changes
115
167
  See {file:docs/number-type-mapping.md Number Type Mapping between Oracle and Ruby}.
116
168
  (github issue #173)
117
169
 
118
- 2.2.4.1
119
- =======
170
+ 2.2.4.1 (2017-06-17)
171
+ ====================
120
172
 
121
173
  Fixed issue
122
174
  -----------
@@ -130,8 +182,8 @@ differently, it may cause unexpected behavior.
130
182
 
131
183
  ### Fix compilation errors in 2.2.4 on cygwin
132
184
 
133
- 2.2.4
134
- =====
185
+ 2.2.4 (2017-06-11)
186
+ ==================
135
187
 
136
188
  New Features
137
189
  ------------
@@ -169,8 +221,8 @@ Use Win32::Registry instead of Win32API to compile ruby-oci8 on the latest cygwi
169
221
 
170
222
  (contributed by davidbrs. [github issue #156](https://github.com/kubo/ruby-oci8/issues/156))
171
223
 
172
- 2.2.3
173
- =====
224
+ 2.2.3 (2016-12-27)
225
+ ==================
174
226
 
175
227
  New Features
176
228
  ------------
@@ -183,8 +235,8 @@ New Features
183
235
  - Suppress warnings outputted by Minitest in ruby 2.4.0
184
236
  - Suppress warnings when compiling with ruby 2.4.0
185
237
 
186
- 2.2.2
187
- =====
238
+ 2.2.2 (2016-04-24)
239
+ ==================
188
240
 
189
241
  New Features
190
242
  ------------
@@ -230,8 +282,8 @@ Other Changes
230
282
  - Check the default value of DYLD_FALLBACK_LIBRARY_PATH after checking OCI_DIR on installation. (OS X only)
231
283
 
232
284
 
233
- 2.2.1
234
- =====
285
+ 2.2.1 (2015-11-01)
286
+ ==================
235
287
 
236
288
  New Features
237
289
  ------------
@@ -259,16 +311,16 @@ Other Changes
259
311
 
260
312
  - Delete unused code which was added to support old Oracle and ruby 1.8.
261
313
 
262
- 2.2.0.2
263
- =======
314
+ 2.2.0.2 (2015-10-12)
315
+ ====================
264
316
 
265
317
  Nothing was changed except the version.
266
318
 
267
319
  The forth version was incremented to release binary gems for mingw32.
268
320
  The binary gems for 2.2.0.1 didn't work by faultily packaging.
269
321
 
270
- 2.2.0.1
271
- =======
322
+ 2.2.0.1 (2015-10-11)
323
+ ====================
272
324
 
273
325
  If ruby-oci8 2.2.0 is installed, you have no need to update it to
274
326
  2.2.0.1. Source code itself was not changed between 2.2.0 and 2.2.0.1.
@@ -284,8 +336,8 @@ Ruby-oci8 2.2.0 documents had not been generated in rubydoc.info
284
336
  though the URLs are displayed on installation failure. They were
285
337
  changed to documents generated by the latest github repository.
286
338
 
287
- 2.2.0
288
- =====
339
+ 2.2.0 (2015-10-04)
340
+ ==================
289
341
 
290
342
  ### Drop ruby 1.8 support
291
343
 
@@ -326,8 +378,8 @@ Other Changes
326
378
  - Add OCI8.charset_name2id and OCI8.charset_id2name.
327
379
  Mark OCI8#charset_name2id and OCI8#charset_id2name as deprecated.
328
380
 
329
- 2.1.8
330
- =====
381
+ 2.1.8 (2015-04-04)
382
+ ==================
331
383
 
332
384
  New Features
333
385
  ------------
@@ -387,8 +439,8 @@ Fixed Issues
387
439
  - Don't use SYM2ID on ruby 2.2.0 or later not to make symbols unGCable
388
440
  by [Symbol GC](http://www.infoq.com/news/2014/12/ruby-2.2.0-released).
389
441
 
390
- 2.1.7
391
- =====
442
+ 2.1.7 (2014-02-02)
443
+ ==================
392
444
 
393
445
  New Features
394
446
  ------------
@@ -400,8 +452,8 @@ Fixed Issues
400
452
 
401
453
  - Fix OCI8#describe_table to follow synonyms in a remote database.
402
454
 
403
- 2.1.6
404
- =====
455
+ 2.1.6 (2013-12-29)
456
+ ==================
405
457
 
406
458
  New Features
407
459
  ------------
@@ -441,8 +493,8 @@ Fixed Issues
441
493
  - fix SEGV when one connection is used by more than two threads and temporary
442
494
  lobs are freed by GC.
443
495
 
444
- 2.1.5
445
- =====
496
+ 2.1.5 (2013-03-09)
497
+ ==================
446
498
 
447
499
  New Features
448
500
  ------------
@@ -462,8 +514,8 @@ Fixed Issues
462
514
  instant client is 11.2.0.3 for Solaris x86 32-bit, the ruby
463
515
  version is 1.9.3 or upper and the ruby is compiled by gcc.
464
516
 
465
- 2.1.4
466
- =====
517
+ 2.1.4 (2013-01-06)
518
+ ==================
467
519
 
468
520
  New Features
469
521
  ------------
@@ -503,8 +555,8 @@ Fixed Issues
503
555
 
504
556
  (reported by Brian Henderson)
505
557
 
506
- 2.1.3
507
- =====
558
+ 2.1.3 (2012-11-11)
559
+ ==================
508
560
 
509
561
  New Features
510
562
  ------------
@@ -561,8 +613,8 @@ Fixed Issues
561
613
  - Fix #<NoMethodError: undefined method `timezone' for Time:Class>
562
614
  when ruby is less than 1.9.2 and an object type's time attribute is accessed.
563
615
 
564
- 2.1.2
565
- =====
616
+ 2.1.2 (2012-04-28)
617
+ ==================
566
618
 
567
619
  Specification changes
568
620
  ---------------------
@@ -583,8 +635,8 @@ Fixed Issues
583
635
 
584
636
  (reported by Yasuo Honda)
585
637
 
586
- 2.1.1
587
- =====
638
+ 2.1.1 (2012-04-22)
639
+ ==================
588
640
 
589
641
  New Features
590
642
  ------------
@@ -631,8 +683,8 @@ Fixed Issues
631
683
 
632
684
  (repored by Leoš Bitto)
633
685
 
634
- 2.1.0
635
- =====
686
+ 2.1.0 (2011-12-13)
687
+ ==================
636
688
 
637
689
  New Features
638
690
  ------------
@@ -747,8 +799,8 @@ Fixed Issues
747
799
 
748
800
  (reported by jbirdjavi)
749
801
 
750
- 2.0.6
751
- =====
802
+ 2.0.6 (2011-06-14)
803
+ ==================
752
804
 
753
805
  Fixed issues
754
806
  ------------
@@ -759,8 +811,8 @@ Fixed issues
759
811
  a closed OCI handle's method is called. It was chaned in 2.0.5
760
812
  by mistake.
761
813
 
762
- 2.0.5
763
- =====
814
+ 2.0.5 (2011-06-12)
815
+ ==================
764
816
 
765
817
  New Features
766
818
  ------------
@@ -848,8 +900,8 @@ Fixed issues
848
900
 
849
901
  (reported by Sebastian YEPES)
850
902
 
851
- 2.0.4
852
- =====
903
+ 2.0.4 (2010-02-28)
904
+ ==================
853
905
 
854
906
  New Features
855
907
  ------------
@@ -910,8 +962,8 @@ Fixed issues
910
962
 
911
963
  (reported by Raimonds Simanovskis)
912
964
 
913
- 2.0.3
914
- =====
965
+ 2.0.3 (2009-10-21)
966
+ ==================
915
967
 
916
968
  Incompatible Changes
917
969
  --------------------
@@ -1051,8 +1103,8 @@ Fixed installation issues
1051
1103
 
1052
1104
  (reported by Kazuya Teramoto)
1053
1105
 
1054
- 2.0.2
1055
- =====
1106
+ 2.0.2 (2009-05-17)
1107
+ ==================
1056
1108
 
1057
1109
  * add new methods
1058
1110
  - {OCI8#select_one}
@@ -1092,8 +1144,8 @@ Fixed installation issues
1092
1144
  * [ruby 1.9] fix to bind string data by the length got from String#bytesize
1093
1145
  converted to {OCI8.encoding}, not by String#size.
1094
1146
 
1095
- 2.0.1
1096
- =====
1147
+ 2.0.1 (2009-03-17)
1148
+ ==================
1097
1149
 
1098
1150
  * release a binary gem for Windows, which contains libraries for both
1099
1151
  ruby 1.8 and ruby 1.9.1.
data/dist-files CHANGED
@@ -80,7 +80,7 @@ lib/oci8/oracle_version.rb
80
80
  lib/oci8/properties.rb
81
81
  lib/oci8/version.rb
82
82
  lib/ruby-oci8.rb
83
- test/README
83
+ test/README.md
84
84
  test/config.rb
85
85
  test/setup_test_object.sql
86
86
  test/setup_test_package.sql
@@ -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.) |
@@ -83,6 +83,17 @@ OCIBindByPos:
83
83
  - ub4 *curelep
84
84
  - ub4 mode
85
85
 
86
+ # round trip: 0
87
+ OCIBindDynamic:
88
+ :version: 800
89
+ :args:
90
+ - OCIBind *bindp
91
+ - OCIError *errhp
92
+ - void *ictxp
93
+ - OCICallbackInBind icbfp
94
+ - void *octxp
95
+ - OCICallbackOutBind ocbfp
96
+
86
97
  # round trip: 0
87
98
  OCIBindObject:
88
99
  :version: 800
@@ -180,6 +191,15 @@ OCIDefineByPos:
180
191
  - ub2 *rcodep
181
192
  - ub4 mode
182
193
 
194
+ # round trip: 0
195
+ OCIDefineDynamic:
196
+ :version: 800
197
+ :args:
198
+ - OCIDefine *defnp
199
+ - OCIError *errhp
200
+ - dvoid *octxp
201
+ - OCICallbackDefine ocbfp
202
+
183
203
  # round trip: 0
184
204
  OCIDefineObject:
185
205
  :version: 800