ruby-oci8 2.2.10-x64-mingw-ucrt

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +14 -0
  3. data/COPYING +30 -0
  4. data/COPYING_old +64 -0
  5. data/ChangeLog +3826 -0
  6. data/Makefile +92 -0
  7. data/NEWS +1209 -0
  8. data/README.md +66 -0
  9. data/dist-files +112 -0
  10. data/docs/bind-array-to-in_cond.md +38 -0
  11. data/docs/conflicts-local-connections-and-processes.md +98 -0
  12. data/docs/hanging-after-inactivity.md +63 -0
  13. data/docs/install-binary-package.md +44 -0
  14. data/docs/install-full-client.md +111 -0
  15. data/docs/install-instant-client.md +194 -0
  16. data/docs/install-on-osx.md +46 -0
  17. data/docs/ldap-auth-and-function-interposition.md +123 -0
  18. data/docs/number-type-mapping.md +79 -0
  19. data/docs/platform-specific-issues.md +164 -0
  20. data/docs/report-installation-issue.md +50 -0
  21. data/docs/timeout-parameters.md +94 -0
  22. data/lib/.document +1 -0
  23. data/lib/dbd/OCI8.rb +591 -0
  24. data/lib/oci8/.document +8 -0
  25. data/lib/oci8/bindtype.rb +333 -0
  26. data/lib/oci8/check_load_error.rb +146 -0
  27. data/lib/oci8/compat.rb +117 -0
  28. data/lib/oci8/connection_pool.rb +179 -0
  29. data/lib/oci8/cursor.rb +605 -0
  30. data/lib/oci8/datetime.rb +605 -0
  31. data/lib/oci8/encoding-init.rb +45 -0
  32. data/lib/oci8/encoding.yml +537 -0
  33. data/lib/oci8/metadata.rb +2148 -0
  34. data/lib/oci8/object.rb +641 -0
  35. data/lib/oci8/oci8.rb +756 -0
  36. data/lib/oci8/ocihandle.rb +591 -0
  37. data/lib/oci8/oracle_version.rb +153 -0
  38. data/lib/oci8/properties.rb +196 -0
  39. data/lib/oci8/version.rb +3 -0
  40. data/lib/oci8.rb +190 -0
  41. data/lib/oci8lib_310.so +0 -0
  42. data/lib/ruby-oci8.rb +1 -0
  43. data/metaconfig +142 -0
  44. data/pre-distclean.rb +7 -0
  45. data/ruby-oci8.gemspec +85 -0
  46. data/setup.rb +1342 -0
  47. data/test/README.md +37 -0
  48. data/test/config.rb +201 -0
  49. data/test/setup_test_object.sql +199 -0
  50. data/test/setup_test_package.sql +59 -0
  51. data/test/test_all.rb +56 -0
  52. data/test/test_appinfo.rb +62 -0
  53. data/test/test_array_dml.rb +332 -0
  54. data/test/test_bind_array.rb +70 -0
  55. data/test/test_bind_boolean.rb +99 -0
  56. data/test/test_bind_integer.rb +47 -0
  57. data/test/test_bind_raw.rb +45 -0
  58. data/test/test_bind_string.rb +105 -0
  59. data/test/test_bind_time.rb +177 -0
  60. data/test/test_break.rb +125 -0
  61. data/test/test_clob.rb +85 -0
  62. data/test/test_connection_pool.rb +124 -0
  63. data/test/test_connstr.rb +220 -0
  64. data/test/test_datetime.rb +585 -0
  65. data/test/test_dbi.rb +365 -0
  66. data/test/test_dbi_clob.rb +53 -0
  67. data/test/test_encoding.rb +103 -0
  68. data/test/test_error.rb +87 -0
  69. data/test/test_metadata.rb +2674 -0
  70. data/test/test_object.rb +546 -0
  71. data/test/test_oci8.rb +624 -0
  72. data/test/test_oracle_version.rb +68 -0
  73. data/test/test_oradate.rb +255 -0
  74. data/test/test_oranumber.rb +792 -0
  75. data/test/test_package_type.rb +981 -0
  76. data/test/test_properties.rb +17 -0
  77. data/test/test_rowid.rb +32 -0
  78. metadata +123 -0
data/ChangeLog ADDED
@@ -0,0 +1,3826 @@
1
+ 2020-12-30 Kubo Takehiro <kubo@jiubao.org>
2
+ * NEWS: Add changes between 2.2.8 and 2.2.9.
3
+ * lib/oci8/version.rb: Update to 2.2.9.
4
+ * mkpkg-win32.rb: remove unmaintained ruby versions from binary gems.
5
+
6
+ 2020-12-29 Kubo Takehiro <kubo@jiubao.org>
7
+ * ext/oci8/oraconf.rb: Support --with-instant-client-dir along with --with-instant-client-lib/include.
8
+ (GH-223)
9
+
10
+ 2020-12-29 Kubo Takehiro <kubo@jiubao.org>
11
+ * ext/oci8/hook_funcs.c: Fix hooking failure with truffleruby.
12
+ * test/test_break.rb: Fix to pass tests with truffleruby.
13
+
14
+ 2020-12-28 Kubo Takehiro <kubo@jiubao.org>
15
+ * mkpkg-win32.rb: Build binary gems for ruby 3.0 on Windows.
16
+
17
+ 2020-12-28 Kubo Takehiro <kubo@jiubao.org>
18
+ * ext/oci8/ocinumber.c: Suppress C compiler warning: enumeration value ‘RUBY_T_NONE’ not handled in switch
19
+
20
+ 2020-09-10 Kubo Takehiro <kubo@jiubao.org>
21
+ * ext/oci8/extconf.rb: Fix for TruffleRuby 20.2 or before.
22
+
23
+ 2020-09-08 Brandon Fish <brandon.j.fish@oracle.com>
24
+ * ext/oci8/extconf.rb, lib/oci8.rb: Handle truffleruby RUBY_ENGINE in case statements
25
+
26
+ 2020-01-11 Kubo Takehiro <kubo@jiubao.org>
27
+ * NEWS: Add changes between 2.2.7 and 2.2.8.
28
+ * lib/oci8/version.rb: Update to 2.2.8.
29
+
30
+ 2020-01-11 Kubo Takehiro <kubo@jiubao.org>
31
+ * ext/oci8/bind.c: Fix warning: comparison between signed and
32
+ unsigned integer expressions
33
+
34
+ 2020-01-11 Kubo Takehiro <kubo@jiubao.org>
35
+ * test/README.md: Update preparation SQL statements for running tests.
36
+
37
+ 2020-01-11 Kubo Takehiro <kubo@jiubao.org>
38
+ * test/test_break.rb: Check Oracle server OS where tests run
39
+ using dbms_utility.port_string. Tests in test_break.rb
40
+ failed on Windows.
41
+
42
+ 2020-01-07 Kubo Takehiro <kubo@jiubao.org>
43
+ * mkpkg-win32.rb: Workarounds for compilation using ruby 2.4 and 2.6 with
44
+ latest msys2 to avoid 'undefined reference to __chk_fail'
45
+
46
+ 2020-01-06 Kubo Takehiro <kubo@jiubao.org>
47
+ * ext/oci8/win32.c: Fix warnings caused by the change of rb_ensure()'s
48
+ arguments in ruby 2.7.
49
+
50
+ 2019-12-16 Kubo Takehiro <kubo@jiubao.org>
51
+ * test/test_datetime.rb: Remove "require 'scanf'" to run tests with Ruby 2.7.
52
+ The 'scanf' library was removed. https://bugs.ruby-lang.org/issues/16170
53
+
54
+ 2019-12-15 Kubo Takehiro <kubo@jiubao.org>
55
+ * ext/oci8/oradate.c: Fix bug of OraDate.now introduced 15 years ago.
56
+
57
+ 2019-12-15 Kubo Takehiro <kubo@jiubao.org>
58
+ * ext/oci8/attr.c, ext/oci8/oci8lib.c: Fix warnings caused by the
59
+ change of rb_ensure()'s arguments in ruby 2.7.
60
+
61
+ 2019-06-19 Kubo Takehiro <kubo@jiubao.org>
62
+ * Merge pull request #217 from nathanbwright/patch-1
63
+ Fix spelling in install-instant-client.md
64
+ (GH-217)
65
+
66
+ 2019-06-18 Nathan Wright <nathanbwright@users.noreply.github.com>
67
+ * docs/install-instant-client.md: Fix spelling in install-instant-client.md
68
+ (GH-217)
69
+
70
+ 2019-04-24 Kubo Takehiro <kubo@jiubao.org>
71
+ * Merge pull request #212 from tomasjura/master
72
+ Compilation fix for Windows ( and some small cleanups )
73
+ (GH-212)
74
+
75
+ 2019-04-23 Tomas Jura <tomas.jura1@gmail.com>
76
+ * ext/oci8/oci8.h: eliminate compiler warning
77
+ (GH-212)
78
+
79
+ 2019-04-20 Tomas Jura <tomas.jura1@gmail.com>
80
+ * ext/oci8/bind.c: compiler warning eliminated
81
+ (GH-212)
82
+
83
+ 2019-04-20 Tomas Jura <tomas.jura1@gmail.com>
84
+ * setup.rb: use splat operator instead dummy variables
85
+ (GH-212)
86
+
87
+ 2019-04-20 Tomas Jura <tomas.jura1@gmail.com>
88
+ * lib/oci8.rb: use fiddler instead obsolete Win32API
89
+ (GH-212)
90
+
91
+ 2019-04-20 Tomas Jura <tomas.jura1@gmail.com>
92
+ * ext/oci8/oraconf.rb: fix typo in windows compilation
93
+ (GH-212)
94
+
95
+ 2019-03-23 Kubo Takehiro <kubo@jiubao.org>
96
+ * Merge pull request #210 from dminuoso/allow-custom
97
+ (Nix) Allow for specifying include/library paths
98
+ (GH-210)
99
+
100
+ 2019-03-23 Victor Nawothnig <Victor.Nawothnig@gmail.com>
101
+ * ext/oci8/oraconf.rb: Fix missing support for full client
102
+ (GH-210)
103
+
104
+ 2019-03-22 Victor Nawothnig <Victor.Nawothnig@gmail.com>
105
+ * ext/oci8/oraconf.rb: fixup! Allow overriding library/include paths
106
+ (GH-210)
107
+
108
+ 2019-03-21 Victor Nawothnig <Victor.Nawothnig@gmail.com>
109
+ * setup.rb: Add documentation for new flags
110
+ (GH-210)
111
+
112
+ 2019-03-21 Victor Nawothnig <Victor.Nawothnig@gmail.com>
113
+ * ext/oci8/oraconf.rb: Allow overriding library/include paths
114
+ (GH-210)
115
+
116
+ 2019-01-06 Kubo Takehiro <kubo@jiubao.org>
117
+ * NEWS: Add changes between 2.2.6.1 and 2.2.7.
118
+ * lib/oci8/version.rb: Update to 2.2.7
119
+
120
+ 2019-01-06 Kubo Takehiro <kubo@jiubao.org>
121
+ * mkpkg-win32.rb, ruby-oci8.gemspec: Build binary gems for ruby 2.6
122
+ on Windows.
123
+
124
+ 2019-01-06 Kubo Takehiro <kubo@jiubao.org>
125
+ * ext/oci8/oci8.c: Updata doc comments for OCI8#long_read_len
126
+ and OCI8#long_read_len=. These are deprecated.
127
+
128
+ 2019-01-03 Kubo Takehiro <kubo@jiubao.org>
129
+ * lib/oci8/check_load_error.rb: Use fiddle instead of Win32API
130
+ to call WIN32 functions.
131
+
132
+ 2019-01-03 Kubo Takehiro <kubo@jiubao.org>
133
+ * lib/oci8/check_load_error.rb: Add more error diagnostics
134
+ when 'require "oci8"' fails with "OCI.DLL: 126(The specified
135
+ module could not be found.)".
136
+
137
+ 2019-01-03 Kubo Takehiro <kubo@jiubao.org>
138
+ * lib/oci8.rb, lib/oci8/check_load_error.rb: Exclude empty
139
+ parts of PATH on Windows.
140
+
141
+ 2018-12-23 Kubo Takehiro <kubo@jiubao.org>
142
+ * lib/oci8/check_load_error.rb: Check OCI.DLL archtecture
143
+ when load error. It worked for ruby installer but not
144
+ for ruby installer2.
145
+
146
+ 2018-12-23 Kubo Takehiro <kubo@jiubao.org>
147
+ * docs/install-instant-client.md: Add information about
148
+ the MSVC redistributable package required by Oracle 18.3 client.
149
+
150
+ 2018-09-16 Kubo Takehiro <kubo@jiubao.org>
151
+ * ext/oci8/hook_funcs.c: Fix "No shared library is found to hook." on macOS.
152
+ (oracle-enhanced issue #1768)
153
+
154
+ 2018-09-11 Kubo Takehiro <kubo@jiubao.org>
155
+ * ext/oci8/object.c, lib/oci8/cursor.rb: Change the internal structure
156
+ about object type binding to use array fetching for object types.
157
+
158
+ 2018-09-09 Kubo Takehiro <kubo@jiubao.org>
159
+ * ext/oci8/lob.c: Read lob data without checking readable size to
160
+ reduce number of network round trips from two to one.
161
+
162
+ 2018-09-05 Kubo Takehiro <kubo@jiubao.org>
163
+ * ext/oci8/bind.c, ext/oci8/stmt.c, lib/oci8/cursor.rb,
164
+ lib/oci8/oci8.rb, test/test_oci8.rb: Use array fetching when
165
+ LOB colums are in a query and no object types are in the query.
166
+
167
+ 2018-09-02 Kubo Takehiro <kubo@jiubao.org>
168
+ * ext/oci8/apiwrap.yml, ext/oci8/bind.c, ext/oci8/stmt.c,
169
+ lib/oci8/bindtype.rb, test/test_oci8.rb: Rewrite OCI8::BindType::Long
170
+ and OCI8::BindType::LongRaw to handle up to 2 gigabyte data using
171
+ dynamically allocated buffers.
172
+
173
+ 2018-08-22 Kubo Takehiro <kubo@jiubao.org>
174
+ * NEWS: Add changes between 2.2.5.1 and 2.2.6
175
+ * lib/oci8/version.rb: Update to 2.2.6
176
+ * mkpkg-win32.rb: Don't test with self-build ruby 2.4.
177
+
178
+ 2018-08-22 Kubo Takehiro <kubo@jiubao.org>
179
+ * ext/oci8/oci8lib.c: Load a Oracle client library which doesn't have
180
+ version number suffix also on Unix when runtime-check is enabled.
181
+ Oracle version numbers are incremented yearly sice Oracle 18c.
182
+
183
+ 2018-08-22 Kubo Takehiro <kubo@jiubao.org>
184
+ * ext/oci8/hook_funcs.c, ext/oci8/win32.c: Suppress warnings:
185
+ "'raise_error' defined but not used" and "'strncpy' specified
186
+ bound 512 equals destination size".
187
+
188
+ 2018-08-19 Kubo Takehiro <kubo@jiubao.org>
189
+ * ext/oci8/hook_funcs.c: Not depend on Oracle version number
190
+ of Oracle client file name suffix when hooking functions.
191
+ (rsim/oracle-enhanced#1754)
192
+ * test/test_all.rb, test/test_properties.rb, dist-files:
193
+ Add tests for hooking.
194
+
195
+ 2018-08-18 Kubo Takehiro <kubo@jiubao.org>
196
+ * test/test_oci8.rb: Fix to pass a test when the client is 11g
197
+ and the server is 18c. client_driver in v$session_connect_info
198
+ has an extra space at the end.
199
+
200
+ 2018-08-18 Kubo Takehiro <kubo@jiubao.org>
201
+ * ext/oci8/apiwrap.rb, ext/oci8/apiwrap.yml, ext/oci8/oci8.c,
202
+ ext/oci8/oci8.h, lib/oci8/oci8.rb, lib/oci8/oracle_version.rb,
203
+ test/test_oci8.rb: Fix OCI8#oracle_server_version to get
204
+ full version of Oracle 18c.
205
+
206
+ 2018-08-18 Kubo Takehiro <kubo@jiubao.org>
207
+ * lib/oci8/metadata.rb: Update doc comments of OCI8::Metadata::ArgBase#level
208
+ and OCI8::Metadata::ArgBase#arguments.
209
+ * test/test_package_type.rb, lib/oci8.rb: Fix to pass tests on Oracle 18c.
210
+ Detailed user-defined type information used in arguments isn't available
211
+ on Oracle 18c.
212
+
213
+ 2018-08-12 Kubo Takehiro <kubo@jiubao.org>
214
+ * test/test_clob.rb: Skip TestCLob#test_github_issue_20 because it
215
+ takes 4 minutes to test it in my Linux box.
216
+
217
+ 2018-08-12 Kubo Takehiro <kubo@jiubao.org>
218
+ * ext/oci8/lob.c, test/test_clob.rb: LOB#sync, LOB#sync= and LOB#flush
219
+ do nothing now. They have not worked by mistake from the beginning
220
+ because incorrect arguments has been passed to OCILobOpen().
221
+ Moreover it crashed Oracle 18c server-side processes and caused
222
+ "ORA-03113: end-of-file on communication channel."
223
+ (github issue #198)
224
+
225
+ 2018-01-28 Kubo Takehiro <kubo@jiubao.org>
226
+ * ext/oci8/object.c, lib/oci8/object.rb: Add timestamp with time zone
227
+ data type support in object type attributes.
228
+ (github issue #185)
229
+ * test/setup_test_object.sql, test/test_object.rb: Add tests for
230
+ timestamp and timestamp with time zone.
231
+
232
+ 2018-01-23 Kubo Takehiro <kubo@jiubao.org>
233
+ * ext/oci8/object.c, ext/oci8/oci8.h, lib/oci8/object.rb:
234
+ Add timestamp data type support in object type attributes.
235
+ (github issue #185)
236
+
237
+ 2017-12-27 Kubo Takehiro <kubo@jiubao.org>
238
+ * mkpkg-win32.rb: Remove '-rubygems' in the command line to run tests.
239
+ `ubygems.rb` was removed in ruby 2.5.
240
+
241
+ 2017-12-27 Kubo Takehiro <kubo@jiubao.org>
242
+ * NEWS: Add changes between 2.2.5 and 2.2.5.1
243
+ * lib/oci8/version.rb: Update to 2.2.5.1
244
+ * mkpkg-win32.rb: Build binary gems for ruby 2.5.
245
+
246
+ 2017-12-27 Kubo Takehiro <kubo@jiubao.org>
247
+ * test/test_clob.rb, test/test_oci8.rb: Suppress `warning: assigned but unused variable`
248
+
249
+ 2017-12-26 Yasuo Honda <yasuo.honda@gmail.com>
250
+ * circle.yml: CI with Ruby 2.5.0
251
+ (github pull request #182)
252
+
253
+ 2017-12-21 Yasuo Honda <yasuo.honda@gmail.com>
254
+ * test/test_break.rb: Suppress expected exceptions tested with Ruby 2.5
255
+ (github pull request #181)
256
+
257
+ 2017-12-21 Yasuo Honda <yasuo.honda@gmail.com>
258
+ * test/test_oranumber.rb: Suppress `warning: BigDecimal.new is deprecated`
259
+ (github pull request #180)
260
+
261
+ 2017-10-21 Kubo Takehiro <kubo@jiubao.org>
262
+ * NEWS: Add changes between 2.2.4.1 and 2.2.5
263
+ * lib/oci8/version.rb: Update to 2.2.5
264
+ * docs/number-type-mapping.md: minor fix
265
+ * dist-files: Add files.
266
+
267
+ 2017-10-18 Kubo Takehiro <kubo@jiubao.org>
268
+ * docs/number-type-mapping.md, README.md, dist-files: Add document
269
+ about the mapping between Oracle number types and Ruby classes.
270
+
271
+ 2017-10-17 Kubo Takehiro <kubo@jiubao.org>
272
+ * lib/oci8/check_load_error.rb: Check error reason when loading
273
+ failed with 'The specified module could not be found' on Windows.
274
+
275
+ 2017-10-17 Kubo Takehiro <kubo@jiubao.org>
276
+ * lib/oci8/check_load_error.rb: Fix LoadError while trying to check
277
+ errors in "require 'oci8lib_230.so'" on cygwin 2.8 or later.
278
+ (related to github issue #176)
279
+
280
+ 2017-10-17 Kubo Takehiro <kubo@jiubao.org>
281
+ * ext/oci8/ocinumber.c, test/test_oranumber.rb:
282
+ Add OraNumber#has_fractional_part?.
283
+
284
+ 2017-10-01 Kubo Takehiro <kubo@jiubao.org>
285
+ * ext/oci8/plthook_elf.c: Update plthook to use prelinked
286
+ libclntsh.so on Linux.
287
+ (github issue #172)
288
+
289
+ 2017-09-27 Kubo Takehiro <kubo@jiubao.org>
290
+ * ext/oci8/oci8lib.c: Change order to load libclntsh when runtime
291
+ api check is enabled on Unix.
292
+
293
+ 2017-09-24 Kubo Takehiro <kubo@jiubao.org>
294
+ * ext/oci8/oci8lib.c: Try to load $ORACLE_HOME/lib/libclntsh.so also
295
+ when runtime api check is enabled on Unix.
296
+
297
+ 2017-09-23 Kubo Takehiro <kubo@jiubao.org>
298
+ * lib/oci8/cursor.rb: Don't call unnecessary __paramGet(i) when a
299
+ cursor is executed more than once.
300
+ (pointed by OMOTO Kenji at github issue #171)
301
+
302
+ 2017-07-09 Kubo Takehiro <kubo@jiubao.org>
303
+ * ext/oci8/apiwrap.yml, ext/oci8/oci8.c, lib/oci8/oci8.rb:
304
+ Delete unused code using OCILogon2 and OCILogoff.
305
+
306
+ 2017-07-09 Kubo Takehiro <kubo@jiubao.org>
307
+ * ext/oci8/error.c: Delete OCIError#initialize defined by C code
308
+ to suppress warning: method redefined; discarding old initialize.
309
+ (github issue #168)
310
+
311
+ 2017-06-17 Kubo Takehiro <kubo@jiubao.org>
312
+ * NEWS: Add changes between 2.2.4 and 2.2.4.1
313
+ * lib/oci8/version.rb: Update to 2.2.4.1
314
+ * lib/oci8/properties.rb: Fix URL links
315
+ * docs/hanging-after-inactivity.md: Revised
316
+
317
+ 2017-06-16 Kubo Takehiro <kubo@jiubao.org>
318
+ * ext/oci8/extconf.rb, ext/oci8/hook_funcs.c, ext/oci8/oci8lib.c:
319
+ Fix to pass compilation on cygwin.
320
+ * mkpkg-win32.rb: Add tests on cygwin.
321
+
322
+ 2017-06-16 Kubo Takehiro <kubo@jiubao.org>
323
+ * ext/oci8/hook_funcs.c: Fix the calling convention of setsockopt
324
+ on Windows x86.
325
+
326
+ 2017-06-11 Kubo Takehiro <kubo@jiubao.org>
327
+ * NEWS: Add changes between 2.2.3 and 2.2.4.
328
+ * lib/oci8/version.rb: update to 2.2.4.
329
+ * docs/ldap-auth-and-function-interposition.md,
330
+ docs/hanging-after-inactivity.md: updated
331
+
332
+ 2017-06-08 Kubo Takehiro <kubo@jiubao.org>
333
+ * lib/oci8.rb: Remove added dll directory after 'require oci8lib.so'.
334
+ (RubyInstaller2 for Windows only)
335
+
336
+ 2017-06-06 Kubo Takehiro <kubo@jiubao.org>
337
+ * docs/hanging-after-inactivity.md: revise
338
+ * dist-files: add docs/hanging-after-inactivity.md.
339
+
340
+ 2017-06-06 Kubo Takehiro <kubo@jiubao.org>
341
+ * mkpkg-win32.rb: Use RubyInstaller2 to compile binary gems for
342
+ ruby 2.4 on Windows.
343
+
344
+ 2017-05-31 Kubo Takehiro <kubo@jiubao.org>
345
+ * docs/hanging-after-inactivity.md:
346
+ Add a document about tcp_keepalive and tcp_keepalive_time properties.
347
+ * README.md, docs/timeout-parameters.md, lib/oci8/properties.rb:
348
+ Add links to the TCP keepalive document.
349
+
350
+ 2017-05-21 Kubo Takehiro <kubo@jiubao.org>
351
+ * docs/install-instant-client.md: Add a link to the Visual
352
+ C++ 2013 redistributable package required to use Oracle 12.2.
353
+
354
+ 2017-05-08 Kubo Takehiro <kubo@jiubao.org>
355
+ * lib/oci8.rb: Fix for RubyInstaller2 for Windows.
356
+ https://github.com/oneclick/rubyinstaller2/issues/11
357
+
358
+ 2017-05-07 Kubo Takehiro <kubo@jiubao.org>
359
+ * ext/oci8/oraconf.rb: Use Win32::Registry instead of Win32API
360
+ to compile ruby-oci8 on the latest cygwin.
361
+ (github issue #167)
362
+
363
+ 2017-02-14 Kubo Takehiro <kubo@jiubao.org>
364
+ * test/test_connstr.rb: fix test to pass the previous commit.
365
+
366
+ 2017-02-14 Kubo Takehiro <kubo@jiubao.org>
367
+ * ext/oci8/hook_funcs.c, ext/oci8/oci8.c, ext/oci8/oci8.h,
368
+ lib/oci8/oci8.rb, lib/oci8/properties.rb:
369
+ Add tcp_keepalive options to OCI8.properties.
370
+
371
+ 2017-01-14 Kubo Takehiro <kubo@jiubao.org>
372
+ * ext/oci8/env.c, ext/oci8/error.c, ext/oci8/oci8.h,
373
+ ext/oci8/oci8lib.c: Fix memory leaks when `require 'oci8'` raises a LoadError.
374
+
375
+ 2017-01-08 Kubo Takehiro <kubo@jiubao.org>
376
+ * docs/install-binary-package.md, docs/install-instant-client.md:
377
+ Update documents for installation on Windows.
378
+
379
+ 2017-01-07 Kubo Takehiro <kubo@jiubao.org>
380
+ * ext/oci8/oci8lib.c: If libclntsh.so exports and imports same
381
+ functions, their PLT entries are forcedly modified to point
382
+ to itself not to use functions in other libraries.
383
+ (Only on Linux and macOS)
384
+ * README.md, docs/ldap-auth-and-function-interposition.md:
385
+ Add document about "LDAP Authentication and Function Interposition."
386
+
387
+ 2016-12-28 Yavor Nikolov <nikolov.javor@gmail.com>
388
+ * README.md: add build status and Gem version badges
389
+ (merged at 2016-12-29)
390
+
391
+ 2016-12-28 Yavor Nikolov <nikolov.javor@gmail.com>
392
+ * README.md: add title, demote sections to H2
393
+ (merged at 2016-12-29)
394
+
395
+ 2016-12-28 Yavor Nikolov <nikolov.javor@gmail.com>
396
+ * lib/oci8/cursor.rb: Fix misleading cursor.bind_param header comment
397
+ Reword an obsolete description of bind_param - since currently there is no
398
+ restriction for Bignum nor for very large Integer values.
399
+ (merged at 2016-12-29)
400
+
401
+ 2016-12-27 Yavor Nikolov <nikolov.javor@gmail.com>
402
+ * dist-files, test/test_all.rb, test/test_bind_integer.rb:
403
+ Tests for binding integer cursor in parameters
404
+ Add tests for binding a range of small and large integer variables
405
+ directly (not through OraNumber).
406
+ (merged at 2016-12-29)
407
+
408
+ 2016-12-26 Yavor Nikolov <nikolov.javor@gmail.com>
409
+ * circle.yml, cisetup/create_ruby_user.sql, cisetup/oracle/download.sh,
410
+ cisetup/oracle/install.sh, cisetup/setup_accounts.sh:
411
+ Add Circle CI build
412
+ (merged at 2016-12-28)
413
+
414
+ 2016-12-26 Yavor Nikolov <nikolov.javor@gmail.com>
415
+ * test/test_oci8.rb: Fix date/time test (expected time timezone).
416
+ Time.now offset leads to unstable test due to DST sensitivity.
417
+ The solution is to take the offset of the specific local date/time.
418
+ (merged at 2016-12-28)
419
+
420
+ 2016-12-25 Koichi ITO <koic.ito@gmail.com>
421
+ * ext/oci8/encoding.c, ext/oci8/oci8.c, ext/oci8/ocihandle.c
422
+ ext/oci8/oraconf.rb, ext/oci8/oradate.c, ext/oci8/stmt.c
423
+ lib/oci8/cursor.rb: Integer Unification in Ruby 2.4.0+
424
+ (merged at 2016-12-29)
425
+
426
+ 2016-12-27 Kubo Takehiro <kubo@jiubao.org>
427
+ * NEWS: Add changes between 2.2.2 and 2.2.3.
428
+ * lib/oci8/version.rb: update to 2.2.3.
429
+ * dist-files: add test/test_bind_array.rb
430
+ * mkpkg-win32.rb: add path to ruby 2.4.0
431
+
432
+ 2016-12-26 Kubo Takehiro <kubo@jiubao.org>
433
+ * test/test_clob.rb, test/test_metadata.rb, test/test_object.rb,
434
+ test/test_oci8.rb, test/test_package_type.rb: Suppress warnings:
435
+ "Use assert_nil if expecting nil from ... in `...' This will
436
+ fail in MT6" printed by Minitest.
437
+
438
+ 2016-12-26 Kubo Takehiro <kubo@jiubao.org>
439
+ * lib/oci8/bindtype.rb, lib/oci8/compat.rb, lib/oci8/oci8.rb,
440
+ test/config.rb: Suppress "warning: constant ::Fixnum is deprecated"
441
+ and "warning: constant ::Bignum is deprecated" due to integer
442
+ unification in ruby 2.4.0.
443
+
444
+ 2016-12-14 Koichi ITO <koic.ito@gmail.com>
445
+ * ext/oci8/ocinumber.c: Fix invalid value for BigDecimal in
446
+ Ruby 2.4.0+
447
+
448
+ 2016-09-25 Kubo Takehiro <kubo@jiubao.org>
449
+ * ext/oci8/metadata.c, ext/oci8/oci8.c: Fix load error when
450
+ GC.stress = true.
451
+
452
+ 2016-09-11 Kubo Takehiro <kubo@jiubao.org>
453
+ * ext/oci8/oci8.h: Suppress 'warning: "ALWAYS_INLINE" redefined' when
454
+ compiled for ruby 2.4.0-preview2.
455
+
456
+ 2016-05-28 Kubo Takehiro <kubo@jiubao.org>
457
+ * docs/install-on-osx.md: Update installation document about OS X again.
458
+
459
+ 2016-05-28 Kubo Takehiro <kubo@jiubao.org>
460
+ * docs/install-on-osx.md: Update installation document about OS X.
461
+
462
+ 2016-04-24 Kubo Takehiro <kubo@jiubao.org>
463
+ * mkpkg-win32.rb: Added to compile mingw32 packages.
464
+ * dist-files: Updated to include docs/report-installation-issue.md.
465
+
466
+ 2016-04-24 Kubo Takehiro <kubo@jiubao.org>
467
+ * NEWS: Add changes between 2.2.1 and 2.2.2.
468
+ * lib/oci8/version.rb: update to 2.2.2.
469
+
470
+ 2016-04-24 Kubo Takehiro <kubo@jiubao.org>
471
+ * docs/report-installation-issue.md: Use RbConfig::CONFIG instead of
472
+ deprecated Config::CONFIG.
473
+
474
+ 2016-04-24 Kubo Takehiro <kubo@jiubao.org>
475
+ * lib/oci8/oci8.rb: Add OCI8::in_cond and OCI8:InCondBindHelper.
476
+ * test/test_all.rb, test/test_bind_array.rb: Add test of OCI8::in_cond.
477
+ * README.md, docs/bind-array-to-in_cond.md: Add document of OCI8::in_cond.
478
+
479
+ 2016-04-10 Kubo Takehiro <kubo@jiubao.org>
480
+ * lib/oci8/connection_pool.rb: update document.
481
+
482
+ 2016-03-27 Kubo Takehiro <kubo@jiubao.org>
483
+ * lib/oci8/object.rb: Suppress warning: instance variable
484
+ @name_to_tdo not initialized.
485
+
486
+ 2016-03-27 Kubo Takehiro <kubo@jiubao.org>
487
+ * ext/oci8/apiwrap.yml, ext/oci8/metadata.c, ext/oci8/object.c,
488
+ ext/oci8/oci8.h, lib/oci8/object.rb, test/setup_test_object.sql,
489
+ test/test_object.rb: Check object type from each object instance
490
+ when an Oracle object is got from a bind parameter.
491
+ (github issue #119)
492
+
493
+ 2016-03-27 Kubo Takehiro <kubo@jiubao.org>
494
+ * lib/ruby-oci8.rb: Added for 'Bundler.require'.
495
+ (github issue #114)
496
+ * dist-files: Add lib/ruby-oci8.rb.
497
+
498
+ 2016-03-27 Kubo Takehiro <kubo@jiubao.org>
499
+ * README.md, docs/timeout-parameters.md, lib/oci8/oci8.rb:
500
+ Update documents about timeout parameters.
501
+
502
+ 2016-03-18 Kubo Takehiro <kubo@jiubao.org>
503
+ * ext/oci8/oraconf.rb: Fix for mswin64.
504
+
505
+ 2016-03-15 Kubo Takehiro <kubo@jiubao.org>
506
+ * docs/conflicts-local-connections-and-processes.md: Add a document
507
+ about conflicts between local connections and child process
508
+ handling on Unix.
509
+ * README.md: Add a link to a newly added file.
510
+
511
+ 2016-03-13 Kubo Takehiro <kubo@jiubao.org>
512
+ * ruby-oci8.gemspec: Change the license name in gemspec to suppress the
513
+ following warning.
514
+ WARNING: license value '2-clause BSD-style license' is invalid.
515
+ Use a license identifier from http://spdx.org/licenses or 'Nonstandard'
516
+ for a nonstandard license.
517
+
518
+ 2016-01-29 Kubo Takehiro <kubo@jiubao.org>
519
+ * lib/oci8/oci8.rb, lib/oci8/properties.rb: Rename outbound_connect_timeout in
520
+ OCI8::properties to connect_timeout.
521
+ * docs/timeout-parameters.md: Revise document.
522
+
523
+ 2015-12-20 Kubo Takehiro <kubo@jiubao.org>
524
+ * lib/oci8/cursor.rb: Use OCI_ATTR_UB8_ROW_COUNT to get the number of processed rows
525
+ if Oracle client version is 12c or upper.
526
+
527
+ 2015-12-20 Kubo Takehiro <kubo@jiubao.org>
528
+ * lib/oci8/oci8.rb, lib/oci8/properties.rb, test/test_connstr.rb:
529
+ Support tcp_connect_timeout, connect_timeout, send_timeout and
530
+ recv_timeout in OCI8::properties.
531
+ * .yardopts, dist-files, docs/timeout-parameters.md: Add document
532
+ about timeout parameters.
533
+
534
+ 2015-12-19 Kubo Takehiro <kubo@jiubao.org>
535
+ * lib/oci8/oci8.rb, lib/oci8/ocihandle.rb: Support SYSBACKUP, SYSDG
536
+ and SYSKM privileges.
537
+ (github issue #110)
538
+
539
+ 2015-12-19 Kubo Takehiro <kubo@jiubao.org>
540
+ * ext/oci8/plthook_win32.c: Fix bug introduced by the previous commit
541
+ for mingw32 64-bit compiler.
542
+ (github issue #113)
543
+
544
+ 2015-12-18 Kubo Takehiro <kubo@jiubao.org>
545
+ * ext/oci8/plthook_win32.c, ext/oci8/extconf.rb: Import the latest
546
+ plthook_win32.c for cygwin. Ruby-oci8 had not been compiled on
547
+ cygwin since 2.1.8.
548
+ (github issue #113)
549
+
550
+ 2015-12-18 Kubo Takehiro <kubo@jiubao.org>
551
+ * ext/oci8/oraconf.rb: Fix a linkage error on cygwin and mingw32
552
+ when installing without `--with-runtime-check`.
553
+ This bug was introduced in ruby-oci8 2.2.1.
554
+ (github issue #113)
555
+
556
+ 2015-11-28 Kubo Takehiro <kubo@jiubao.org>
557
+ * ext/oci8/oraconf.rb: Check the default value of DYLD_FALLBACK_LIBRARY_PATH
558
+ after checking OCI_DIR. (OS X only)
559
+
560
+ 2015-11-01 Kubo Takehiro <kubo@jiubao.org>
561
+ * NEWS: Add changes between 2.2.0.2 and 2.2.1.
562
+ * lib/oci8/version.rb: update to 2.2.1.
563
+
564
+ 2015-11-01 Kubo Takehiro <kubo@jiubao.org>
565
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h: Delete unnecessary checks.
566
+ * ext/oci8/oraconf.rb: Reduce time to build an import library on
567
+ Mingw32 and Cygwin.
568
+
569
+ 2015-11-01 Kubo Takehiro <kubo@jiubao.org>
570
+ * lib/oci8/oci8.rb: delete code for Oracle 8i.
571
+
572
+ 2015-10-26 Kubo Takehiro <kubo@jiubao.org>
573
+ * ext/oci8/oci8lib.c: Fix handle leaks when OCI8#ping is used and
574
+ the Oracle client version is 10gR1.
575
+ This bug was introduced in ruby-oci8 2.2.0.
576
+
577
+ 2015-10-26 Kubo Takehiro <kubo@jiubao.org>
578
+ * ext/oci8/oci8lib.c: Revive code dropped in ruby-oci8 2.2.0.
579
+ This prevents potential SEGV on ruby process termination.
580
+
581
+ 2015-10-26 Kubo Takehiro <kubo@jiubao.org>
582
+ * ext/oci8/ocinumber.c: Drop code for ruby 1.8.
583
+ Rational has been a built-in type since ruby 1.9.
584
+
585
+ 2015-10-20 Kubo Takehiro <kubo@jiubao.org>
586
+ * ext/oci8/bind.c, lib/oci8/bindtype.rb, test/test_all.rb,
587
+ test/test_bind_boolean.rb: Support boolean type binding.
588
+
589
+ 2015-10-19 Kubo Takehiro <kubo@jiubao.org>
590
+ * ext/oci8/apiwrap.yml: Delete unused OCI function definitions.
591
+
592
+ 2015-10-19 Kubo Takehiro <kubo@jiubao.org>
593
+ * ext/oci8/extconf.rb: Use macros OCI_MAJOR_VERSION and OCI_MINOR_VERSION
594
+ in oci.h to check the target Oracle client version.
595
+
596
+ 2015-10-12 Kubo Takehiro <kubo@jiubao.org>
597
+ * NEWS: Add changes between 2.2.0.1 and 2.2.0.2.
598
+
599
+ 2015-10-12 Kubo Takehiro <kubo@jiubao.org>
600
+ * lib/oci8/version.rb: Update the version to 2.2.0.2 to
601
+ release binary gems for mingw32.
602
+
603
+ 2015-10-11 Kubo Takehiro <kubo@jiubao.org>
604
+ * NEWS: Add changes between 2.2.0 and 2.2.0.1.
605
+ * docs/install-on-osx.md: Fix indent width.
606
+ * lib/oci8/version.rb: update to 2.2.0.1.
607
+
608
+ 2015-10-11 Kubo Takehiro <kubo@jiubao.org>
609
+ * docs/osx-install-dev-tools.png: added.
610
+ * docs/install-on-osx.md: fix "Install C compiler."
611
+ * README.md: Use documents in rubydoc.info as homepage.
612
+
613
+ 2015-10-10 Kubo Takehiro <kubo@jiubao.org>
614
+ * ruby-oci8.gemspec: Change the required_ruby_version from '>= 1.8.0'
615
+ to '>= 1.9.1'.
616
+ (github issue #96)
617
+
618
+ 2015-10-06 Kubo Takehiro <kubo@jiubao.org>
619
+ * README.md: Add notice that ruby 1.8 is not supported.
620
+ * README.md, ext/oci8/oraconf.rb: Change links to ruby-oci8 documents.
621
+ They had referred docs generated from the latest gem. They were
622
+ updated only when a new version was released. Now they refers
623
+ to docs generated from the latest github repository. They are
624
+ updated for each commits.
625
+
626
+ 2015-10-05 Kubo Takehiro <kubo@jiubao.org>
627
+ * docs/install-on-osx.md: Merge GH-97: Fix small typo in NEWS file.
628
+
629
+ 2015-10-04 Kubo Takehiro <kubo@jiubao.org>
630
+ * NEWS: Add changes between 2.1.8 and 2.2.0.
631
+
632
+ 2015-10-04 Kubo Takehiro <kubo@jiubao.org>
633
+ * ext/oci8/oci8lib.c: Fix compilation errors when --with-runtime-check
634
+ is passed to extconf.rb.
635
+
636
+ 2015-10-04 Kubo Takehiro <kubo@jiubao.org>
637
+ * ext/oci8/apiwrap.yml, ext/oci8/stmt.c: Use OCIStmtPrepare2 as
638
+ a local function, which doesn't require a server round-trip.
639
+ Local functions are executed without releasing the GVL.
640
+
641
+ 2015-10-04 Kubo Takehiro <kubo@jiubao.org>
642
+ * docs/install-on-osx.md: Add notice that OCI_DIR is necessary
643
+ when Homebrew is installed outside /usr/local.
644
+ * README.md: Add a link to install-on-osx.md.
645
+
646
+ 2015-10-03 Kubo Takehiro <kubo@jiubao.org>
647
+ * docs/install-on-osx.md: Merge GH-95: Add OCI_DIR export to
648
+ Homebrew Installation Steps
649
+
650
+ 2015-09-29 Kubo Takehiro <kubo@jiubao.org>
651
+ * docs/install-on-osx.md, .yardopts: Add a new file for
652
+ installation on OS X.
653
+ * docs/install-instant-client.md: Delete installation steps
654
+ on OS X.
655
+
656
+ 2015-09-26 Kubo Takehiro <kubo@jiubao.org>
657
+ * lib/oci8/check_load_error.rb: Refactoring.
658
+
659
+ 2015-09-26 Kubo Takehiro <kubo@jiubao.org>
660
+ * ext/dist-files, ext/oci8/extconf.rb, ext/oci8/oci8.h,
661
+ ext/oci8/oci8lib.c, ext/oci8/osx.c: Revert the previous commit.
662
+
663
+ 2015-09-19 Kubo Takehiro <kubo@jiubao.org>
664
+ * ext/dist-files, ext/oci8/extconf.rb, ext/oci8/oci8.h,
665
+ ext/oci8/oci8lib.c, ext/oci8/osx.c: Intercept dlopen issued
666
+ by libclntsh.dylib to make OCIEnvCreate() work without
667
+ setting rpath to ruby itself.
668
+ ** This commit was reverted. **
669
+
670
+ 2015-09-19 Kubo Takehiro <kubo@jiubao.org>
671
+ * ext/oci8/oraconf.rb: Use OCI_DIR environmant variable also
672
+ to check instant client directory on OS X.
673
+ (github issue #89)
674
+
675
+ 2015-09-19 Kubo Takehiro <kubo@jiubao.org>
676
+ * ext/oci8/oci8.h: Define STRINGIZE macro for rubinius.
677
+
678
+ 2015-09-19 Kubo Takehiro <kubo@jiubao.org>
679
+ * README.md: Update supported Oracle version.
680
+ * dist-files: Add lib/oci8/check_load_error.rb.
681
+ * ext/oci8/extconf.rb: Reduce the number of #define values.
682
+
683
+ 2015-09-17 Kubo Takehiro <kubo@jiubao.org>
684
+ * lib/oci8/oci8.rb: Change the driver name displayed in
685
+ V$SESSION_CONNECT_INFO.CLIENT_DRIVER from "rubyoci8 : VERSION" to
686
+ "ruby-oci8 : VERSION".
687
+ * test/test_oci8.rb: Fix a test checking the driver name.
688
+ (github issue #93)
689
+
690
+ 2015-09-13 Kubo Takehiro <kubo@jiubao.org>
691
+ * NEWS, docs/report-installation-issue.md, ext/oci8/oraconf.rb,
692
+ lib/oci8/properties.rb, ruby-oci8.gemspec: Fix links to rubyforge.
693
+
694
+ 2015-09-13 Kubo Takehiro <kubo@jiubao.org>
695
+ * ruby-oci8.gemspec: Use Kernel.load instead of load not to use Gem::Specification.load.
696
+
697
+ 2015-09-13 Kubo Takehiro <kubo@jiubao.org>
698
+ * .gitignore: Ignore ext/oci8/*.bundle.
699
+
700
+ 2015-09-12 Kubo Takehiro <kubo@jiubao.org>
701
+ * ext/oci8/lob.c: Add notice that OCI8::LOB is an I/O object and is closed
702
+ when a associating connection is closed.
703
+
704
+ 2015-09-12 Kubo Takehiro <kubo@jiubao.org>
705
+ * lib/oci8/oci8.rb: Add ruby-oci8 version to
706
+ V$SESSION_CONNECT_INFO.CLIENT_DRIVER for Oracle 12.1.0.2 or later.
707
+ (suggested by Christopher Jones)
708
+
709
+ 2015-08-24 Kubo Takehiro <kubo@jiubao.org>
710
+ * ext/oci8/apiwrap.yml, ext/oci8/lob.c: Support LOB whose size is
711
+ over 4G.
712
+
713
+ 2015-08-23 Kubo Takehiro <kubo@jiubao.org>
714
+ * dist-files: Add ext/oci8/util.c.
715
+
716
+ 2015-07-12 Kubo Takehiro <kubo@jiubao.org>
717
+ * docs/install-instant-client.md: Add instant client installation
718
+ instructions on OS X using homebrew.
719
+
720
+ 2015-07-12 Kubo Takehiro <kubo@jiubao.org>
721
+ * ext/oci8/oci8.rb: Check DYLD_FALLBACK_LIBRARY_PATH also on
722
+ installation. (OS X only)
723
+
724
+ 2015-07-11 Kubo Takehiro <kubo@jiubao.org>
725
+ * ext/oci8/error.c, ext/oci8/extconf.rb, ext/oci8/oci8.h,
726
+ ext/oci8/oci8lib.c, ext/oci8/util.c, ext/oci8/win32.c,
727
+ lib/oci8/encoding-init.rb: Delete OCI8::Win32Util.dll_path
728
+ and add OCI8::Util.dll_path, which works on Linux, Solaris,
729
+ OS X and HP-UX in addition to Windows.
730
+
731
+ 2015-06-26 Kubo Takehiro <kubo@jiubao.org>
732
+ * lib/oci8.rb, lib/oci8/check_load_error.rb: Check the message of
733
+ LoadError and raise more user-friendly message.
734
+
735
+ 2015-06-23 Kubo Takehiro <kubo@jiubao.org>
736
+ * ruby-oci8.gemspec: Load oci8/version.rb temporarily and delete OCI8.
737
+ Some 'bundler' tasks load 'ruby-oci8.gemspec' before 'require "oci8"'
738
+ and fail with 'TypeError: superclass mismatch for class OCI8.'
739
+ (github issue #80)
740
+
741
+ 2015-06-21 Kubo Takehiro <kubo@jiubao.org>
742
+ * ruby-oci8.gemspec: Use ruby-oci8 version in lib/oci8/version.rb
743
+ instead of VERSION file to generate gem.
744
+ (github issue #79)
745
+
746
+ 2015-06-21 Kubo Takehiro <kubo@jiubao.org>
747
+ * Makefile, dist-files, ext/oci8/extconf.rb, ext/oci8/oci8.c: Use
748
+ ruby-oci8 version in lib/oci8/version.rb instead of VERSION file.
749
+ * VERSION: Deleted
750
+ * lib/oci8/version.rb: Added
751
+ * lib/oci8.rb, lib/oci8.rb.in: Renamed lib/oci8.rb to lib/oci8.rb.in.
752
+
753
+ 2015-06-21 Kubo Takehiro <kubo@jiubao.org>
754
+ * lib/oci8/encoding-init.rb: Get Oracle client charset name from
755
+ the environment handle instead of NLS_LANG.
756
+
757
+ 2015-06-20 Kubo Takehiro <kubo@jiubao.org>
758
+ * ext/oci8/oci8.h: Fix a compilation error.
759
+
760
+ 2015-06-20 Kubo Takehiro <kubo@jiubao.org>
761
+ * lib/oci8/oci8.rb: Change the default prefetch rows size 100.
762
+
763
+ 2015-06-20 Kubo Takehiro <kubo@jiubao.org>
764
+ * ext/oci8/extconf.rb: Delete an object file created by extconf.rb
765
+ before compilation.
766
+ (github issue #75)
767
+
768
+ 2015-06-20 Kubo Takehiro <kubo@jiubao.org>
769
+ * ext/oci8/apiwrap.yml, ext/oci8/stmt.c:
770
+ Delete unreachable code which was created when Oracle 9i support was dropped.
771
+
772
+ 2015-05-24 Kubo Takehiro <kubo@jiubao.org>
773
+ * ext/oci8/encoding.c: Add OCI8.charset_name2id and OCI8.charset_id2name.
774
+ Mark OCI8#charset_name2id and OCI8#charset_id2name as deprecated.
775
+
776
+ 2015-05-23 Kubo Takehiro <kubo@jiubao.org>
777
+ * ext/oci8/bind.c, ext/oci8/encoding.c, ext/oci8/error.c, ext/oci8/oci8.c,
778
+ ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c, ext/oci8/stmt.c,
779
+ lib/oci8/metadata.rb, lib/oci8/properties.rb:
780
+ Drop Oracle 9i support.
781
+
782
+ 2015-05-22 Kubo Takehiro <kubo@jiubao.org>
783
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/encoding.c, ext/oci8/env.c,
784
+ ext/oci8/extconf.rb, ext/oci8/lob.c, ext/oci8/oci8.c, ext/oci8/oci8.h,
785
+ ext/oci8/oci8lib.c, ext/oci8/ocinumber.c, ext/oci8/thread_util.c,
786
+ ext/oci8/thread_util.h, lib/oci8/bindtype.rb, lib/oci8/encoding-init.rb,
787
+ lib/oci8/oci8.rb: Drop ruby 1.8 support.
788
+
789
+ 2015-04-04 Kubo Takehiro <kubo@jiubao.org>
790
+ * NEWS: add changes between 2.1.7 and 2.1.8.
791
+ * VERSION: update to 2.1.8.
792
+ * dist-files: add new files.
793
+
794
+ 2015-04-04 Kubo Takehiro <kubo@jiubao.org>
795
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h: Add a macro for old rubies which
796
+ don't have rb_str_set_len().
797
+ * ext/oci8/hook_funcs.c: Suppress a warning.
798
+
799
+ 2015-04-04 Kubo Takehiro <kubo@jiubao.org>
800
+ * ext/oci8/lob.c: Increase the buffer size to read a LOB.
801
+
802
+ 2015-04-04 Kubo Takehiro <kubo@jiubao.org>
803
+ * docs/install-instant-client.md, ext/oci8/lob.c, ext/oci8/metadata.c,
804
+ ext/oci8/oci8.c: Update documents for YARD.
805
+
806
+ 2015-04-02 Kubo Takehiro <kubo@jiubao.org>
807
+ * ext/oci8/lob.c: Fix SEGV when a temporary LOB is freed by GC
808
+ while reading another lob and the ruby version is 2.0.0 or
809
+ upper.
810
+
811
+ 2015-03-01 Kubo Takehiro <kubo@jiubao.org>
812
+ * lib/oci8/cursor.rb, lib/oci8/properties.rb:
813
+ Fix errors while generating documents by yard such as
814
+ "Exception occurred while generating 'OCI8/Cursor.html'."
815
+
816
+ 2015-03-01 Kubo Takehiro <kubo@jiubao.org>
817
+ * ext/oci8/oci8.c, ext/oci8/oci8.h: Rollback transactions on
818
+ logoff only when the transactions are in progress.
819
+
820
+ 2015-01-27 Kubo Takehiro <kubo@jiubao.org>
821
+ * ext/oci8/ocihandle.c, ext/oci8/ocinumber.c, ext/oci8/oradate.c,
822
+ ext/oci8/stmt.c: Suppreess warnings: "[warn]: @param tag has unknown parameter name: xxx"
823
+ by yard.
824
+
825
+ 2015-01-20 Kubo Takehiro <kubo@jiubao.org>
826
+ * lib/oci8/oci8.rb: Add OCI8#send_timeout, OCI8#send_timeout=,
827
+ OCI8#recv_timeout and OCI8#recv_timeout=.
828
+
829
+ 2015-01-20 Kubo Takehiro <kubo@jiubao.org>
830
+ * ext/oci8/hook_funcs.c, ext/oci8/oci8.c, ext/oci8/oci8.h:
831
+ Fix for cancel_read_at_exit on Windows.
832
+
833
+ 2015-01-20 Kubo Takehiro <kubo@jiubao.org>
834
+ * ext/oci8/oci8.c, ext/oci8/oci8lib.c, lib/oci8/properties.rb:
835
+ Add OCI8.properties[:cancel_read_at_exit].
836
+
837
+ 2015-01-20 Kubo Takehiro <kubo@jiubao.org>
838
+ * ext/oci8/extconf.rb, ext/oci8/hook_funcs.c, ext/oci8/oci8.c,
839
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/plthook.h,
840
+ ext/oci8/plthook_elf.c, ext/oci8/plthook_osx.c,
841
+ ext/oci8/plthook_win32.c: Cancel read system calls at exit
842
+ not to block ruby process termination.
843
+ This works on Linux, OSX and Windows Vista or upper.
844
+ (github issue #56)
845
+
846
+ 2015-01-12 Kubo Takehiro <kubo@jiubao.org>
847
+ * README.md: Fix a broken link.
848
+ (github issue #67 reported by Zloy)
849
+
850
+ 2014-12-30 Kubo Takehiro <kubo@jiubao.org>
851
+ * ext/oci8/lob.c, ext/oci8/oci8lib.c: Revise type checking of LOB.
852
+
853
+ 2014-12-30 Kubo Takehiro <kubo@jiubao.org>
854
+ * ext/oci8/bind.c, ext/oci8/connection_pool.c, ext/oci8/lob.c,
855
+ ext/oci8/metadata.c, ext/oci8/object.c, ext/oci8/oci8.c, ext/oci8/oci8.h,
856
+ ext/oci8/oci8lib.c, ext/oci8/ocihandle.c, ext/oci8/stmt.c:
857
+ Add oci8_check_typeddata() and use it instead of oci8_get_handle()
858
+ and oci8_get_bind().
859
+
860
+ 2014-12-30 Kubo Takehiro <kubo@jiubao.org>
861
+ * ext/oci8/oradate.c: Add check_oradate() to check datatype.
862
+
863
+ 2014-12-30 Kubo Takehiro <kubo@jiubao.org>
864
+ * ext/oci8/lob.c, ext/oci8/metadata.c, ext/oci8/object.c, ext/oci8/stmt.c:
865
+ Add more write barriers.
866
+
867
+ 2014-12-29 Kubo Takehiro <kubo@jiubao.org>
868
+ * ext/oci8/bind.c, ext/oci8/connection_pool.c, ext/oci8/lob.c,
869
+ ext/oci8/metadata.c, ext/oci8/object.c, ext/oci8/oci8.c, ext/oci8/oci8.h
870
+ ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c, ext/oci8/ocihandle.c,
871
+ ext/oci8/ocinumber.c, ext/oci8/oradate.c, ext/oci8/stmt.c:
872
+ Use rb_data_type_t as the base type of oci8_handle_data_type_t.
873
+
874
+ 2014-12-29 Kubo Takehiro <kubo@jiubao.org>
875
+ * ext/oci8/bind.c, ext/oci8/connection_pool.c, ext/oci8/lob.c,
876
+ ext/oci8/metadata.c, ext/oci8/object.c, ext/oci8/oci8.c, ext/oci8/oci8.h
877
+ ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c, ext/oci8/ocihandle.c,
878
+ ext/oci8/ocinumber.c, ext/oci8/oradate.c, ext/oci8/stmt.c:
879
+ Rename vtable and vptr to data_type.
880
+
881
+ 2014-12-29 Kubo Takehiro <kubo@jiubao.org>
882
+ * ext/oci8/bind.c, ext/oci8/connection_pool.c, ext/oci8/lob.c,
883
+ ext/oci8/metadata.c, ext/oci8/object.c, ext/oci8/oci8.c, ext/oci8/oci8.h
884
+ ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c, ext/oci8/ocihandle.c,
885
+ ext/oci8/ocinumber.c, ext/oci8/oradate.c, ext/oci8/stmt.c:
886
+ Add oci8_allocate_typeddata() and use it to allocate OCI objects.
887
+
888
+ 2014-12-23 Kubo Takehiro <kubo@jiubao.org>
889
+ * ext/oci8/connection_pool.c, ext/oci8/metadata.c, ext/oci8/object.c,
890
+ ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/ocihandle.c
891
+ ext/oci8/ocinumber.c, ext/oci8/oradate.c, ext/oci8/stmt.c:
892
+ Add write barriers to use generational GC.
893
+
894
+ 2014-12-23 Kubo Takehiro <kubo@jiubao.org>
895
+ * ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/ocihandle.c,
896
+ ext/oci8/ocinumber.c, ext/oci8/oradate.c:
897
+ Use TypedData on ruby 1.9.3 and later.
898
+
899
+ 2014-12-22 Kubo Takehiro <kubo@jiubao.org>
900
+ * ext/oci8/extconf.rb, ext/oci8/stmt.c: Don't use SYM2ID on ruby 2.2.0
901
+ or later. Symbols passed to SYM2ID are not GC'ed.
902
+
903
+ 2014-12-21 Kubo Takehiro <kubo@jiubao.org>
904
+ * ext/oci8/bind.c, ext/oci8/object.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
905
+ ext/oci8/ocidatetime.c, ext/oci8/ocihandle.c, ext/oci8/ocinumber.c:
906
+ Use RARRAY_AREF and RARRAY_CONST_PTR for Generational GC.
907
+
908
+ 2014-12-06 Kubo Takehiro <kubo@jiubao.org>
909
+ * ext/oci8/connection_pool.c, ext/oci8/lob.c, ext/oci8/oci8.c,
910
+ ext/oci8/stmt.c: Fix "RuntimeError:executing in another thread"
911
+ when a closed connection is used. This bug was introduced by
912
+ the previous commit.
913
+ (github issue #64 reported by Yasuo Honda)
914
+
915
+ 2014-11-16 Kubo Takehiro <kubo@jiubao.org>
916
+ * ext/oci8/attr.c, ext/oci8/bind.c, ext/oci8/connection_pool.c,
917
+ ext/oci8/lob.c, ext/oci8/metadata.c, ext/oci8/object.c,
918
+ ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
919
+ ext/oci8/ocihandle.c, ext/oci8/stmt.c:
920
+ Raises an exception when a closed OCI8 object is used.
921
+ Using a closed cursor causes various problems such as segmentation
922
+ fault, nil comparison error and so on.
923
+ (github issue #61 and #62 reported by Mike Bourgeous)
924
+
925
+ 2014-02-02 Kubo Takehiro <kubo@jiubao.org>
926
+ * NEWS: add changes between 2.1.7 and 2.1.6.
927
+ * VERSION: change the version to 2.1.7.
928
+
929
+ 2014-01-25 Kubo Takehiro <kubo@jiubao.org>
930
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: Follow ABI versioning after ruby 2.1.0.
931
+
932
+ 2014-01-19 Kubo Takehiro <kubo@jiubao.org>
933
+ * docs/install-full-client.md, docs/install-instant-client.md: Change down
934
+ load URL and filenames in examples.
935
+
936
+ 2014-01-06 Kubo Takehiro <kubo@jiubao.org>
937
+ * README.md, docs/install-full-client.md, docs/install-instant-client.md,
938
+ docs/report-installation-issue.md, ext/oci8/oraconf.rb, ruby-oci8.gemspec:
939
+ Move the project page and download URL to github.
940
+
941
+ 2014-01-05 KUBO Takehiro <kubo@jiubao.org>
942
+ * ext/oci8/metadata.c, ext/oci8/oci8.h, lib/oci8/metadata.rb:
943
+ Fix OCI8#describe_table to follow synonyms in a remote database.
944
+ Add OCI8::Metadata::Base#obj_link.
945
+
946
+ 2013-12-29 KUBO Takehiro <kubo@jiubao.org>
947
+ * NEWS: add changes between 2.1.6 and 2.1.5.
948
+ * VERSION: change the version to 2.1.6.
949
+
950
+ 2013-12-28 KUBO Takehiro <kubo@jiubao.org>
951
+ * ext/oci8/oraconf.rb: fix for Windows x64. OCI.lib for MSVC doesn't
952
+ work with mingw64 compilers. fix URL in the error message.
953
+
954
+ 2013-12-14 KUBO Takehiro <kubo@jiubao.org>
955
+ * lib/oci8/metadata.rb, test/test_metadata.rb: fix
956
+ OCI8::Metadata::Synonym#schema_name and #translated_name
957
+ for synonyms with a database link and without schema_name.
958
+
959
+ 2013-12-14 KUBO Takehiro <kubo@jiubao.org>
960
+ * test/*.rb: suppress warnings "MiniTest::Unit::TestCase is now Minitest::Test"
961
+ when minitest gem is installed.
962
+
963
+ 2013-12-14 KUBO Takehiro <kubo@jiubao.org>
964
+ * test/test_metadata.rb: fix tests in an environment where
965
+ the data size of "CAST('1' AS CHAR(1 char))" is wrong.
966
+
967
+ 2013-11-18 KUBO Takehiro <kubo@jiubao.org>
968
+ * ext/oci8/oraconf.rb: support cygwin x86_64.
969
+
970
+ 2013-11-10 KUBO Takehiro <kubo@jiubao.org>
971
+ * ext/oci8/error.c, ext/oci8/lob.c, ext/oci8/object.c, ext/oci8/oci8.h,
972
+ ext/oci8/oci8lib.c, ext/oci8/ocihandle.c, ext/oci8/stmt.c:
973
+ use rb_class_new_instance() instead of rb_funcall() with rb_intern("new").
974
+
975
+ 2013-11-09 KUBO Takehiro <kubo@jiubao.org>
976
+ * ext/oci8/error.c, ext/oci8/extconf.rb, ext/oci8/oci8.h:
977
+ append the full path of the Oracle client library when OCIEnvCreate
978
+ is failed such as "OCI Library Initialization Error - /path/to/libclntsh.so.12.1".
979
+
980
+ 2013-11-09 KUBO Takehiro <kubo@jiubao.org>
981
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: support rubinius 2.x whose
982
+ RUBY_VERSION is 2.1.0.
983
+ * ext/oci8/oraconf.rb: reduce the size of libOCI.a created for cygwin.
984
+
985
+ 2013-11-09 KUBO Takehiro <kubo@jiubao.org>
986
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: support ruby 2.1.0-preview1.
987
+ (requested by Yasuo Honda)
988
+
989
+ 2013-08-24 KUBO Takehiro <kubo@jiubao.org>
990
+ * ext/oci8/oraconf.rb: Use Dir.glob to find the Oracle instant client
991
+ NLS data file. Its name depends on the Oracle major version on
992
+ Windows.
993
+
994
+ 2013-08-03 KUBO Takehiro <kubo@jiubao.org>
995
+ * lib/oci8/metadata.rb: fix undefined method 'char_used?' when
996
+ OCI8::Metadata::Argument#inspect is called.
997
+ * test/test_metadata.rb: refactor and add tests for #inspect methods.
998
+ * test/test_package_type.rb: add some test data.
999
+
1000
+ 2013-07-30 KUBO Takehiro <kubo@jiubao.org>
1001
+ * ext/oci8/metadata.c, ext/oci8/ocihandle.c, test/test_metadata.rb:
1002
+ Fix segmentation fault when metadata are accessed after the
1003
+ session is disconnected.
1004
+
1005
+ 2013-07-24 KUBO Takehiro <kubo@jiubao.org>
1006
+ * lib/oci8/metadata.rb, test/test_package_type.rb:
1007
+ Add OCI8::Metadata::Type#package_name and
1008
+ OCI8::Metadata::ArgBase#has_default?.
1009
+
1010
+ 2013-07-22 KUBO Takehiro <kubo@jiubao.org>
1011
+ * ext/oci8/oci8lib.c, lib/oci8.rb.in, lib/oci8/metadata.rb: Add
1012
+ OCI8::Metadata::Package:types to support package type
1013
+ description. It is a new feature of Oracle 12c.
1014
+ * test/setup_test_package.sql, test/test_all.rb,
1015
+ test/test_package_type.rb: Add tests for package type description.
1016
+
1017
+ 2013-07-15 KUBO Takehiro <kubo@jiubao.org>
1018
+ * test/*.rb: Use MiniTest instead of Test::Unit.
1019
+
1020
+ 2013-06-23 KUBO Takehiro <kubo@jiubao.org>
1021
+ * lib/oci8/cursor.rb, lib/oci8/object.rb: fix to bind object types by
1022
+ name as OCI8::Cursor#bind_param(pos, val, :named_type, typename).
1023
+ * test/test_object.rb: fix to test OCI8::Cursor#bind_param(pos, val,
1024
+ :named_type, typename).
1025
+
1026
+ 2013-06-23 KUBO Takehiro <kubo@jiubao.org>
1027
+ * lib/oci8/metadata.rb: OCI8#describe_synonym and OCI8#describe_any
1028
+ accept 'PUBLIC.XXX' as a public synonym name.
1029
+ * test/test_metadata.rb: add tests for OCI8#describe_synonym.
1030
+
1031
+ 2013-06-11 KUBO Takehiro <kubo@jiubao.org>
1032
+ * ruby-oci8.gemspec: fix ruby version checking in binary gem.
1033
+ Gem::ruby_version of ruby 2.0.0p195 is 2.0.0.195, which
1034
+ doesn't match '= 2.0.0'.
1035
+ (github issue #36 reported by sodonnel)
1036
+
1037
+ 2013-03-30 KUBO Takehiro <kubo@jiubao.org>
1038
+ * ext/oci8/oci8lib.c: fix potential SEGV when one connection
1039
+ is used by more than two threads and temporary lobs are
1040
+ freed by GC.
1041
+
1042
+ 2013-03-16 KUBO Takehiro <kubo@jiubao.org>
1043
+ * ext/oci8/apiwrap.yml, ext/oci8/stmt.c: call OCIStmtPrepare2()
1044
+ without GVL to prevent OCI8#parse from blocking ruby itself
1045
+ while the connection is used by another thread even though
1046
+ non-blocking mode is set.
1047
+
1048
+ 2013-03-09 KUBO Takehiro <kubo@jiubao.org>
1049
+ * ruby-oci8.gemspec: revert the previous commit because old
1050
+ rubygems doesn't support:
1051
+ required_ruby_version = ['>= 1.8.0', '<= 2.0.0']
1052
+
1053
+ 2013-03-09 KUBO Takehiro <kubo@jiubao.org>
1054
+ * NEWS: add changes between 2.1.5 and 2.1.4
1055
+ * VERSION: change the version to 2.1.5.
1056
+ * docs/platform-specific-issues.md: remove obsolete description.
1057
+ * ext/oci8/extconf.rb, ext/oci8/oraconf.rb: fix to compile for
1058
+ Windows x64 client.
1059
+ * ruby-oci8.gemspec: change required_ruby_version range
1060
+ when a binary gem includes more than one compiled object.
1061
+ * test/test_connection_pool.rb: fix to pass tests on slow
1062
+ machines.
1063
+
1064
+ 2013-03-05 KUBO Takehiro <kubo@jiubao.org>
1065
+ * ext/oci8/oci8.c, lib/oci8/oci8.rb, lib/oci8/oracle_version.rb:
1066
+ refactoring.
1067
+
1068
+ 2013-03-03 KUBO Takehiro <kubo@jiubao.org>
1069
+ * lib/oci8/oci8.rb, test/test_oci8.rb: set 'rubyoci8' as
1070
+ the driver name, which is displayed in
1071
+ V$SESSION_CONNECT_INFO.CLIENT_DRIVER.
1072
+ (require Oracle 11g or upper)
1073
+
1074
+ 2013-03-03 KUBO Takehiro <kubo@jiubao.org>
1075
+ * lib/oci8.rb.in: use RbConfig::CONFIG instead of obsolete
1076
+ constant Config::CONFIG.
1077
+ * lib/oci8/object.rb, test/test_bind_time.rb, test/test_metadata.rb
1078
+ test/test_object.rb, test/test_oci8.rb:
1079
+ suppress warning: assigned but unused variable
1080
+
1081
+ 2013-03-03 KUBO Takehiro <kubo@jiubao.org>
1082
+ * ext/oci8/lob.c, ext/oci8/oci8.c, ext/oci8/oci8.h:
1083
+ refactor oci8_lob_t.
1084
+
1085
+ 2013-03-03 KUBO Takehiro <kubo@jiubao.org>
1086
+ * ext/oci8/oci8.c: fix segmentation fault when the process
1087
+ exits on rubinius.
1088
+
1089
+ 2013-03-02 KUBO Takehiro <kubo@jiubao.org>
1090
+ * .yardopts, ext/oci8/object.c, lib/oci8/metadata.rb,
1091
+ lib/oci8/oracle_version.rb: update comments for rdoc/yard.
1092
+
1093
+ 2013-03-02 KUBO Takehiro <kubo@jiubao.org>
1094
+ * ext/oci8/ocihandle.c: change arguments of internal methods
1095
+ OCIHandle#attr_get_*() to ignore "ORA-24328: illegal
1096
+ attribute value".
1097
+ * lib/oci8/metadata.rb: change OCI8::Metadata::Base#obj_id,
1098
+ #obj_name and #obj_schema not to raise "ORA-24328:
1099
+ illegal attribute value".
1100
+
1101
+ 2013-03-02 KUBO Takehiro <kubo@jiubao.org>
1102
+ * ruby-oci8.gemspec: fix for ruby 2.0.0 to make binary gems.
1103
+
1104
+ 2013-03-02 KUBO Takehiro <kubo@jiubao.org>
1105
+ * ext/oci8/oraconf.rb: fix for compilation on Windows x64 by mingw64.
1106
+
1107
+ 2013-01-12 KUBO Takehiro <kubo@jiubao.org>
1108
+ * ext/oci8/oci8lib.c: export a main function for Solaris x86 (32-bit).
1109
+ When a main function is invisible from Oracle instant client
1110
+ 11.2.0.3 for Solaris x86 (32-bit), OCIEnvCreate() fails by
1111
+ unknown reasons.
1112
+ * docs/platform-specific-issues.md: change the workaround for
1113
+ Solaris x86 (32-bit) instant client.
1114
+
1115
+ 2013-01-06 KUBO Takehiro <kubo@jiubao.org>
1116
+ * NEWS: add changes between 2.1.4 and 2.1.3
1117
+ * VERSION: change the version to 2.1.4.
1118
+ * docs/platform-specific-issues.md: update solaris-specific document.
1119
+ * ext/oci8/connection_pool.c, ext/oci8/encoding.c, ext/oci8/metadata.c,
1120
+ ext/oci8/oci8.c,lib/oci8.rb.in, lib/oci8/metadata.rb, lib/oci8/oci8.rb,
1121
+ lib/oci8/oracle_version.rb, lib/oci8/properties.rb: update comments for yard.
1122
+ * test/test_clob.rb: change a lob size when ORA-24817 is raised to
1123
+ pass tests on Windows.
1124
+
1125
+ 2013-01-03 KUBO Takehiro <kubo@jiubao.org>
1126
+ * ext/oci8/oci8.c, lib/oci8/properties.rb: add OCI8.properties[:events_mode]
1127
+ to support Fast Application Notification (FAN).
1128
+
1129
+ 2013-01-03 KUBO Takehiro <kubo@jiubao.org>
1130
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: add languange mode to the extension
1131
+ library name when ths ruby engine is rubinius and explicitly claim that
1132
+ jruby is not supported when it is jruby.
1133
+
1134
+ 2013-01-03 KUBO Takehiro <kubo@jiubao.org>
1135
+ * ext/oci8/encoding.c, lib/oci8/encoding-init.rb: delete an internal method
1136
+ OCI8.nls_ratio= when the ruby is 1.9 or greater. nls_ratio is set by
1137
+ OCI8.encoding=.
1138
+
1139
+ 2012-12-23 KUBO Takehiro <kubo@jiubao.org>
1140
+ * ext/oci8/lob.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c, test/test_clob.rb:
1141
+ fix SEGV when a temporary LOB is freed when OCILobRead returns OCI_NEED_DATA.
1142
+ (github issue #20 reported by Edgars Beigarts)
1143
+
1144
+ 2012-12-18 KUBO Takehiro <kubo@jiubao.org>
1145
+ * ext/oci8/error.c, lib/oci8/oci8.rb: change the OCIError constructor to
1146
+ accept an Oracle error code as the first parameter and create a message
1147
+ which depends on NLS_LANG.
1148
+ * lib/oci8/metadata.rb: fix OCI8.describe_table not to follow synonyms
1149
+ until stack overflow. Now the recursive level is limited to 20.
1150
+ (github issue #26 reported by Brian Henderson)
1151
+
1152
+ 2012-12-16 KUBO Takehiro <kubo@jiubao.org>
1153
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: use RUBY_VERSION instead of
1154
+ RbConfig::CONFIG['ruby_version'] to know the ruby ABI version.
1155
+ The latter may be changed by the configure option --with-ruby-version.
1156
+ (github issue #24 reported by suhrawardi)
1157
+
1158
+ 2012-12-03 KUBO Takehiro <kubo@jiubao.org>
1159
+ * ext/oci8/oraconf.rb: add a script encoding magic comment for ruby 2.0.0 preview2.
1160
+ (github issue #25 reported by aboltart)
1161
+
1162
+ 2012-12-02 KUBO Takehiro <kubo@jiubao.org>
1163
+ * test/test_encoding.rb: fix to pass tests with ruby 2.0.0 preview2.
1164
+
1165
+ 2012-11-11 KUBO Takehiro <kubo@jiubao.org>
1166
+ * ext/oci8/lob.c: use OCILobLocatorAssign_nb (non-blocking version)
1167
+ instead of OCILobLocatorAssign (blocking version).
1168
+
1169
+ 2012-11-11 KUBO Takehiro <kubo@jiubao.org>
1170
+ * NEWS: add changes between 2.1.3 and 2.1.2
1171
+ * VERSION: change the version to 2.1.3.
1172
+ * dist-files: append new files.
1173
+ * ruby-oci8.gemspec: declare license in the gem.
1174
+
1175
+ 2012-11-11 KUBO Takehiro <kubo@jiubao.org>
1176
+ * Makefile: add doc and copy-doc targets to generate document by yard command.
1177
+ * ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c: change
1178
+ protoptype definition of Init_oci8 for yard command to parse it.
1179
+ * ext/oci8/encoding.c, ext/oci8/oci8.c, ext/oci8/ocinumber.c,
1180
+ lib/oci8.rb.in, lib/oci8/connection_pool.rb, lib/oci8/datetime.rb,
1181
+ lib/oci8/encoding-init.rb, lib/oci8/metadata.rb, lib/oci8/object.rb,
1182
+ lib/oci8/oci8.rb: change comments for yard command.
1183
+
1184
+ 2012-11-11 KUBO Takehiro <kubo@jiubao.org>
1185
+ * ext/oci8/oci8.h: update RB_GC_GUARD as ruby 1.9.2 defines.
1186
+ * test/test_break.rb: fix tests for rubinius 1.2.4 and 2.0.0.
1187
+
1188
+ 2012-11-10 KUBO Takehiro <kubo@jiubao.org>
1189
+ * ext/oci8/oci8lib.c: fix compilation errors when ruby version is 1.8.x.
1190
+ * ext/oci8/ocinumber.c: Don't use rb_Rational() when rbx-2.0.testing
1191
+ runs with ruby 1.8 mode.
1192
+ * lib/oci8/datetime.rb: fix #<NoMethodError: undefined method `timezone' for Time:Class>
1193
+ when ruby is less than 1.9.2 and an object type's time attribute
1194
+ is accessed.
1195
+ * test/config.rb, test/test_oci8.rb: for ruby 1.8.x.
1196
+
1197
+ 2012-10-28 KUBO Takehiro <kubo@jiubao.org>
1198
+ * ext/oci8/extconf.rb: Use rb_thread_call_without_gvl only when
1199
+ ruby/thread.h exists. rb_thread_call_without_gvl is an internal
1200
+ function in ruby 1.9.2 and 1.9.3.
1201
+ * ext/oci8/oci8lib.c: fix compilation errors when ruby <= 1.9.1.
1202
+ * setup.rb: fix uninitialized constant Config (NameError) on ruby 1.8.7.
1203
+
1204
+ 2012-10-28 KUBO Takehiro <kubo@jiubao.org>
1205
+ * ext/oci8/lob.c, ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c:
1206
+ Fix SEGV when a temporary LOB is GCed while another LOB is read.
1207
+ (github issue #20 reported by techsplicer)
1208
+
1209
+ 2012-10-02 KUBO Takehiro <kubo@jiubao.org>
1210
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/connection_pool.c, ext/oci8/env.c,
1211
+ ext/oci8/extconf.rb, ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
1212
+ ext/oci8/thread_util.c, ext/oci8/thread_util.h:
1213
+ replace rb_thread_blocking_region(), which is deprecated in ruby 2.0.0,
1214
+ with rb_thread_call_without_gvl() and rename oci8_blocking_region()
1215
+ to oci8_call_without_gvl().
1216
+ * lib/oci8.rb.in: Ruby 2.0.0-dev's API version is changed to 2.0.0.
1217
+ * setup.rb: use RbConfig instead of Config for ruby 2.0.0-dev.
1218
+
1219
+ 2012-08-12 KUBO Takehiro <kubo@jiubao.org>
1220
+ * ext/oci8/stmt.c, lib/oci8/cursor.rb: revise yard comment.
1221
+
1222
+ 2012-08-11 KUBO Takehiro <kubo@jiubao.org>
1223
+ * ext/oci8/stmt.c, lib/oci8/cursor.rb: refactor OCI8::Cursor to simplify
1224
+ C code.
1225
+ * ext/oci8/bind.c: add a private function OCI8::BindType::Base#get_data
1226
+ and #set_data.
1227
+ * ext/oci8/attr.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c: delete
1228
+ unused functions and a unused variable.
1229
+
1230
+ 2012-08-11 KUBO Takehiro <kubo@jiubao.org>
1231
+ * lib/oci8.rb.in, lib/oci8/cursor.rb, lib/oci8/oci8.rb:
1232
+ move OCI8::Cursor from lib/oci8/oci8.rb to lib/oci8/cursor.rb.
1233
+
1234
+ 2012-08-05 KUBO Takehiro <kubo@jiubao.org>
1235
+ * lib/oci8/object.rb: Change the ruby type which corresponds to
1236
+ Oracle object type's DATE field from DateTime to Time.
1237
+ * test/setup_test_object.sql, test/test_object.rb:
1238
+ Fix github issue #17 reported by Yasuo Honda.
1239
+
1240
+ 2012-07-31 KUBO Takehiro <kubo@jiubao.org>
1241
+ * test/config.rb, test/test_datetime.rb: refactor test code by adding
1242
+ global functions convert_to_time() and convert_to_datetime(),
1243
+ which will be used by test_object.rb later.
1244
+
1245
+ 2012-07-28 KUBO Takehiro <kubo@jiubao.org>
1246
+ * test/test_metadata.rb: fix a sequence test failure on Oracle 11gR2.
1247
+ Fix github issue #18 reported by Yasuo Honda.
1248
+
1249
+ 2012-07-28 KUBO Takehiro <kubo@jiubao.org>
1250
+ * lib/oci8/oci8.rb, test/test_oci8.rb: add OCI8::Cursor#statement.
1251
+ See github issue #12 requested by timon.
1252
+
1253
+ 2012-05-25 KUBO Takehiro <kubo@jiubao.org>
1254
+ * test/test_clob.rb: speed up clob tests 29 times.
1255
+
1256
+ 2012-05-25 KUBO Takehiro <kubo@jiubao.org>
1257
+ * test/setup_test_object.sql, test/test_all.rb, test/test_object.rb:
1258
+ Add tests of the previous commit.
1259
+
1260
+ 2012-05-25 KUBO Takehiro <kubo@jiubao.org>
1261
+ * ext/oci8/lob.c: Merge pull request #13 from timon/temp_lob at github.
1262
+ If 's' is a temporary lob, use OCILobLocatorAssign instead.
1263
+
1264
+ 2012-05-20 KUBO Takehiro <kubo@jiubao.org>
1265
+ * ext/oci8/oci8.c, test/test_oci8.rb: add OCI8's class variables:
1266
+ @@environment_handle and @@process_handle.
1267
+
1268
+ 2012-05-20 KUBO Takehiro <kubo@jiubao.org>
1269
+ * ext/oci8/ocihandle.c, lib/oci8/metadata.rb, test/test_metadata.rb:
1270
+ fix methods of OCI8::Metadata::Sequence and add testcases for them.
1271
+
1272
+ 2012-05-12 KUBO Takehiro <kubo@jiubao.org>
1273
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: refactor code which generates the
1274
+ C extention name.
1275
+
1276
+ 2012-05-05 KUBO Takehiro <kubo@jiubao.org>
1277
+ * ext/oci8/oci8.c, lib/oci8/oci8.rb: delete private methods OCI8#server_handle
1278
+ and OCI8#session_handle and use @server_handle and @session_handle instead.
1279
+
1280
+ 2012-04-28 KUBO Takehiro <kubo@jiubao.org>
1281
+ * NEWS: add changes between 2.1.2 and 2.1.1
1282
+ * VERSION: change the version to 2.1.2.
1283
+
1284
+ 2012-04-28 KUBO Takehiro <kubo@jiubao.org>
1285
+ * lib/oci8/oci8.rb, lib/oci8/properties.rb: disable statement caching by default.
1286
+ This is workaround about a SIGSEGV issue.
1287
+ See: https://github.com/rsim/oracle-enhanced/issues/162
1288
+
1289
+ 2012-04-28 KUBO Takehiro <kubo@jiubao.org>
1290
+ * ext/oci8/oci8lib.c: delete code which overwrites signal handlers
1291
+ registered by ruby. This was committed by mistake.
1292
+ See: http://rubyforge.org/forum/forum.php?thread_id=50690&forum_id=1078
1293
+
1294
+ 2012-04-24 KUBO Takehiro <kubo@jiubao.org>
1295
+ * ext/oci8/metadata.c: fix internal heap error in OCI.
1296
+ (github issue #12 reported by Yasuo Honda)
1297
+
1298
+ 2012-04-22 KUBO Takehiro <kubo@jiubao.org>
1299
+ * VERSION: update to 2.1.1.
1300
+ * README.md: add links.
1301
+
1302
+ 2012-04-22 KUBO Takehiro <kubo@jiubao.org>
1303
+ * NEWS: add changes between 2.1.0 and 2.1.1.
1304
+ * README -> README.md: renamed.
1305
+ * .yardopts: added for yard.
1306
+ * docs/install-binary-package.md, docs/report-installation-issue.md:
1307
+ added.
1308
+ * docs/platform-specific-issues.md, lib/oci8/bindtype.rb, lib/oci8/connection_pool.rb
1309
+ lib/oci8/object.rb, lib/oci8/properties.rb: fix documents.
1310
+ * ruby-oci8.gemspec, dist-files: fix for renamed and added files.
1311
+
1312
+ 2012-04-21 KUBO Takehiro <kubo@jiubao.org>
1313
+ * test/test_datetime.rb: fix to pass tests on ruby 1.9.1 and earlier.
1314
+
1315
+ 2012-04-21 KUBO Takehiro <kubo@jiubao.org>
1316
+ * ext/oci8/oci8.c: fix to raise a RuntimeError when a connection
1317
+ retrieved from a connection pool is set as non-blocking on
1318
+ ruby 1.8.
1319
+
1320
+ 2012-04-21 KUBO Takehiro <kubo@jiubao.org>
1321
+ * ext/oci8/lob.c: OCI8::LOB#read() returns an empty string '' when
1322
+ it is an empty lob.
1323
+
1324
+ 2012-04-21 KUBO Takehiro <kubo@jiubao.org>
1325
+ * custom-rdoc.rb: delete an unused file.
1326
+
1327
+ 2012-04-21 KUBO Takehiro <kubo@jiubao.org>
1328
+ * test/test_oci8.rb: fix code to test OCI8::CLOB.new(conn, '').
1329
+
1330
+ 2012-04-17 KUBO Takehiro <kubo@jiubao.org>
1331
+ * ext/oci8/lob.c: 1. fix an exception when OCI8::CLOB.new(conn, '')
1332
+ is called. 2. Reset the position of a newly created LOB.
1333
+
1334
+ 2012-04-17 KUBO Takehiro <kubo@jiubao.org>
1335
+ * ext/oci8/oci8lib.c: fix core dump.
1336
+ See: https://github.com/kubo/ruby-oci8/issues/11
1337
+ (reported by Raimonds Simanovskis)
1338
+
1339
+ 2012-04-08 KUBO Takehiro <kubo@jiubao.org>
1340
+ * ext/oci8/lob.c, ext/oci8/win32.c, lib/oci8/oracle_version.rb:
1341
+ revise rdoc comments.
1342
+
1343
+ 2012-04-06 KUBO Takehiro <kubo@jiubao.org>
1344
+ * ext/oci8/error.c, ext/oci8/ocihandle.c, ext/oci8/oradate.c,
1345
+ lib/oci8/encoding-init.rb, lib/oci8/oci8.rb, lib/oci8/ocihandle.rb:
1346
+ revise rdoc comments.
1347
+
1348
+ 2012-04-05 KUBO Takehiro <kubo@jiubao.org>
1349
+ * ext/oci8/ocinumber.c, lib/oci8/oci8.rb: revise OraNumber's comments.
1350
+
1351
+ 2012-04-03 KUBO Takehiro <kubo@jiubao.org>
1352
+ * ext/oci8/oci8.h, ext/oci8/ocinumber.c: change OCI8::Math::*'s comments
1353
+ for yard.
1354
+
1355
+ 2012-04-02 KUBO Takehiro <kubo@jiubao.org>
1356
+ * NEWS: change the text format to markdown.
1357
+
1358
+ 2012-03-18 KUBO Takehiro <kubo@jiubao.org>
1359
+ * test/test_datetime.rb: fix testcase failures in DST.
1360
+ (reported by Yasuo Honda)
1361
+
1362
+ 2012-03-11 KUBO Takehiro <kubo@jiubao.org>
1363
+ * dist-files, docs/install-full-client.md, docs/install-instant-client.md,
1364
+ docs/platform-specific-issues.md: add and fix documents.
1365
+
1366
+ 2012-03-11 KUBO Takehiro <kubo@jiubao.org>
1367
+ * ruby-oci8.gemspec: fix warning: string literal in condition.
1368
+ (pointed by andynu at github)
1369
+
1370
+ 2012-01-22 KUBO Takehiro <kubo@jiubao.org>
1371
+ * ext/oci8/ocinumber.c: Use isnan() and isinf() instead of fpclassify()
1372
+ for platforms which don't have fpclassify().
1373
+ (reported by John Beckwith)
1374
+
1375
+ 2012-01-19 KUBO Takehiro <kubo@jiubao.org>
1376
+ * ext/oci8/extconf.rb, pre-distclean.rb, ruby-oci8.gemspec: create map files
1377
+ of oci8lib_*.so on mingw32 in case of analyzing a core (minidump) file.
1378
+
1379
+ 2012-01-19 KUBO Takehiro <kubo@jiubao.org>
1380
+ * ext/oci8/apiwrap.yml, ext/oci8/stmt.c, lib/oci8/oci8.rb,
1381
+ lib/oci8/properties.rb: enable statement caching per session in OCI layer
1382
+ if the Oracle client is 9iR2 or upper.
1383
+
1384
+ 2012-01-19 KUBO Takehiro <kubo@jiubao.org>
1385
+ * ext/oci8/apiwrap.yml, ext/oci8/oci8.c, lib/oci8/oci8.rb: replace
1386
+ OCILogon() with OCILogon2() and use the latter to use
1387
+ ConnectionPool.
1388
+ * test/config.rb: fix to pass lob tests.
1389
+
1390
+ 2012-01-09 KUBO Takehiro <kubo@jiubao.org>
1391
+ * docs/install-full-client.md: add a new document file.
1392
+
1393
+ 2012-01-08 KUBO Takehiro <kubo@jiubao.org>
1394
+ * doc/*: remove obsolete documents.
1395
+
1396
+ 2011-12-15 KUBO Takehiro <kubo@jiubao.org>
1397
+ * lib/oci8/object.rb, test/setup_test_object.sql, test/test_object.rb:
1398
+ fix "wrong number of arguments (1 for 2)" when date datatype in a object
1399
+ type is gotten.
1400
+ (repored by Leoš Bitto)
1401
+
1402
+ 2011-12-13 KUBO Takehiro <kubo@jiubao.org>
1403
+ * VERSION: update to 2.1.0.
1404
+ * ext/oci8/error.c, ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/ocidatetime.c,
1405
+ ext/oci8/ocinumber.c, ext/oci8/stmt.c: suppress gcc-4.6 warnings.
1406
+
1407
+ 2011-12-11 KUBO Takehiro <kubo@jiubao.org>
1408
+ * ext/oci8/connection_pool.c: fix a buffer overrun in oci8_cpool_initialize().
1409
+
1410
+ 2011-12-11 KUBO Takehiro <kubo@jiubao.org>
1411
+ * NEWS: add changes between 2.0.6 and 2.1.0.
1412
+ * README, test/README: rewritten.
1413
+ * ext/oci8/connection_pool.c: add a note.
1414
+
1415
+ 2011-12-10 KUBO Takehiro <kubo@jiubao.org>
1416
+ * test/test_bind_string.rb: suppress "No tests were specified" when
1417
+ the client character set is not UTF-8.
1418
+
1419
+ 2011-12-10 KUBO Takehiro <kubo@jiubao.org>
1420
+ * lib/oci8/oci8.rb, lib/oci8/properties.rb, test/test_datetime.rb:
1421
+ revert OCI8.properties[:time_zone] which was added 5 days ago.
1422
+ * lib/oci8.rb.in: use ENV['ORA_SDTZ'] instead of 'alter session set time_zone = ...'
1423
+ to set Oracle session time zone. On cygwin, explicitly set
1424
+ environments variables which start with 'ORA_' to WIN32 environments.
1425
+
1426
+ 2011-12-10 KUBO Takehiro <kubo@jiubao.org>
1427
+ * test/test_oci8.rb: fix test_select when TZ set to daylight saving time.
1428
+ (reported by Yasuo Honda)
1429
+
1430
+ 2011-12-06 KUBO Takehiro <kubo@jiubao.org>
1431
+ * ext/oci8/oci8.c: raise a RuntimeError when non-blocking mode is set to a connection
1432
+ allocated from OCI8::ConnectionPool on ruby 1.8.
1433
+ Ruby 1.9.x and rubinius don't have the limitation.
1434
+ * test/test_connection_pool.rb: fix for ruby 1.8.
1435
+ * test/test_oranumber.rb: fix for ruby 1.9.1 and 1.8.
1436
+
1437
+ 2011-12-05 KUBO Takehiro <kubo@jiubao.org>
1438
+ * lib/oci8/oci8.rb, lib/oci8/properties.rb, test/test_datetime.rb.
1439
+ add OCI8.properties[:time_zone] and use ENV['TZ'] or the time_zone
1440
+ propery to set Oracle session time zone.
1441
+ Fix #2 at http://github.com/kubo/ruby-oci8.
1442
+ (reported by Yasuo Honda)
1443
+
1444
+ 2011-12-05 KUBO Takehiro <kubo@jiubao.org>
1445
+ * lib/oci8/encoding-init.rb, lib/oci8/oci8.rb: add OCI8.client_charset_name.
1446
+ * test/config.rb: use OCI8.client_charset_name instead of OCI8.encoding.
1447
+ Ruby-oci8 compiled for ruby 1.8 doesn't has the latter.
1448
+ * lib/oci8/properties.rb, test/test_all.rb, test/test_bind_string.rb,
1449
+ test/test_encoding.rb: add a test for OCI8.properties[:lenght_semantics]
1450
+ and move the test for OCI8.properties[:bind_string_as_nchar] from
1451
+ test/test_encoding.rb to test/test_bind_string.rb.
1452
+
1453
+ 2011-12-04 KUBO Takehiro <kubo@jiubao.org>
1454
+ * test/config.rb, test/test_encoding.rb: add tests for bind_string_as_nchar
1455
+ property.
1456
+ * ext/oci8/metadata.c, lib/oci8/metadata.rb: delete the internally used
1457
+ OCI8::Metadata::Base#__charset_name method.
1458
+ * lib/oci8/oci8.rb: add OCI8#database_charset_name. (added to test
1459
+ bind_string_as_nchar.)
1460
+
1461
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
1462
+ * lib/oci8.rb.in: fix to work with ruby 2.0.
1463
+
1464
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
1465
+ * test/test_connection_pool.rb: fix to pass a connection pool test.
1466
+ OCI8::ConnectionPool#open_count after decrement depends on
1467
+ Oracle version. (reported by Yasuo Honda)
1468
+
1469
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
1470
+ * test/test_metadata.rb: Check object type availability by querying
1471
+ all_objects data dictionary. Fix #3 at http://github.com/kubo/ruby-oci8.
1472
+ (reported by Yasuo Honda)
1473
+
1474
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
1475
+ * ruby-oci8.gemspec: Use Gem::Command.build_args to get arguments
1476
+ after '--'. This may solve issues #4 at http://github.com/kubo/ruby-oci8.
1477
+ (reported by jbirdjavi)
1478
+
1479
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
1480
+ * ext/oci8/apiwrap.yml: fix for run-time Oracle function checking.
1481
+ * ext/oci8/oraconf.rb: fix a bug not to compile for full client on
1482
+ Windows. The bug was caused by the commit at 2011-10-17.
1483
+ * lib/oci8/connection_pool.rb, lib/oci8/properties.rb: fix rdoc
1484
+ comments.
1485
+
1486
+ 2011-11-27 KUBO Takehiro <kubo@jiubao.org>
1487
+ * test/test_break.rb: fix test_timeout test for an Oracle server
1488
+ on Windows.
1489
+ * test/test_all.rb, test/test_connection_pool.rb: add testcases
1490
+ of OCI8::ConnectionPool.
1491
+ * test/test_oci8.rb: add a testcase for OCI8#last_error.
1492
+ * test/test_oranumber.rb: add a testcase for OCI8.properties[:float_conversion_type].
1493
+
1494
+ 2011-11-26 KUBO Takehiro <kubo@jiubao.org>
1495
+ * ext/oci8/object.c, test/test_object.rb: fix a bug that an array is
1496
+ always bound as null. This bug was introduced in ruby-oci8 2.0.5.
1497
+ (reported by Leoš Bitto)
1498
+
1499
+ 2011-11-23 KUBO Takehiro <kubo@jiubao.org>
1500
+ * ext/oci8/oci8.c, lib/oci8/oci8.rb, lib/oci8/ocihandle.rb,
1501
+ test/test_connstr.rb: support sysasm privilege.
1502
+ OCI8.new('username/password as sysasm')
1503
+ or
1504
+ OCI8.new('username', 'password', nil, :SYSASM)
1505
+
1506
+ 2011-11-04 KUBO Takehiro <kubo@jiubao.org>
1507
+ * lib/oci8/encoding.yml: fix the mapping from Oracle NLS chacacter set
1508
+ to ruby encoding to use CP950 and CP951, which are new encodings
1509
+ in ruby 1.9.3.
1510
+
1511
+ 2011-11-04 KUBO Takehiro <kubo@jiubao.org>
1512
+ * ext/oci8/ocinumber.c: add a workaround to avoid a gcc internal
1513
+ compiler error when using ruby 1.9.2-p290 on ubuntu 11.10 (64bit).
1514
+ (reported by Bob Saveland.)
1515
+
1516
+ 2011-11-04 KUBO Takehiro <kubo@jiubao.org>
1517
+ * ext/oci8/extconf.rb, ext/oci8/oci8.c, ext/oci8/oci8.h,
1518
+ test/test_datetime.rb, test/test_metadata.rb: fix to pass tests
1519
+ on Oracle 9i.
1520
+
1521
+ 2011-10-29 KUBO Takehiro <kubo@jiubao.org>
1522
+ * ext/oci8/error.c, ext/oci8/oci8.c, lib/oci8/object.rb, lib/oci8/oci8.rb:
1523
+ reset OCI8#last_error when OCI8#parse or OCI8#exec is called.
1524
+ fix bugs added by the last commit but one.
1525
+
1526
+ 2011-10-29 KUBO Takehiro <kubo@jiubao.org>
1527
+ * ext/oci8/oraconf.rb: use RbConfig::CONFIG instead of obsolete
1528
+ Config::CONFIG.
1529
+
1530
+ 2011-10-22 KUBO Takehiro <kubo@jiubao.org>
1531
+ * ext/oci8/attr.c, ext/oci8/bind.c, ext/oci8/connection_pool.c,
1532
+ ext/oci8/error.c, ext/oci8/lob.c, ext/oci8/metadata.c,
1533
+ ext/oci8/object.c, ext/oci8/oci8.c, ext/oci8/oci8.h,
1534
+ ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c, ext/oci8/ocihandle.c,
1535
+ ext/oci8/ocinumber.c, ext/oci8/stmt.c: add OCI8#last_error and
1536
+ OCI8#last_error=. When an exception is raised associated with a
1537
+ connection, the exception is set to OCI8#last_error.
1538
+ No OCISuccessWithInfo excpetion is raised from now on. It is
1539
+ set to OCI8#last_error instead.
1540
+
1541
+ 2011-10-22 KUBO Takehiro <kubo@jiubao.org>
1542
+ * ext/oci8/error.c, test/test_break.rb, test/test_error.rb: change the super
1543
+ class of OCINoData from OCIException to OCIError and fix testcases for
1544
+ OCIError and its subclasses.
1545
+
1546
+ 2011-10-22 KUBO Takehiro <kubo@jiubao.org>
1547
+ * ext/oci8/lob.c, ext/oci8/oci8.c, ext/oci8/ocinumber.c:
1548
+ delete code for Oracle 8 and Oracle 8i.
1549
+
1550
+ 2011-10-21 KUBO Takehiro <kubo@jiubao.org>
1551
+ * ext/oci8/error.c, ext/oci8/oci8.h: refactor OCIException and its
1552
+ subclasses. OCIError#codes and OCIError#messages are deleted.
1553
+ * test/test_all.rb, test/test_error.rb: add a testcase to check
1554
+ OCIException's methods.
1555
+
1556
+ 2011-10-21 KUBO Takehiro <kubo@jiubao.org>
1557
+ * ext/oci8/oraconf.rb: fix checking code whether 'sys/types.h' is
1558
+ available for Ubuntu 11.10 where sys/types.h is not right under
1559
+ /usr/include.
1560
+
1561
+ 2011-10-21 KUBO Takehiro <kubo@jiubao.org>
1562
+ * ext/oci8/oraconf.rb: remove code to get linker options for Oracle 8
1563
+ and Oracle 8i.
1564
+
1565
+ 2011-10-17 KUBO Takehiro <kubo@jiubao.org>
1566
+ * ext/oci8/oraconf.rb: embed a run-time loading path to the extention
1567
+ library oci8lib_*.so compiled for not only full clients, but also
1568
+ instant clients on Linux and Solaris.
1569
+ (suggested by d c and others.)
1570
+
1571
+ 2011-10-09 KUBO Takehiro <kubo@jiubao.org>
1572
+ * ext/oci8/ocidatetime.c, lib/oci8/datetime.rb, lib/oci8/object.rb:
1573
+ add OCI8::BindType::OCITimestamp, OCI8::BindType::LocalDateTime,
1574
+ OCI8::BindType::UTCDateTime, OCI8::BindType::LocalTime and
1575
+ OCI8::BindType::UTCTime. The first is used for internal use.
1576
+ The others are used for timestamp (without time zone) datatype.
1577
+
1578
+ 2011-10-01 KUBO Takehiro <kubo@jiubao.org>
1579
+ * ext/oci8/attr.c, ext/oci8/ocidatetime.c, ext/oci8/oradate.c: delete
1580
+ subversion keywords.
1581
+ * ext/oci8/env.c, ext/oci8/oci8.h, ext/oci8/thread_util.c,
1582
+ ext/oci8/thread_util.h: use thread-local errhp not only at ruby 1.9
1583
+ and rubinius, but also ruby 1.8 configured with --enable-pthread.
1584
+
1585
+ 2011-10-01 KUBO Takehiro <kubo@jiubao.org>
1586
+ * ext/oci8/bind.c, ext/oci8/connection_pool.c, ext/oci8/lob.c,
1587
+ ext/oci8/metadata.c, ext/oci8/object.c, ext/oci8/oci8.c, ext/oci8/oci8.h,
1588
+ ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c, ext/oci8/ocihandle.c,
1589
+ ext/oci8/ocinumber.c, ext/oci8/oradate.c, ext/oci8/stmt.c:
1590
+ rename oci8_*_class to oci8_*_vtable because they correspond to
1591
+ virtual method tables (vtable) in C++.
1592
+
1593
+ 2011-09-30 KUBO Takehiro <kubo@jiubao.org>
1594
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/oci8lib.c, test/test_break.rb:
1595
+ clear an executuing thread information in a connection when a SQL
1596
+ executions is canceled by Thread#kill or Timeout::timeout.
1597
+ (reported by Aaron Qian)
1598
+ See: http://rubyforge.org/forum/forum.php?thread_id=50112&forum_id=1078
1599
+
1600
+ 2011-09-30 KUBO Takehiro <kubo@jiubao.org>
1601
+ * ext/oci8/connection_pool.c: run connection-pool cleanup functions
1602
+ in a native thread not to block GC.
1603
+ * ext/oci8/oci8.c: use xfree() instead of free() to release memory
1604
+ allocated by xmalloc().
1605
+
1606
+ 2011-08-31 KUBO Takehiro <kubo@jiubao.org>
1607
+ * ext/oci8/env.c, ext/oci8/extconf.rb, ext/oci8/oci8.c, ext/oci8/oci8.h,
1608
+ ext/oci8/oci8lib.c, ext/oci8/thread_util.c, ext/oci8/thread_util.h:
1609
+ run connection-cleanup functions in a native thread to correctly
1610
+ release connections in GC.
1611
+
1612
+ 2011-08-27 KUBO Takehiro <kubo@jiubao.org>
1613
+ * ext/oci8/oci8.c, ext/oci8/oci8.h: refactoring for prior arrangement to
1614
+ properly release garbage sessions.
1615
+
1616
+ 2011-08-27 KUBO Takehiro <kubo@jiubao.org>
1617
+ * ext/oci8/bind.c, ext/oci8/extconf.rb, ext/oci8/lob.c, ext/oci8/object.c,
1618
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c,
1619
+ ext/oci8/ocinumber.c, ext/oci8/oradate.c, ext/oci8/stmt.c,
1620
+ ext/oci8/xmldb.c: delete unused and unworkable features: dynamic fetch
1621
+ and xmldb.
1622
+
1623
+ 2011-08-27 KUBO Takehiro <kubo@jiubao.org>
1624
+ * ext/oci8/bind.c, lib/oci8/bindtype.rb, lib/oci8/properties.rb: add
1625
+ OCI8.properties[:length_semantics].
1626
+
1627
+ 2011-08-23 KUBO Takehiro <kubo@jiubao.org>
1628
+ * ext/oci8/oraconf.rb: warn when the Oracle instant client is
1629
+ 64-bit on OS X Lion.
1630
+
1631
+ 2011-08-19 KUBO Takehiro <kubo@jiubao.org>
1632
+ * ext/oci8/bind.c, ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/ocinumber.c,
1633
+ lib/oci8/properties.rb: Decimal to float and float to decimal conversions
1634
+ are done as exactly ruby does by default. The behavior is customizable by
1635
+ OCI8.properties[:float_conversion_type].
1636
+
1637
+ 2011-08-19 KUBO Takehiro <kubo@jiubao.org>
1638
+ * ext/oci8/oraconf.rb: fix a bug not to find the OCI library location listed in
1639
+ 'ldconfig -p' when LD_LIBRARY_PATH is set.
1640
+ (Reported by Edgars Beigarts.)
1641
+
1642
+ 2011-07-16 KUBO Takehiro <kubo@jiubao.org>
1643
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h: fix for Solaris compiler.
1644
+ (Reported by Sanjiv Patel.)
1645
+
1646
+ 2011-07-16 KUBO Takehiro <kubo@jiubao.org>
1647
+ * ext/oci8/oraconf.rb: Fix for Oracle 11g solaris-sparc32 instant client.
1648
+ The machine type of Oracle 10g solaris-sparc32 instant client was
1649
+ sparc but that of oracle 11g is sparc32plus.
1650
+ (Reported by Sanjiv Patel.)
1651
+
1652
+ 2011-06-15 KUBO Takehiro <kubo@jiubao.org>
1653
+ * ext/oci8/apiwrap.yml, ext/oci8/bind.c, ext/oci8/oci8.c, ext/oci8/oci8lib.c,
1654
+ lib/oci8/bindtype.rb: drop Oracle 8i support.
1655
+ * ext/oci8/ocidatetime.c: OCI8::BindType::OCIDate was deleted.
1656
+ * lib/oci8/datetime.rb, test/test_datetime.rb: OCI8::BindType::DateTimeViaOCIDate,
1657
+ OCI8::BindType::TimeViaOCIDate, OCI8::BindType::DateTimeViaOCITimestampTZ
1658
+ and OCI8::BindType::TimeViaOCITimestampTZ were deleted.
1659
+
1660
+ 2011-06-14 KUBO Takehiro <kubo@jiubao.org>
1661
+ * NEWS: add changes between 2.0.5 and 2.0.6.
1662
+ * ext/oci8/apiwrap.yml, ext/oci8/lob.c: fix SEGV when freeing a temporary
1663
+ LOB during GC on rubinius 1.2.3.
1664
+ * ext/oci8/oci8lib.c: revert the exception type from RuntimeError to
1665
+ OCIException when a closed OCI handle's method is called.
1666
+ It was chaned in 2.0.5 by mistake.
1667
+
1668
+ 2011-06-12 KUBO Takehiro <kubo@jiubao.org>
1669
+ * NEWS: add changes between 2.0.4 and 2.0.5.
1670
+
1671
+ 2011-06-12 KUBO Takehiro <kubo@jiubao.org>
1672
+ * ext/oci8/oci8lib.c: add __declspec(dllexport) to Init_oci8lib(). The mingw32
1673
+ gcc compiler doesn't export functions without it if more than one function
1674
+ is declared with it.
1675
+ * ext/oci8/oraconf.rb: work around for rubinius 1.2.3, which doesn't support
1676
+ Array#pack('P').
1677
+ * lib/oci8/oci8.rb: fix a bug introduced by the previous commit.
1678
+ * ext/oci8/env.c, ext/oci8/extconf.rb, ext/oci8/oci8.c, ext/oci8/oci8.h,
1679
+ ext/oci8/oci8lib.c: Use HAVE_RB_THREAD_BLOCKING_REGION instead of
1680
+ HAVE_TYPE_RB_BLOCKING_FUNCTION_T. have_type("rb_blocking_function_t", "ruby.h")
1681
+ unexpectedly doesn't work on Visual Studio 2010.
1682
+
1683
+ 2011-06-10 KUBO Takehiro <kubo@jiubao.org>
1684
+ * ext/oci8/apiwrap.yml, lib/oci8/oci8.rb: fix for Psych YAML library.
1685
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/ocihandle.c: fix to
1686
+ work with ruby 1.9.3dev.
1687
+
1688
+ 2011-06-10 KUBO Takehiro <kubo@jiubao.org>
1689
+ * ext/oci8/env.c, ext/oci8/oci8.h: Free OCI error handles on the
1690
+ native thread termination, not on the ruby thread termination.
1691
+ (reported by Jordan Curzon and Aaron Qian)
1692
+ See: http://rubyforge.org/forum/forum.php?thread_id=49751&forum_id=1078
1693
+
1694
+ 2011-02-21 KUBO Takehiro <kubo@jiubao.org>
1695
+ * ext/oci8/lob.c, ext/oci8/metadata.c, ext/oci8/oci8.c,
1696
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/stmt.c:
1697
+ fix segmentation fault when calling OCI8::Cursor#[] for
1698
+ closed statement object's (reported by Hugo L. Borges)
1699
+
1700
+ 2011-02-01 KUBO Takehiro <kubo@jiubao.org>
1701
+ * ext/oci8/ocidatetime.c, lib/oci8/datetime.rb: rename
1702
+ the name of the class to binding timestamp with time zone
1703
+ from OCITimestamp to OCITimestampTZ. OCITimestamp will be
1704
+ used for timestamp without time zone.
1705
+
1706
+ 2011-01-30 KUBO Takehiro <kubo@jiubao.org>
1707
+ * ext/oci8/oci8.c: fix SEGV which depends on GC order.
1708
+ * ext/oci8/oraconf.rb: check Oracle client's cpu type on Solaris as
1709
+ on Linux and Mac OS X. change error messages on Mac OS X to suggest
1710
+ to set RC_ARCHS=x86_64 when mkmf.log contains messages such as
1711
+ 'missing required architecture i386 in file.'
1712
+
1713
+ 2010-12-26 KUBO Takehiro <kubo@jiubao.org>
1714
+ * ext/oci8/ocinumber.c, lib/oci8/bindtype.rb, test/test_oranumber.rb:
1715
+ add OraNumber#has_decimal_part? and OCI8::BindType::BasicNumberType.
1716
+
1717
+ 2010-12-14 KUBO Takehiro <kubo@jiubao.org>
1718
+ * dist-files, lib/oci8.rb.in, lib/oci8/.document, lib/oci8/properties.rb:
1719
+ add OCI8.properties to get and set ruby-oci8 global setting.
1720
+ * ext/oci8/bind.c, lib/oci8/bindtype.rb: fix NCHAR support and add
1721
+ OCI8.properties[:bind_string_as_nchar] to control charset form (CHAR or NCHAR)
1722
+ when binding string values.
1723
+ See: http://rubyforge.org/forum/forum.php?thread_id=48838&forum_id=1078
1724
+
1725
+ 2010-12-04 KUBO Takehiro <kubo@jiubao.org>
1726
+ * ext/oci8/object.c, ext/oci8/bind.c, lib/oci8/object.rb,
1727
+ test/test_object.rb: fix a problem to assign NULL bind value
1728
+ to object type bind variables.
1729
+ (reported by Raimonds Simanovskis)
1730
+ * ext/oci8/oraconf.rb: fix for 32-bit ruby compiled on
1731
+ x86_64 linux. (reported by Jason Renschler)
1732
+ * ext/oci8/oranumber_util.c, test/test_oranumber.rb:
1733
+ suppress warning: unknown conversion type character 'h' in format
1734
+
1735
+ 2010-12-04 KUBO Takehiro <kubo@jiubao.org>
1736
+ * VERSION, ext/oci8/encoding.c, ext/oci8/ocihandle.c: change
1737
+ the version number to 2.1.
1738
+
1739
+ 2010-09-18 KUBO Takehiro <kubo@jiubao.org>
1740
+ * ext/oci8/win32.c: undefine boolean to pass compilation on
1741
+ Cygwin. (reported by Don Hill).
1742
+ * lib/oci8/encoding-init.rb, lib/oci8/encoding.yml: add a
1743
+ mapping from ZHT16HKSCS to Big5-HKSCS when the latter
1744
+ is available in ruby.
1745
+
1746
+ 2010-09-12 KUBO Takehiro <kubo@jiubao.org>
1747
+ * ext/oci8/env.c, ext/oci8/extconf.rb: suppress warning
1748
+ 'use "ruby/util.h" instead of bare "util.h".'
1749
+ * test/test_break.rb: make tests insensitive to execution timing.
1750
+
1751
+ 2010-09-10 KUBO Takehiro <kubo@jiubao.org>
1752
+ * test/test_array_dml.rb: delete workaround code. It now works
1753
+ fine on rubinius head.
1754
+
1755
+ 2010-09-07 KUBO Takehiro <kubo@jiubao.org>
1756
+ * ext/oci8/extconf.rb, ext/oci8/oci8lib.c: Don't use
1757
+ rb_set_end_proc() when it isn't available.
1758
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: add RUBY_ENGINE to
1759
+ the C extension library name when RUBY_ENGINE is not "ruby."
1760
+ * ext/oci8/oci8.c: fix for ruby 1.8.
1761
+ * test/test_clob.rb: change a temporarily used table name for test
1762
+ from 'test_clob' to 'test_table.'
1763
+ * test/test_metadata.rb: delete ruby 1.9 feature to work on ruby 1.8.
1764
+ * test/config.rb: add a support function 'drop_type' for future test
1765
+ cases.
1766
+ * test/test_array_dml.rb: skip test_array_insert1 on rubinius.
1767
+ This will be enabled after the rubinius issue #445 is fixed.
1768
+
1769
+ 2010-09-05 KUBO Takehiro <kubo@jiubao.org>
1770
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
1771
+ ext/oci8/ocinumber.c: use rb_intern() to retrieve IDs of '+', '-',
1772
+ '*' and '/' on rubinus.
1773
+ * ext/oci8/oradate.c: use rb_call_super() instead of
1774
+ rb_obj_init_copy(), which is not declared in rubinus.
1775
+
1776
+ 2010-08-28 KUBO Takehiro <kubo@jiubao.org>
1777
+ * ext/oci8/env.c: fix for rubinius.
1778
+
1779
+ 2010-08-28 KUBO Takehiro <kubo@jiubao.org>
1780
+ * ext/oci8/env.c, ext/oci8/error.c, ext/oci8/extconf.rb, ext/oci8/oci8.c,
1781
+ ext/oci8/oci8.h, oci8/oci8lib.c, ext/oci8/ocinumber.c: fix for rubinius.
1782
+ Note that this is not enough to compile ruby-oci8 on it.
1783
+
1784
+ 2010-08-23 KUBO Takehiro <kubo@jiubao.org>
1785
+ * lib/oci8/object.rb: fix an error when SDO_GEOMETRY is used
1786
+ and $VERBOSE is set.
1787
+ * test/test_metadata.rb: (1) fix errors caused by String + Symbol.
1788
+ They worked on ruby 1.9.2 but not on 1.8.7 and 1.9.2.
1789
+ (2) replace "assert_equal(class, object.class)" with
1790
+ "assert_instance_of(class, object)."
1791
+ * test/test_oranumber.rb: change a testcase for ruby 1.9.2.
1792
+ Math::atan2(0, 0) behaviour was changed in 1.9.2.
1793
+
1794
+ 2010-08-15 KUBO Takehiro <kubo@jiubao.org>
1795
+ * ext/oci8/lob.c, ext/oci8/object.c, ext/oci8/oci8.h,
1796
+ lib/oci8/object.rb: support LOB datatypes in Oracle objects.
1797
+ (reported by Michael Sexton)
1798
+ * ext/oci8/ocihandle.c: fix SEGV in finalizer when temporary LOBs
1799
+ are used. This bug was introduced by the previous commit.
1800
+
1801
+ 2010-08-15 KUBO Takehiro <kubo@jiubao.org>
1802
+ * ext/oci8/apiwrap.yml, ext/oci8/lob.c: fix memory leak when temporary
1803
+ lobs are used.
1804
+
1805
+ 2010-06-15 KUBO Takehiro <kubo@jiubao.org>
1806
+ * lib/oci8/metadata.rb: rename OCI8::Metadata::Column#type_string
1807
+ to #data_type_string and add an alias from the former to the
1808
+ latter. fix a return value of OCI8::Metadata::Column#data_type_string
1809
+ of REF datatype.
1810
+ * test/test_metadata.rb: rename a test method test_metadata to
1811
+ test_column_metadata and do refactoring to make test data
1812
+ reusable for other metadata classes in future.
1813
+
1814
+ 2010-06-13 KUBO Takehiro <kubo@jiubao.org>
1815
+ * ext/oci8/metadata.c: fix a private method
1816
+ OCI8::Metadata::Base#__param to return nil when the specified
1817
+ attribute is NULL.
1818
+ * lib/oci8/metadata.rb: add rdoc comment of OCI8::Metadata::Type
1819
+ and fix other typos. change OCI8::Metadata::Schema#all_objects
1820
+ not to raise "ORA-24372: invalid object for describe" by
1821
+ invalid objects.
1822
+ * test/test_metadata.rb: add tests for OCI8::Metadata::Type.
1823
+
1824
+ 2010-06-11 KUBO Takehiro <kubo@jiubao.org>
1825
+ * lib/oci8/metadata.rb: rename OCI8::Metabase::ProcBase to
1826
+ OCI8::Metabase::Subprogram, add #is_standalone? and change
1827
+ #obj_id, #obj_name and #obj_schema to work for packaged
1828
+ subprograms. Fix rdoc comments.
1829
+ * test/test_metadata.rb: add tests for OCI8::Metadata::Function,
1830
+ OCI8::Metadata::Procedure and OCI8::Metadata::Package.
1831
+
1832
+ 2010-06-10 KUBO Takehiro <kubo@jiubao.org>
1833
+ * lib/oci8/metadata.rb: revice rdoc comments of OCI8::Metadata::Table
1834
+ and OCI8::Metadata::View and delete some unavailable methods
1835
+ of OCI8::Metadata::View.
1836
+ * test/test_metadata.rb: add tests for OCI8::Metadata::Table and
1837
+ OCI8::Metadata::View.
1838
+ * README: change the description about the privilege to run tests.
1839
+ 'create view' privilege is needed to test OCI8::Metadata::View.
1840
+
1841
+ 2010-06-01 KUBO Takehiro <kubo@jiubao.org>
1842
+ * ext/oci8/extconf.rb, ext/oci8/oci8.c, lib/oci8.rb.in: move
1843
+ the location where OCI8::VERSION is defined from oci8.rb to
1844
+ oci8lib_*.so. Add code to check the version of oci8.rb and
1845
+ oci8lib_*.so.
1846
+ * test/test_clob.rb: create test_clob table while executing
1847
+ tests.
1848
+ * README: delete the instruction to create test_clob before
1849
+ executing tests.
1850
+
1851
+ 2010-05-17 KUBO Takehiro <kubo@jiubao.org>
1852
+ * ext/oci8/metadata.c: delete OCI8::Metadata::Base's methods which
1853
+ get and set OCI handle attributes.
1854
+ * ext/oci8/ocihandle.c: add OCIHandle#attr_get_oradate.
1855
+ * lib/oci8/metadata.rb: use OCIHandle#attr_get_* instead of
1856
+ obsolete OCI8::Metadata::Base#__*.
1857
+
1858
+ 2010-05-07 KUBO Takehiro <kubo@jiubao.org>
1859
+ * dist-files, ext/oci8/.document, ext/oci8/apiwrap.yml,
1860
+ ext/oci8/connection_pool.c, ext/oci8/extconf.rb,ext/oci8/oci8.c,
1861
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c, lib/oci8.rb.in,
1862
+ lib/oci8/.document, lib/oci8/connection_pool.rb, lib/oci8/oci8.rb,
1863
+ lib/oci8/ocihandle.rb: add a new feature OCI8::ConnectionPool.
1864
+
1865
+ 2010-05-04 KUBO Takehiro <kubo@jiubao.org>
1866
+ * ext/oci8/bind.c: fix a bug that a string is bound to RAW,
1867
+ its encoding was convertd to OCI.encoding.
1868
+ * ext/oci8/encoding.c: delete an unused strcuture.
1869
+ * ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/ocihandle.c,
1870
+ lib/oci8/oci8.rb: do refactering to make it easy to
1871
+ implement new authentication features.
1872
+ * lib/oci8.rb.in, lib/oci8/metadata.rb, lib/oci8/ocihandle.rb:
1873
+ move constant definitions from metadata.rb to ocihandle.rb.
1874
+
1875
+ 2010-05-03 KUBO Takehiro <kubo@jiubao.org>
1876
+ * ext/oci8/bind.c, ext/oci8/oci8.h, lib/oci8/bindtype.rb:
1877
+ change the length semantics from byte to char for string
1878
+ bind variables when the Oracle client is 9i or upper.
1879
+
1880
+ 2010-05-02 KUBO Takehiro <kubo@jiubao.org>
1881
+ * lib/oci8/encoding-init.rb: fix for zero-length NLS_LANG.
1882
+ fix AL32UTF8's nls_ratio.
1883
+ * ext/oci8/stmt.c: fix SEGV when an exception is raised in
1884
+ post_bind_hook().
1885
+
1886
+ 2010-04-27 KUBO Takehiro <kubo@jiubao.org>
1887
+ * ext/oci8/lob.c, ext/oci8/object.c, ext/oci8/oci8.h,
1888
+ ext/oci8/stmt.c: refactor code to prepare character length
1889
+ semantics support.
1890
+
1891
+ 2010-04-27 KUBO Takehiro <kubo@jiubao.org>
1892
+ * ext/oci8/encoding.c: add new methods OCI8.nls_ratio
1893
+ and OCI8.nls_ratio=. Comments for rdoc are added and
1894
+ revised for OCI8#charset_name2id, OCI8#charset_name2id=,
1895
+ OCI8.encoding and OCI8.encoding=.
1896
+ * lib/oci8.rb.in, lib/oci8/encoding-init.rb: set
1897
+ OCI8.nls_ratio on initialization.
1898
+
1899
+ 2010-04-23 KUBO Takehiro <kubo@jiubao.org>
1900
+ * ext/oci8/oranumber_util.c, test/test_oranumber.rb:
1901
+ add limitted support for OraNumber's positive and negative
1902
+ infinity. They are converted to '~' and '-~' respectively
1903
+ as described in <URL:http://www.ixora.com.au/notes/infinity.htm>.
1904
+
1905
+ 2010-04-23 KUBO Takehiro <kubo@jiubao.org>
1906
+ * Makefile: fix wrong dependencies in Makefile when running
1907
+ 'make -jNNN (where NNN >= 2)'
1908
+ (contributed by Alyano Alyanos. See bug #28129 on rubyforge.)
1909
+
1910
+ 2010-03-07 KUBO Takehiro <kubo@jiubao.org>
1911
+ * ext/oci8/ocinumber.c: fix to compile on HP-UX.
1912
+ Duplicate const qualifiers prevented HP-UX cc from compiling.
1913
+ (reported by Sebastian YEPES)
1914
+
1915
+ 2010-02-28 KUBO Takehiro <kubo@jiubao.org>
1916
+ * NEWS: add changes between 2.0.3 and 2.0.4.
1917
+ * VERSION: change the version to 2.0.4.
1918
+ * ext/oci8/stmt.c: fix segmentation fault when OCI8::Cursor#fetch
1919
+ is called prior to OCI8::Cursor#exec.
1920
+ * ext/oci8/oci8.c: minor fix in rdoc comment.
1921
+
1922
+ 2010-02-27 KUBO Takehiro <kubo@jiubao.org>
1923
+ * lib/oci8/datetime.rb: fix a problem that fractional seconds are lost
1924
+ when Time value is bound to TIMESTAMP.
1925
+ (reported by Raimonds Simanovskis)
1926
+
1927
+ 2010-02-27 KUBO Takehiro <kubo@jiubao.org>
1928
+ * ext/oci8/error.c, ext/oci8/extconf.rb, ext/oci8/oci8.h: fix for
1929
+ old Oracle versions, which lack declarations of OCIMsg, oraub8,
1930
+ orasb8 and OCI_DURATION_PROCESS.
1931
+ * ext/oci8/ocihandle.c: fix for mingw compiler.
1932
+
1933
+ 2010-02-27 KUBO Takehiro <kubo@jiubao.org>
1934
+ * ext/oci8/apiwrap.yml, ext/oci8/error.c, ext/oci8/oci8.h,
1935
+ ext/oci8/ocinumber.c: fix for Oracle 8.0 client, which doesn't
1936
+ have OCIMessageOpen() and OCIMessageGet().
1937
+ * ext/oci8/oci8.c: add a new method OCI8.error_message to get
1938
+ a error message which depends on NLS_LANGUAGE.
1939
+
1940
+ 2010-02-09 KUBO Takehiro <kubo@jiubao.org>
1941
+ * dist-files: add ext/oci8/oranumber_util.c and
1942
+ ext/oci8/oranumber_util.h.
1943
+ (reported by Raimonds Simanovskis)
1944
+
1945
+ 2010-02-07 KUBO Takehiro <kubo@jiubao.org>
1946
+ * ext/oci8/ocinumber.c, ext/oci8/oranumber_util.c,
1947
+ ext/oci8/oranumber_util.h: change the declaration of
1948
+ oranumber_to_str() to prevent buffer overflow by
1949
+ unexpected invalid Oracle number internal data.
1950
+
1951
+ 2010-02-07 KUBO Takehiro <kubo@jiubao.org>
1952
+ * ext/oci8/error.c, ext/oci8/oci8.h: add oci8_raise_by_msgno()
1953
+ to retrieve a Oracle error message which depends on NLS_LANGUAGE.
1954
+ * ext/oci8/oranumber_util.c, ext/oci8/oranumber_util.h,
1955
+ ext/oci8/extconf.rb: add handwritten conversion functions from
1956
+ OCINumber internal representation to string and vice versa.
1957
+ * ext/oci8/ocinumber.c: 1. use handwritten conversion functions
1958
+ instead of OCI functions to convert OraNumber to string
1959
+ and vice varse. 2. add OraNumber#dump.
1960
+ * test/test_oranumber.rb: add test cases to check conversion from
1961
+ OraNumber to string and vice varse.
1962
+
1963
+ 2010-02-02 KUBO Takehiro <kubo@jiubao.org>
1964
+ * ext/oci8/ocinumber.c: fix to support NUMBERS with scale larger
1965
+ than 38 by using scientific number notation to convert OraNumber
1966
+ to BigDecimal. OraNumber#to_i is also fixed.
1967
+ (reported by Raimonds Simanovskis)
1968
+
1969
+ 2010-01-24 KUBO Takehiro <kubo@jiubao.org>
1970
+ * ext/oci8/error.c: Use OCIErrorGet() to retrieve the error message
1971
+ when the OCI return code is OCI_NO_DATA.
1972
+ (reported by Raimonds Simanovskis)
1973
+
1974
+ 2009-12-06 KUBO Takehiro <kubo@jiubao.org>
1975
+ * ext/oci8/object.c: 1. fix segv when GC starts while initializing
1976
+ a bind object for object type. (reported by Remi Gagnon)
1977
+ 2. fix memory leak about 30 bytes per one bind object for object
1978
+ type.
1979
+
1980
+ 2009-11-03 KUBO Takehiro <kubo@jiubao.org>
1981
+ * ext/oci8/object.c: fix segv when binding a collection of string.
1982
+ (reported by Raimonds Simanovskis)
1983
+
1984
+ 2009-10-26 KUBO Takehiro <kubo@jiubao.org>
1985
+ * NEW: fix typo.
1986
+ * dist-files, ext/oci8/.document: add ocihandle.c.
1987
+ * ext/oci8/ocihandle.c: add private methods OCIHandle#attr_get_*,
1988
+ OCIHandle#attr_set_* and their rdoc comments.
1989
+
1990
+ 2009-10-23 KUBO Takehiro <kubo@jiubao.org>
1991
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
1992
+ ext/oci8/ocihandle.c: add ocihandle.c and move OCIHandle
1993
+ definitions from oci8lib.c to the file.
1994
+
1995
+ 2009-10-21 KUBO Takehiro <kubo@jiubao.org>
1996
+ * NEWS: add changes between 2.0.2 and 2.0.3.
1997
+ * VERSION, Makefile: change the version to 2.0.3.
1998
+ * ext/oci8/oci8.c: fix typo.
1999
+ * ext/oci8/apiwrap.yml: add OCIIntervalFromText() prototype.
2000
+
2001
+ 2009-10-18 KUBO Takehiro <kubo@jiubao.org>
2002
+ * ext/oci8/ocidatetime.c: Add workarounds for Oracle 9.2.0.1.
2003
+ * lib/oci8/datetime.rb: Change the unit of OCI8::BindType::IntervalDS
2004
+ from day to second. Add OCI8::BindType::IntervalDS.unit and
2005
+ OCI8::BindType::IntervalDS.unit=.
2006
+ * test/test_datetime.rb: Fix tests for the above changes.
2007
+
2008
+ 2009-10-17 KUBO Takehiro <kubo@jiubao.org>
2009
+ * ext/oci8/oci8.c: Add a workaround for Oracle 9.2.0.1 when clearing
2010
+ a client identifier.
2011
+ * ext/oci8/oci8lib.c: Fix a segv when canceling a non-blocking
2012
+ execution.
2013
+ * test_appinfo.rb: Fix temporarily to prevent a segmentation fault
2014
+ under Oracle 9.2.0.1.
2015
+ * test/test_oci8.rb: Fix temporarily to prevent a segmentation fault
2016
+ under Oracle 9.2.0.1. Fix for BigDecimal bundled in ruby 1.8.5.
2017
+ * test/test_oranumber.rb: Fix for Oracle 9.2. Comparing float values
2018
+ by <=> is too sensitive to use it in tests.
2019
+
2020
+ 2009-10-06 KUBO Takehiro <kubo@jiubao.org>
2021
+ * ext/oci8/ocinumber.c: Add a global function OraNumber(obj) as a
2022
+ shortcut of OraNumber.new(obj) as Rational and BigDecimal do.
2023
+ Changes the return type of the four rules of arithmetic;
2024
+ addition, subtraction, multiplication and division. It was
2025
+ OraNumber, but now it depends on the operand.
2026
+ * lib/oci8/bindtype.rb: Add OCI8::BindType::BigDecimal and
2027
+ OCI8::BindType::Rational. Change the default data type for
2028
+ number column which fit neither Integer nor Float from
2029
+ OraNumber to BigDecimal.
2030
+ * lib/oci8/oci8.rb: Fix for OCI8::BindType::Mapping to accept
2031
+ a class name instead of the class object to support
2032
+ OCI8::BindType::BigDecimal and OCI8::BindType::Rational without
2033
+ requiring 'bigdecimal' and 'rational'.
2034
+ * spec/oranumber_spec.rb: Add a spec file for OraNumber arithmetic.
2035
+ * test/test_oci8.rb: Add tests for OCI8::BindType::BigDecimal and
2036
+ OCI8::BindType::Rational.
2037
+
2038
+ 2009-10-04 KUBO Takehiro <kubo@jiubao.org>
2039
+ * ext/oci8/oci8.c: Add constants missing in Oracle client prior to 10g.
2040
+ * ext/oci8/oraconf.rb:
2041
+ 1. Fix for ruby 1.8.5 with Oracle 8.x which needs some object
2042
+ files to link with.
2043
+ (reported by Jayson Cena)
2044
+ 2. Revise the error message under the sudo environemnt.
2045
+ 3. Print not only error message but also the error backtrace when
2046
+ oraconf.rb fails.
2047
+ * lib/oci8/object.rb: Fix to accept nil attribute in object type's
2048
+ constructors. This works only for simple data types such as number,
2049
+ string. But it doesn't for complex types such as object types.
2050
+ (requested by Remi Gagnon)
2051
+ * spec/object_type_spec.rb: Add a test for object type's constructors.
2052
+
2053
+ 2009-09-22 KUBO Takehiro <kubo@jiubao.org>
2054
+ * lib/oci8/.document, lib/oci8/datetime.rb: 1. Add
2055
+ OCI8::BindType.default_timezone and OCI8::BindType.default_timezone=.
2056
+ 2. Change the logic to convert to Time and DateTime to adapt DST.
2057
+ 3. Use new features of Time class in ruby 1.9.2 if they are available.
2058
+ 4. Add rdoc comments.
2059
+ * spec/fetch_datetime8_spec.rb, spec/fetch_datetime_spec.rb,
2060
+ spec/fetch_time8_spec.rb, spec/fetch_time_spec.rb,
2061
+ spec/spec_helper.rb: Add tests for OCI8::BindType::DateTime and
2062
+ OCI8::BindType::Time.
2063
+
2064
+ 2009-09-13 KUBO Takehiro <kubo@jiubao.org>
2065
+ * ext/oci8/lob.c, ext/oci8/oci8.h, test/test_clob.rb: Change
2066
+ OCI8::LOB#write to accept an object which is not a String and
2067
+ doesn't respond to 'to_str' as IO#write does.
2068
+ (requested by Christopher Jones)
2069
+
2070
+ 2009-09-12 KUBO Takehiro <kubo@jiubao.org>
2071
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: Fixed for ruby 1.9.2 preview1.
2072
+ (pointed by Raimonds Simanovskis)
2073
+
2074
+ 2009-09-12 KUBO Takehiro <kubo@jiubao.org>
2075
+ * ext/oci8/oraconf.rb: Fixed to compile for AIX instant clients.
2076
+ (reported by Kazuya Teramoto)
2077
+
2078
+ 2009-06-09 KUBO Takehiro <kubo@jiubao.org>
2079
+ * ext/oci8/oci8lib.c: Change the initial polling interval of
2080
+ non-blocking mode for ruby 1.8 from 100 msec to 10 msec, which
2081
+ is same with ruby-oci8 1.0.
2082
+ * ext/oci8/oci8.c: Change the default setting of non-blocking mode
2083
+ for ruby 1.9 to true. Revise rdoc comments.
2084
+
2085
+ 2009-06-07 KUBO Takehiro <kubo@jiubao.org>
2086
+ * ext/oci8/oci8.c: revise rdoc comments.
2087
+
2088
+ 2009-06-05 KUBO Takehiro <kubo@jiubao.org>
2089
+ * Makefile: check rdoc version when making rdoc documentation.
2090
+ The rdoc version must be 2.4.
2091
+ * ext/oci8/.document, ext/oci8/oci8.c, lib/.document,
2092
+ lib/oci8/.document, lib/oci8/oci8.rb: fix rdoc comments a bit.
2093
+
2094
+ 2009-05-24 KUBO Takehiro <kubo@jiubao.org>
2095
+ * ext/oci8/object.c, lib/oci8/datetime.rb, lib/oci8/object.rb:
2096
+ add DATE datatype support in object types.
2097
+
2098
+ 2009-05-19 KUBO Takehiro <kubo@jiubao.org>
2099
+ * ext/oci8/bind.c: delete OCI8::BindType::Fixnum.
2100
+ * lib/oci8/compat.rb: add OCI8::BindType::Fixnum as an alias
2101
+ of OCI8::BindType::Integer.
2102
+ * ext/oci8/extconf.rb: change extconf.rb's argument value of
2103
+ '--with-oracle-version' to accept dotted version such as
2104
+ '9.2.0.'
2105
+ * ext/oci8/oraconf.rb: When extconf.rb fails and it is run
2106
+ by sudo command, change the error message to notice that
2107
+ 'sudo' may unset environment variables.
2108
+
2109
+ 2009-05-18 KUBO Takehiro <kubo@jiubao.org>
2110
+ * ext/oci8/oci8.c: revise rdoc comments for OCI8#ping and
2111
+ OCI8#client_identifier=. Add OCI8#module=, OCI8#action= and
2112
+ OCI8#client_info.
2113
+ * test/test_appinfo.rb: add test cases for OCI8#module=,
2114
+ OCI8#action= and OCI8#client_info.
2115
+
2116
+ 2009-05-17 KUBO Takehiro <kubo@jiubao.org>
2117
+ * NEWS: add changes between 2.0.1 and 2.0.2.
2118
+ * VERSION: change version to 2.0.2.
2119
+ * dist-files: append newly added files.
2120
+ * ext/oci8/oci8.c: fix OCI8#ping not to raise an exception
2121
+ when OCIPing() failed. It should returns true or false.
2122
+ * ext/oci8/oci8lib.c: Memory allocated by xmalloc() should be
2123
+ freed by xfree().
2124
+
2125
+ 2009-05-17 KUBO Takehiro <kubo@jiubao.org>
2126
+ * ext/oci8/error.c, ext/oci8/extconf.rb, ext/oci8/oci8.h:
2127
+ fix the native library name in error messages from oci8lib.so
2128
+ to oci8lib_18.so or oci8lib_191.so.
2129
+ * ext/oci8/ocinumber.c, test/test_oranumber.rb: fix OraNumber.new
2130
+ to accept BigDecimal and Rational.
2131
+ * ext/oci8/bind.c, test/test_oci8.rb: implicitly convert the
2132
+ specified number to Float when the bind handle is for Float.
2133
+ * ext/oci8/attr.c: fix for Oracle client which doesn't have
2134
+ OCIRowidToChar().
2135
+ * ext/oci8/oci8.c, test/test_appinfo.rb, test/test_all.rb, dist-files:
2136
+ add new methods OCI8#ping and OCI8#client_identifier=.
2137
+ add test cases.
2138
+ * ext/oci8/oci8lib.c: fix a bug for Oracle 8.0.
2139
+ * lib/oci8/oci8.rb: add a convenient method OCI8#select_one
2140
+ to fetch one row.
2141
+
2142
+ 2009-04-18 KUBO Takehiro <kubo@jiubao.org>
2143
+ * lib/oci8/oci8.rb: move OCI8::BindType module to bindtype.rb.
2144
+ * lib/oci8/bindtype.rb: added. This defines OCI8::BindType.
2145
+ * lib/oci8.rb.in: require 'oci8/bindtype.rb'
2146
+
2147
+ 2009-04-17 KUBO Takehiro <kubo@jiubao.org>
2148
+ * ext/oci8/encoding.c, ext/oci8/lob.c, ext/oci8/metadata.c,
2149
+ ext/oci8/oci8.c: suppress "warning C4761: integral size mismatch
2150
+ in argument; conversion supplied" when compiled by Visual C++.
2151
+
2152
+ 2009-04-17 KUBO Takehiro <kubo@jiubao.org>
2153
+ * ext/oci8/apiwrap.yml, ext/oci8/env.c, ext/oci8/extconf.rb,
2154
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c: OCIEnv is initialized
2155
+ when it is needed. This makes a basis to enable an event
2156
+ notification after "require 'oci8'."
2157
+ * test/test_all.rb: fix a bug added four days ago.
2158
+
2159
+ 2009-04-14 KUBO Takehiro <kubo@jiubao.org>
2160
+ * ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/ocinumber.c,
2161
+ ext/oci8/metadata.c, ext/oci8/object.c: pass an OCIError to
2162
+ OraNumber functions if it can. (This is the first step to
2163
+ delay OCIEnv initialization.)
2164
+
2165
+ 2009-04-14 KUBO Takehiro <kubo@jiubao.org>
2166
+ * ext/oci8/oraconf.rb: Gets ORACLE_HOME from the Windows regitry
2167
+ by enumerating subkeys of \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE.
2168
+
2169
+ 2009-04-12 KUBO Takehiro <kubo@jiubao.org>
2170
+ * lib/oci8/oci8.rb, test/test_encoding.rb: The string bind length should
2171
+ be got from the string bytesize converted to OCI8.encoding.
2172
+
2173
+ 2009-04-12 KUBO Takehiro <kubo@jiubao.org>
2174
+ * ext/oci8/lob.c: OCI8::BLOB#read should return ASCII-8BIT.
2175
+ OCI8::BLOB#write should not convert the specified string
2176
+ to OCI8.encoding.
2177
+ * test/test_dbi.rb: suppress warning: "shadowing outer local
2178
+ variable - i"
2179
+ * test/test_all.rb, test/test_encoding.rb: add string encoding
2180
+ tests.
2181
+
2182
+ 2009-04-12 KUBO Takehiro <kubo@jiubao.org>
2183
+ * lib/dbd/OCI8.rb: fix DBI::DBD::OCI8::BindType::DBIStatementHandle
2184
+ to pass a newly added sanity check in dbi 0.4.1.
2185
+ (reported by Dirk Herzhauser)
2186
+ * test/test_all.rb: fix to use dbi installed as a rubygem.
2187
+
2188
+ 2009-04-04 KUBO Takehiro <kubo@jiubao.org>
2189
+ * ext/oci8/bind.c: fix an error when executing "select NULL from dual".
2190
+ http://rubyforge.org/forum/forum.php?thread_id=32468&forum_id=1078
2191
+ (contributed by Raimonds Simanovskis)
2192
+
2193
+ 2009-03-24 KUBO Takehiro <kubo@jiubao.org>
2194
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/oraconf.rb:
2195
+ fix a problem when compiling with Oracle 8.0.
2196
+ (reported by Axel Reinhold)
2197
+
2198
+ 2009-03-24 KUBO Takehiro <kubo@jiubao.org>
2199
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h: fix a problem when
2200
+ compiling with Oracle 9.2.
2201
+ (reported by Axel Reinhold)
2202
+ * ext/oci8/apiwrap.yml: suppres warnings 'discards qualifiers
2203
+ from pointer target type' when compiling with Oracle 8i.
2204
+
2205
+ 2009-03-17 KUBO Takehiro <kubo@jiubao.org>
2206
+ * NEWS: add a new file.
2207
+ * VERSION: change version to 2.0.1.
2208
+ * Makefile: add targets to make a binary gem for Windows.
2209
+ * dist-files: add NEWS
2210
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: rename oci8lib.so
2211
+ to oci8lib_18.so and oci8lib_191.so. The renamed name
2212
+ depends on the ruby version.
2213
+ * lib/oci8/datetime.rb: fix the fetched type for date column
2214
+ when using Oracle 8.x.
2215
+ * ruby-oci8.gemspec: fix to make a binary gem which contains
2216
+ both oci8lib_18.so and oci8lib_191.so.
2217
+
2218
+ 2009-03-17 KUBO Takehiro <kubo@jiubao.org>
2219
+ * ext/oci8/apiwrap.yml: add prototypes for OCIServerVersion() and
2220
+ OCIServerRelease().
2221
+ * ext/oci8/oci8.c: (1) add a private method OCI8#oracle_server_vernum,
2222
+ which returns Oracle server version number.
2223
+ (2) fix a class method OCI8.oracle_client_vernum when using Oracle
2224
+ client 10.1 or lower.
2225
+ * lib/oci8/datetime.rb: fix year information when fetching a date
2226
+ whose year is between A.D. 1 and A.D. 139.
2227
+ * lib/oci8/oci8.rb: (1) add OCI8#oracle_server_version.
2228
+ * (2) change the default data type for timestamp with time zone
2229
+ from DateTime to Time.
2230
+
2231
+ 2009-03-11 KUBO Takehiro <kubo@jiubao.org>
2232
+ * oraconf.rb: fix big/little endian checking problem on Mac OS X ppc.
2233
+ (contributed by unknown. See: Bug ID 24284 on rubyforge.)
2234
+
2235
+ 2009-02-15 KUBO Takehiro <kubo@jiubao.org>
2236
+ * ext/oci8/ocidatetime.c: fix array DML and DateTime object problem.
2237
+ OCI8::Cursor#bind_param_array(key, array_of_datetime) didn't
2238
+ work. (Reported by Leoš Bitto)
2239
+ * test/test_array_dml.rb: fix to test array DML and DateTime object.
2240
+
2241
+ 2009-02-10 KUBO Takehiro <kubo@jiubao.org>
2242
+ * ext/oci8/bind.c, ext/oci8/oci8.h, ext/oci8/stmt.c: fix array DML
2243
+ and DateTime object problem. It didn't work with bind classes
2244
+ which overwrite 'set' and 'get'. (Reported by Leoš Bitto)
2245
+ * test/test_array_dml.rb: fix to test array DML and DateTime object.
2246
+
2247
+ 2009-02-08 KUBO Takehiro <kubo@jiubao.org>
2248
+ * VERSION: change version from 2.0-svn to 2.0.0 to pass ruby
2249
+ gem's version string validator.
2250
+ * ruby-oci8.gemspec: added.
2251
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
2252
+ ext/oci8/win32.c: 1. add OCI8::Win32Util.dll_path to
2253
+ retrieve Oracle home location from the OCI.DLL location.
2254
+ 2. add OCI8::Win32Util.enum_homes to get Oracle home and
2255
+ NLS_LANG pairs in Windows registry.
2256
+ * lib/oci8/encoding-init.rb: get NLS_LANG from Windows registry
2257
+ if environment variable NLS_LANG is not set.
2258
+ * ext/oci8/oraconf.rb: Change the output encoding of sqlplus to
2259
+ US7ASCII by setting NLS_LANG. If the output encoding is
2260
+ incompatible with the default external encoding, it raises
2261
+ 'invalid byte sequence' when using ruby 1.9.
2262
+ * lib/oci8/datetime.rb: fix for ruby 1.9. Ruby 1.9 Time
2263
+ class's resolution is nanosecond.
2264
+ * dist-files: add dist-files, ruby-oci8.gemspec and ext/oci8/win32.c.
2265
+
2266
+ 2009-02-06 KUBO Takehiro <kubo@jiubao.org>
2267
+ * setup.rb: 1. install lib/**/*.yml flies also.
2268
+ (It is pointed by Nate Wiger that encoding.yml is not installed.)
2269
+ 2. exclude .svn or .git directories on installation.
2270
+ * lib/oci8/oci8.rb: A private method define_a_column was renamed
2271
+ to define_one_column to prevent activerecord oracle adapter
2272
+ and oracle enhanced adapter from redefining the method.
2273
+ * dist-files: add newly added file names which must be included
2274
+ in gem or tar.gz packages.
2275
+
2276
+ 2009-02-01 KUBO Takehiro <kubo@jiubao.org>
2277
+ * lib/dbd/OCI8.rb: add code for ruby-dbi 0.4 type conversion.
2278
+ * test/test_dbi.rb: suppress deprecated warnings while running
2279
+ test_bind_dbi_data_type.
2280
+ * test/test_dbi_clob.rb: fix a problem when running this
2281
+ file directly.
2282
+
2283
+ 2009-01-31 KUBO Takehiro <kubo@jiubao.org>
2284
+ * ext/oci8/oraconf.rb: fix for Oracle 11.1.0.7.0 instant
2285
+ client rpm package. The directory tree is a bit different
2286
+ with that of 11.1.0.6.0 or earlier.
2287
+ (reported by Luis Parravicini.)
2288
+
2289
+ 2009-01-31 KUBO Takehiro <kubo@jiubao.org>
2290
+ * lib/DBD/OCI8/OCI8.rb: renamed to lib/dbd/OCI8.rb.
2291
+ * lib/dbd/OCI8.rb: 1. renamed from lib/DBD/OCI8/OCI8.rb
2292
+ 2. fix USED_DBD_VERSION from 0.2 to 0.4.
2293
+ 3. add DBI::DBD::OCI8.driver_name
2294
+ (changes for ruby-dbi 0.4 contributed by James Cao.)
2295
+
2296
+ 2009-01-13 KUBO Takehiro <kubo@jiubao.org>
2297
+ * lib/oci8.rb.in, lib/oci8/encoding-init.rb: (ruby 1.9) set
2298
+ OCI8.encoding by querying NLS_LANG. If DEFAULT_OCI8_ENCODING
2299
+ is defined, use it by default.
2300
+ * lib/oci8/encoding.yml: (ruby 1.9) add a new file containing
2301
+ mapping table from Oracle characterset name to Ruby encoding
2302
+ name.
2303
+
2304
+ 2009-01-11 KUBO Takehiro <kubo@jiubao.org>
2305
+ * ext/oci8/encoding.c: (ruby 1.9) add OCI8.encoding and
2306
+ OCI8.encoding= to get and set the encoding of the Oracle
2307
+ library.
2308
+ * ext/oci8/oci8.h: (ruby 1.9) add macros OCI8StringValue
2309
+ and OCI8SafeStringValue which convert the string encoding
2310
+ to Oracle librarie's encoding.
2311
+ * ext/oci8/oci8.c: OCI8.new raise a SecurityError when specified
2312
+ connect string is tainted and $SAFE >= 1.
2313
+ * ext/oci8/stmt.c: OCI8#parse raise a SecurityError when specified
2314
+ SQL statemenet is tainted and $SAFE >= 1.
2315
+ * ext/oci8/metadata.c: OCI8#describe_* raise a SecurityError
2316
+ when the object name to be described is tainted and $SAFE >= 1.
2317
+ * ext/oci8/lob.c: OCI8::BFILE.new, OCI8::BFILE#dir_alias= and
2318
+ OCI8::BFILE#filename= raise a SecurityError when specified
2319
+ dir_alias or filename is tainted and $SAFE >= 1.
2320
+ * ext/oci8/attr.c, ext/oci8/bind.c, ext/oci8/error.c,
2321
+ ext/oci8/object.c, ext/oci8/oci8lib.c, ext/oci8/ocinumber.c:
2322
+ (ruby 1.9) converts encoding from/to OCI.encoding.
2323
+
2324
+ 2009-01-11 KUBO Takehiro <kubo@jiubao.org>
2325
+ * ext/oci8/lob.c: concatenate read data at the end, instead of
2326
+ appending them for each pieces when reading LOB data.
2327
+ * test/test_oranumber.rb: fix for ruby 1.9.
2328
+
2329
+ 2009-01-04 KUBO Takehiro <kubo@jiubao.org>
2330
+ * ext/oci8/oci8.c: delete OCI8.oracle_client_version implemented
2331
+ in C. add OCI8.oracle_client_vernum whose value is retrieved
2332
+ by OCIClientVersion() if Oracle 10.2 or upper.
2333
+ * ext/oci8/oci8.h: add macro rb_define_singleton_method_nodoc,
2334
+ which prevents rdoc from gathering the specified method.
2335
+ * lib/.document, lib/oci8/.document: add lib/oci8.rb and
2336
+ lib/oci8/oracle_version.rb to rdoc targets.
2337
+ * lib/oci8.rb.in, lib/oci8/oracle_version.rb: add
2338
+ OCI8::OracleVersion OCI8.oracle_client_version.
2339
+ * test/config.rb: change version checking code to use
2340
+ OCI8::OracleVersion.
2341
+ * test/test_all.rb, test/test_oracle_version.rb: add test cases
2342
+ of OCI8::OracleVersion.
2343
+
2344
+ 2009-01-03 KUBO Takehiro <kubo@jiubao.org>
2345
+ * ext/oci8/encoding.c, ext/oci8/error.c, ext/oci8/ocinumber.c,
2346
+ ext/oci8/oradate.c: use rb_usascii_str_new() or
2347
+ rb_usascii_str_new_cstr() when its encoding is always
2348
+ us-ascii.
2349
+ * ext/oci8/extconf.rb: add type checking for rb_encoding
2350
+ for ruby 1.9.
2351
+ * ext/oci8/oci8.h: use rb_str_new(), rb_str_new2() and
2352
+ rb_tainted_str_new() if rb_usascii_str_new(),
2353
+ rb_usascii_str_new_cstr() and rb_external_str_new_with_enc()
2354
+ are not usable.
2355
+ * ext/oci8/oci8lib.c: use ORAVERNUM macro.
2356
+
2357
+ 2009-01-03 KUBO Takehiro <kubo@jiubao.org>
2358
+ * custom-rdoc.rb: fix for rdoc bundled with ruby 1.9.
2359
+ * ext/oci8/apiwrap.yml, ext/oci8/oci8lib.c: set the value of
2360
+ OCI8.oracle_client_version by OCIClientVersion() if
2361
+ the binary is configured with --with-runtime-check and
2362
+ the Oracle client is 10.2 or upper.
2363
+ * test/test_oranumber.rb: disable workaround code when
2364
+ the Oracle client is 10.2.0.4 or upper.
2365
+
2366
+ 2008-12-30 KUBO Takehiro <kubo@jiubao.org>
2367
+ * ext/oci8/attr.c: rewrite code converting the rowid descriptor
2368
+ to string representation by using oci8_exec_sql().
2369
+ * ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
2370
+ ext/oci8/stmt.c: add check code to ensure that the process id
2371
+ is not changed.
2372
+
2373
+ 2008-12-30 KUBO Takehiro <kubo@jiubao.org>
2374
+ * ext/oci8/oraconf.rb: add code to check the cpu type of Mac OS X
2375
+ libclntsh.dylib.
2376
+
2377
+ 2008-12-21 KUBO Takehiro <kubo@jiubao.org>
2378
+ * ext/oci8/apiwrap.yml: add OCINlsCharSetNameToId()
2379
+ * ext/oci8/encoding.c: add OCI8#charset_name2id and
2380
+ OCI8#charset_id2name.
2381
+ * ext/oci8/env.c: include <util.h> only when ruby 1.8.
2382
+ * ext/oci8/oci8.h: don't include <rubyio.h> which is not used
2383
+ anywhere.
2384
+ * ext/oci8/ocinumber.c: include <errno.h> to compile
2385
+ ruby-oci8 for ruby 1.9.
2386
+ * lib/oci8/metadata.rb: comment duplicated typecode.
2387
+ * test/test_all.rb: use AutoRunner when it is found.
2388
+ Ruby 1.9's test unit does't has AutoRunner.
2389
+ * test/test_oranumber.rb: explicity convert actual_val, which is
2390
+ passed to before assert_in_delta(), to a Float to prevent
2391
+ SEGV in OCINumberSub().
2392
+
2393
+ 2008-12-14 KUBO Takehiro <kubo@jiubao.org>
2394
+ * ext/oci8/stmt.c: fix comment.
2395
+ * test/test_rowid.rb: add one assertion as ruby-oci8 1.0 branch does.
2396
+
2397
+ 2008-09-10 KUBO Takehiro <kubo@jiubao.org>
2398
+ * ext/oci8/ocidatetime.c: use session time zone when time zone
2399
+ is not specified to set bind objects of timestamp with time
2400
+ zone datatype.
2401
+ * lib/oci8/datetime.rb: add OCI8::BindType::Util.default_timezone
2402
+ to get Time or DateTime objects from bind objects of date
2403
+ datatype.
2404
+ * test/test_datetime.rb: fix test_datetype_duck_typing and add
2405
+ test_timezone for the above changes.
2406
+
2407
+ 2008-09-09 KUBO Takehiro <kubo@jiubao.org>
2408
+ * ext/oci8/apiwrap.rb, ext/oci8/apiwrap.yml, ext/oci8/oci8.h,
2409
+ ext/oci8/ocidatetime.c, lib/oci8.rb.in, lib/oci8/datetime.rb,
2410
+ lib/oci8/metadata.rb, lib/oci8/oci8.rb, test/test_break.rb,
2411
+ test/test_datetime.rb, test/test_dbi.rb, test/test_metadata.rb:
2412
+ fix Oracle version number mistakes. rename ORAVER_9_1 to
2413
+ ORAVER_9_0.
2414
+
2415
+ 2008-08-31 KUBO Takehiro <kubo@jiubao.org>
2416
+ * ext/oci8/bind.c, ext/oci8/stmt.c: disable DYNAMIC_FETCH to fetch
2417
+ LONG or LONG RAW columns. It doesn't work well.
2418
+ * lib/oci8/metadata.rb: define char_size for Oracle 8i.
2419
+ * lib/oci8/oci8.rb: define OCI8::BindType::Long and
2420
+ OCI8::BindType::LongRaw as subclasses of OCI8::BindType::String
2421
+ and OCI8::BindType::RAW respectively. fix
2422
+ OCI8::BindType::String.create and OCI8::BindType::RAW.create
2423
+ for strings longer than 4000.
2424
+ * test/test_array_dml.rb: add workaround of "ORA-01036: illegal
2425
+ variable name/number" by renaming a bind variable name ":N"
2426
+ to ":1". I guess this is a problem in the Oracle library.
2427
+ * test/test_break.rb, test/test_dbi.rb, test/test_metadata.rb:
2428
+ fix test codes for Oracle 8i or lower.
2429
+ * test/test_oci8.rb: revise a test for LONG columns.
2430
+
2431
+ 2008-08-28 KUBO Takehiro <kubo@jiubao.org>
2432
+ * ext/oci8/apiwrap.yml: OCINumberSign is unavailable on Oracle 8.
2433
+ * lib/DBD/OCI8/OCI8.rb: A data dictionary all_constraints doesn't have
2434
+ index_name column on Oracle 8i or lower. Rewrite
2435
+ DBI::DBD::OCI8::Database#column by using all_cons_columns.
2436
+ * lib/oci8/metadata.rb: raise an error when using
2437
+ * test/config.rb: Oracle 8 desn't have database_compatible_level data
2438
+ dictionary.
2439
+ * test/test_metadata.rb: fix test codes for Oracle 8i or lower.
2440
+
2441
+ 2008-08-26 KUBO Takehiro <kubo@jiubao.org>
2442
+ * ext/oci8/metadata.c: fix bugs when trying to use already freed
2443
+ OCI8::Metadata::*.
2444
+ * ext/oci8/ocidatetime.c: fix OCI8::BindType::OCIDate#set().
2445
+ * ext/oci8/ocinumber.c: undef OraNumber#round_prec and OraNumber
2446
+ #shift when using Oracle 8.0.
2447
+ * lib/oci8/datetime.rb, lib/oci8/metadata.rb: fix bugs when using
2448
+ Oracle 8.0.
2449
+ * test/config.rb, test/test_dbi.rb, test/test_metadata.rb,
2450
+ test/test_oci8.rb, test/test_oranumber.rb: do same with the
2451
+ previous commit.
2452
+ * test/test_datetime.rb: disable some test cases when Oracle 8.1
2453
+ or lower.
2454
+ * test/test_dbi_clob.rb: fix when testing in a deep directory.
2455
+
2456
+ 2008-08-26 KUBO Takehiro <kubo@jiubao.org>
2457
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/apiwrap.h.tmpl, ext/oci8/apiwrap.rb
2458
+ ext/oci8/apiwrap.yml, ext/oci8/bind.c, ext/oci8/extconf.rb,
2459
+ ext/oci8/oci8.h, ext/oci8/ocidatetime.c, ext/oci8/xmldb.c,
2460
+ lib/oci8.rb.in, lib/oci8/datetime.rb, lib/oci8/metadata.rb,
2461
+ lib/oci8/oci8.rb: change oracle version number format.
2462
+ For example Oracle 9.1.0's version number was represented as 910
2463
+ in ruby-oci8. Now it is 0x09000000. This format is same with
2464
+ that of the last argument of OCIServerRelease().
2465
+
2466
+ 2008-08-10 KUBO Takehiro <kubo@jiubao.org>
2467
+ * ext/oci8/lob.c: add workaround code for a losing character problem
2468
+ when reading CLOB. The problem is happened at the following condition.
2469
+ 1. Oracle client version is 10.2.0.4 or 11.1.0.6.
2470
+ (It doesn't depend on Oracle server version.)
2471
+ 2. The character set is a variable-length one (e.g. AL32UTF8).
2472
+ * dist-files: add lib/oci8/datetime.rb and .document files.
2473
+
2474
+ 2008-08-09 KUBO Takehiro <kubo@jiubao.org>
2475
+ * ext/oci8/lob.c: fix OCI8::LOB#size= when using a lob over 2GB.
2476
+ fix the return value of OCI8::LOB#write when writing a string
2477
+ over 2GB.
2478
+
2479
+ 2008-08-05 KUBO Takehiro <kubo@jiubao.org>
2480
+ * test/config.rb, test/test_all.rb, test/test_array_dml.rb,
2481
+ test/test_bind_raw.rb, test/test_bind_time.rb, test/test_break.rb,
2482
+ test/test_clob.rb, test/test_connstr.rb, test/test_datetime.rb,
2483
+ test/test_dbi.rb, test/test_dbi_clob.rb, test/test_metadata.rb,
2484
+ test/test_object.rb, test/test_oci8.rb, test/test_oradate.rb,
2485
+ test/test_oranumber.rb, test/test_rowid.rb:
2486
+ fix to run tests in directories outside of 'test' directory.
2487
+
2488
+ 2008-08-04 KUBO Takehiro <kubo@jiubao.org>
2489
+ * ext/oci8/attr.c: If ORA-01000 (maximum open cursors exceeded) when
2490
+ converting a rowid descriptor to string representation, run
2491
+ GC to cleanup unreferenced statement handles and try again.
2492
+ * ext/oci8/oci8.h, ext/oci8/oci8lib.c: add a utility function
2493
+ oci8_exec_sql() to execute a SQL statement in C.
2494
+ * ext/oci8/encoding.c: use oci8_exec_sql() to run anonymous PL/SQL
2495
+ blocks in oci8_charset_id2name() and oci8_charset_name2id().
2496
+ * ext/oci8/bind.c, ext/oci8/metadata.c, ext/oci8/ocidatetime.c,
2497
+ ext/oci8/ocinumber.c: suppress compiler warnings.
2498
+ * ext/oci8/oci8.c: avoid "[BUG] object allocation during garbage
2499
+ collection phase" when using ruby 1.9. In GC, just free a
2500
+ session handle without rollback.
2501
+
2502
+ 2008-08-02 KUBO Takehiro <kubo@jiubao.org>
2503
+ * ext/oci8/oci8.h, ext/oci8/ocidatetime.c, lib/oci8.rb.in,
2504
+ lib/oci8/datetime.rb: change binding code for timestamps
2505
+ and intervals. C side is a thin wrapper which converts Oracle's
2506
+ date, timestamp and interval values to ruby arrays and vise
2507
+ versa. Ruby side converts the arrays to ruby's Time, DateTime,
2508
+ Integer (for interval year to month) and Rational (for interval
2509
+ day to second).
2510
+ * lib/oci8/oci8.rb: change mapping for binding date, timestamp and
2511
+ timestamp with local time zone from OCI8::BindType::DateTime
2512
+ to OCI8::BindType::Time.
2513
+ * test/test_array_dml.rb, test/test_datetime.rb, test/test_dbi.rb,
2514
+ test/test_oci8.rb: fix test cases for a change above.
2515
+
2516
+ 2008-07-17 KUBO Takehiro <kubo@jiubao.org>
2517
+ * Makefile: add a rdoc target to make rdoc document.
2518
+ * custom-rdoc.rb: add a file which customizes rdoc to handle
2519
+ oci8_define_class_under() and oci8_define_bind_class().
2520
+ * ext/oci8/.document: add a new file for rdoc.
2521
+ * ext/oci8/bind.c, ext/oci8/oci8.h: rename cOCIBind to cOCI8BindTypeBase,
2522
+ which is same name used in custom-rdoc.rb.
2523
+ * ext/oci8/oci8.c, ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c:
2524
+ delete code in comment for vanilla rdoc which doesn't know what
2525
+ oci8_define_class_under() and oci8_define_bind_class() do.
2526
+ * ext/oci8/oradate.c: fix rdoc comments.
2527
+
2528
+ 2008-07-13 KUBO Takehiro <kubo@jiubao.org>
2529
+ * ext/oci8/stmt.c: (1) add rdoc comments. (2) OCI8::Cursor#type
2530
+ returns a Fixnum when the type is not undocumented value instead
2531
+ of raising an exception.
2532
+ * lib/.document, lib/oci8/.document: add new files for rdoc.
2533
+ * lib/oci8/metadata.rb: fix OCI8::Metadata::Scheme#inspect.
2534
+ * lib/oci8/object.rb: don't put OCI8::BindArgumentHelper, which is
2535
+ not used by users, to rdoc.
2536
+ * lib/oci8/oci8.rb: (1) fix rdoc comments. (2) change the return
2537
+ value of OCI8#exec when the SQL statement is a PL/SQL block.
2538
+ (3) change the method of customize the bind type for NUMBER
2539
+ without precision and scale to same with ruby-oci8 1.0 as follows
2540
+ OCI8::BindType::Mapping[:number_unknown_prec] = ...
2541
+ OCI8::BindType::Mapping[:number_no_prec_setting] = ...
2542
+
2543
+ 2008-07-12 KUBO Takehiro <kubo@jiubao.org>
2544
+ * lib/oci8/oci8.rb: add OraNumber#to_json and OraDate#to_json.
2545
+ * lib/oci8/metadata.rb: define char_used?, char_size, fsprecision
2546
+ and lfprecision methods to subclasses of OCI8::Metadata::Base
2547
+ onln when Oracie 9i or upper. They ara unavailable on Oracle
2548
+ 8.1 or lower.
2549
+
2550
+ 2008-07-06 KUBO Takehiro <kubo@jiubao.org>
2551
+ * ext/oci8/oci8.h: add comments.
2552
+
2553
+ 2008-07-05 KUBO Takehiro <kubo@jiubao.org>
2554
+ * ext/oci8/oraconf.rb:
2555
+ 1. prints more information on checking LD_LIBRARY_PATH.
2556
+ 2. fix for windows Oracle 11g instant client.
2557
+ 3. fix for intel mac instant client.
2558
+ * ext/oci8/object.c, lib/oci8/object.rb, lib/oci8/oci8.rb:
2559
+ fix to pass an array of Oracle objects to a procedure.
2560
+
2561
+ 2008-04-27 KUBO Takehiro <kubo@jiubao.org>
2562
+ * ext/oci8/stmt.c, lib/oci8/oci8.rb: fix typo.
2563
+ (pointed by Liming)
2564
+ * dist-files: fix added and deleted files.
2565
+
2566
+ 2008-04-08 KUBO Takehiro <kubo@jiubao.org>
2567
+ * metaconfig: add '-w' when running test cases.
2568
+ * test/test_metadata.rb: suppress warning: "shadowing outer local variable - i."
2569
+ * ext/oci8/stmt.c: suppress warning: "warning: instance variable
2570
+ @max_array_size not initialized" at lib/oci8/oci8.rb:375.
2571
+
2572
+ 2008-03-29 KUBO Takehiro <kubo@jiubao.org>
2573
+ * ext/oci8/encoding.c, ext/oci8/extconf.rb, ext/oci8/oci8.h
2574
+ ext/oci8/oci8lib.c: add a new file encoding.c.
2575
+ oci8_charset_id2name() is added to convert Oracle charset
2576
+ id to charset name. If the Oracle client version is 9iR2
2577
+ or upper, it uses OCINlsCharSetIdToName(). If 9iR1 or lower,
2578
+ it uses PL/SQL function nls_charset_name() and converts
2579
+ at the server side.
2580
+ * ext/oci8/metadata.c: use oci8_charset_id2name() instead of
2581
+ OCINlsCharSetIdToName().
2582
+
2583
+ 2008-03-29 KUBO Takehiro <kubo@jiubao.org>
2584
+ * ext/oci8/extconf.rb, ext/oci8/oci8lib.c, ext/oci8/oci8.h:
2585
+ When '--with-runtime-check' is passed to extconf.rb, oci8lib.so
2586
+ is no longer linked to an Oracle client library at compilation
2587
+ time. It tries to search the Oracle client library at runtime.
2588
+ * ext/oci8/bind.c: define OCI8::BindType::BinaryDouble when
2589
+ oracle_client_version's value is 10g or later, not when SQLT_BDOUBLE
2590
+ is declared. This is for runtime check.
2591
+
2592
+ 2008-03-22 KUBO Takehiro <kubo@jiubao.org>
2593
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/object.c, ext/oci8/oci8.h,
2594
+ ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c,
2595
+ ext/oci8/oradate.c, ext/oci8/stmt.c: add qualifier 'const' to
2596
+ oci8_bind_*class_t values. These are read only.
2597
+
2598
+ 2008-03-22 KUBO Takehiro <kubo@jiubao.org>
2599
+ * ext/oci8/.: add apiwrap.[ch] to svn:ignore property.
2600
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/apiwrap.rb, ext/oci8/apiwrap.yml:
2601
+ add alternative code if OCINumberSetPi(), OCINumberIsInt() is
2602
+ not found.
2603
+ * ext/oci8/oci8.h: delete unused macros. add LIKELY and UNLIKELY
2604
+ macros and use the former in oci8_get_errhp().
2605
+ * ext/oci8/oci8.h, ext/oci8/oci8lib.c: change the scope of
2606
+ oci8_base_class to static.
2607
+ * ext/oci8/ocinumber.c: fix OraNumber#** and OraNumber#<=>. raise
2608
+ exceptions when OraNumber#round_prec or OraNumber#shift is called
2609
+ and the Oracle client version is 8.0.
2610
+ * test/test_oranumber.rb: add testcass for all OraNumber methods.
2611
+
2612
+ 2008-03-19 KUBO Takehiro <kubo@jiubao.org>
2613
+ * ext/oci8/ocinumber.c, lib/oci8/compat.rb, lib/oci8/object.rb
2614
+ lib/oci8/oci8.rb, test/test_oci8.rb:
2615
+ 1. OCINumber, which is a new object in 2.0, become OraNumber.
2616
+ This means OraNumber become a true numeric class.
2617
+ 2. Rdoc comments in ocinumber.c are fixed.
2618
+
2619
+ 2008-03-08 KUBO Takehiro <kubo@jiubao.org>
2620
+ * ext/oci8/extconf.rb, ext/oci8/oci8lib.c, ext/oci8/rowid.c:
2621
+ rowid.c is deleted. OCIRowid is no longer in use.
2622
+ * ext/oci8/oci8.h, ext/oci8/attr.c: oci8_get_rowid_attr()
2623
+ is moved from rowid.c and returns a String instead of
2624
+ an OCIRowid object.
2625
+ * ext/oci8/stmt.c: fix a rdoc comment of OCI8::Cursor#rowid.
2626
+ * lib/oci8/oci8.rb: fetch a rowid value as a String.
2627
+ * test/test_all.rb, test/test_rowid.rb: add a rowid testcase.
2628
+
2629
+ 2008-03-07 KUBO Takehiro <kubo@jiubao.org>
2630
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/apiwrap.rb, ext/oci8/apiwrap.yml:
2631
+ add all OCI functions to 'apiwrap.yml'.
2632
+ * ext/oci8/object.c: use OCIObjectPin_nb() instead of OCIObjectPin().
2633
+ * ext/oci8/oci8lib.c: call OCIBreak in rb_thread_blocking_region()
2634
+ to prevent the thread from being blocked.
2635
+
2636
+ 2008-03-06 KUBO Takehiro <kubo@jiubao.org>
2637
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/apiwrap.h.tmpl:
2638
+ rewrite apiwrap.[ch].tmpl. All non-static variables
2639
+ and functions have 'oci8_' prefix name.
2640
+ * ext/oci8/apiwrap.rb, ext/oci8/apiwrap.yml,
2641
+ ext/oci8/extconf.rb: change format of apiwrap.yml
2642
+ to use both OCIAttrGet() and OCIAttrGet_nb().
2643
+ * ext/oci8/oci8.c, test/config.rb: add OCI8.oracle_client_version.
2644
+
2645
+ 2008-03-05 KUBO Takehiro <kubo@jiubao.org>
2646
+ * ext/oci8/env.c, ext/oci8/oci8.h: use native API to get a thread
2647
+ local errhp (ruby 1.9 only)
2648
+ pthread: pthread_getspecific()
2649
+ win32: TlsGetValue()
2650
+
2651
+ 2008-03-04 KUBO Takehiro <kubo@jiubao.org>
2652
+ * ext/oci8/extconf.rb: output a message to say 'install
2653
+ a ruby development package' when 'mkmf.rb' is not
2654
+ found and the platform is Linux. Both ruby and its
2655
+ development package are required to compile extension
2656
+ libraries on Linux.
2657
+
2658
+ 2008-03-04 KUBO Takehiro <kubo@jiubao.org>
2659
+ * ext/oci8/ocinumber.c: fix for ruby-1.9.0-1.
2660
+ The arguments of rb_num_coerce_cmp() and rb_num_coerce_bin()
2661
+ are changed in ruby-1.9.0-1.
2662
+
2663
+ 2008-2-27 Liming Lian <liming.lian@oracle.com>
2664
+ Add new feature: Array DML
2665
+ * lib/oci8/oci8.rb: add three new methods for Array DML to OCI8::Cursor:
2666
+ max_array_size=, bind_param_array and exec_array
2667
+ 1) OCI8::Cursor#max_array_size=: set the maximum array size for OCI8::Cursor#bind_param_array.
2668
+ This method should be called before OCI8::Cursor#bind_param_array
2669
+ 2) OCI8::Cursor#bind_param_array: bind array explicitly. This method is used to bind an array of
2670
+ values to a placeholder embedded in the prepared statement which is to be executed with
2671
+ OCI8::Cursor#exec_array
2672
+ 3) OCI8::Cursor#exec_array: executes the SQL statement assigned the cursor with array bindings.
2673
+ This implementation currently only supports non-data returning statements (INSERT, UPDATE, DELETE
2674
+ but not SELECT). All binding arrays should be the same size and this size will be used as iteration
2675
+ count for OCIStmtExecute()
2676
+ * ext/oci8/stmt.c: add support for Array DML
2677
+ 1) Change the parameters for invoking OCIBindByPos and OCIBindByName because
2678
+ currently we only support Array DML for non-PL/SQL binds.
2679
+ 2) Add a new parameter "Value iteration_count" to function oci8_stmt_execute.
2680
+ This parameter indicates iteration count for OCIStmtExecute. For Non-Array DML,
2681
+ you should set this parameter "nil"
2682
+ 3) Add three new functions: each_value, clear_binds_iterator_proc, oci8_stmt_clear_binds.
2683
+ Those functions are used to clear all binds from OCI8::Cursor. When calling OCI8::Cursor#max_array_size,
2684
+ all the binds will be clean from cursor if instance variable max_array_size of cursor is set before.
2685
+ * test/test_array_dml.rb(added): add test cases for Array DML
2686
+ * test/test_all.rb: call test cases for Array DML
2687
+
2688
+ 2008-02-17 KUBO Takehiro <kubo@jiubao.org>
2689
+ * Makefile: add format_c_source target to fix indentation by
2690
+ astyle. <URL:http://astyle.sourceforge.net>
2691
+ * ext/oci8/error.c, ext/oci8/lob.c, ext/oci8/metadata.c,
2692
+ ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
2693
+ ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c,
2694
+ ext/oci8/oradate.c, ext/oci8/stmt.c, ext/oci8/xmldb.c:
2695
+ fix indentation by astyle.
2696
+ The command line options are as follows.
2697
+ astyle --style=linux --indent=spaces=4 --brackets=linux ext/oci8/*.[ch]
2698
+
2699
+ 2008-02-17 KUBO Takehiro <kubo@jiubao.org>
2700
+ * ext/oci8/object.c, ext/oci8/stmt.c:
2701
+ change from:
2702
+ switch (fixnum_value) {
2703
+ case INT2FIX(INT_CONSTANT):
2704
+ ....;
2705
+ to:
2706
+ switch (FIX2INT(fixnum_value)) {
2707
+ case INT_CONSTANT:
2708
+ ....;
2709
+ "case INT2FIX(INT_CONSTANT)" confuses astyle.
2710
+ astyle's URL: http://astyle.sourceforge.net
2711
+ * test/config.rb: sleep 5 seconds and retry again when
2712
+ ORA-12516 or ORA-12520. One second was too short on
2713
+ my new linux box.
2714
+ * test/test_oci8.rb: fix a test case for x86_64 linux.
2715
+
2716
+ 2008-01-14 KUBO Takehiro <kubo@jiubao.org>
2717
+ * ext/oci8/extconf.rb: add checking code for intern.h, util.h,
2718
+ ruby/util.h, ruby_errinfo and rb_errinfo.
2719
+ * ext/oci8/env.c: define a header file to be included by
2720
+ HAVE_RUBY_UTIL_H and HAVE_UTIL_H, not by RUBY_VM.
2721
+ * ext/oci8/oci8.h: define a header file to be included by
2722
+ HAVE_INTERN_H, not by RUBY_VM. use HAVE_RB_ERRINFO and
2723
+ HAVE_RUBY_ERRINFO to define rb_errinfo() as a macro.
2724
+ * ext/oci8/oci8.c: use rb_eval_string() instead of rb_reg_new()
2725
+ for not to use RUBY_VM.
2726
+
2727
+ 2008-01-14 KUBO Takehiro <kubo@jiubao.org>
2728
+ * ext/oci8/oci8.h ext/oci8/oci8lib.c: rename variable name
2729
+ cOCIHandle to oci8_cOCIHandle to use outside of oci8lib.c.
2730
+ * ext/oci8/metadata.c: use oci8_cOCIHandle instead of rb_cObject
2731
+ to hold a descrbe handle. check parent object's handle type
2732
+ in oci8_metadata_create().
2733
+
2734
+ 2008-01-14 KUBO Takehiro <kubo@jiubao.org>
2735
+ * ext/oci8/apiwrap.c.tmpl: fix a bug on runtime-api check.
2736
+ * ext/oci8/ocidatetime.c, test/test_datetime.rb: use
2737
+ DateTime.parse('0001-01-01 00:00:00.1') instead of
2738
+ DateTime.parse('00:00:00.1'). The latter doesn't work
2739
+ on ruby 1.8.5 or earlier.
2740
+ * test/config.rb: revert the previous commit and add
2741
+ get_oci8_connection() and get_dbi_connection() to the
2742
+ base class of test cases. When an attempt to connect fails
2743
+ by ORA-12516 or ORA-12520, their methods sleep one seconds
2744
+ and try again more once.
2745
+ delete unused method setup_lowapi().
2746
+ * test/test_bind_raw.rb, test/test_bind_time.rb,
2747
+ test/test_break.rb, test/test_clob.rb, test/test_datetime.rb,
2748
+ test/test_dbi.rb, test/test_dbi_clob.rb, test/test_metadata.rb,
2749
+ test/test_object.rb, test/test_oci8.rb, test/test_oradate.rb,
2750
+ test_oranumber.rb: revert the previous commit and use
2751
+ get_oci8_connection() or get_dbi_connection() to make a
2752
+ connection.
2753
+
2754
+ 2008-01-08 KUBO Takehiro <kubo@jiubao.org>
2755
+ * test/config.rb, test/test_bind_raw.rb, test/test_bind_time.rb,
2756
+ test/test_break.rb, test/test_clob.rb, test/test_datetime.rb,
2757
+ test/test_dbi.rb, test/test_dbi_clob.rb, test/test_metadata.rb,
2758
+ test/test_object.rb, test/test_oci8.rb, test/test_oradate.rb,
2759
+ test_oranumber.rb: use one OCI8 session for all OCI8 test cases
2760
+ and use one DBI session for all DBI test cases.
2761
+ Before this changes, connection/disconnection were called
2762
+ for each tests. If they are done too frequently and the Oracle
2763
+ server is on a remote server, the following error is raised.
2764
+ OCIError: ORA-12516: TNS:listener could not find available
2765
+ handler with matching protocol stack
2766
+
2767
+ 2008-01-04 KUBO Takehiro <kubo@jiubao.org>
2768
+ * ext/oci8/oci8.h, ext/oci8/stmt.c: 1. add a 'pre_fetch_hook'
2769
+ callback function to oci8_bind_class_t. This function is
2770
+ called before OCIStmtFetch in OCI8::Cursor#fetch.
2771
+ 2. allocate OCIStmt handle by pre_fetch_hook when a result set
2772
+ has cursors.
2773
+ 3. change 'init' callback function's prototype in
2774
+ oci8_bind_class_t.
2775
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/object.c,
2776
+ ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c,
2777
+ ext/oci8/oradate.c, ext/oci8/rowid.c: changes causes by above 1
2778
+ and 3.
2779
+ * test/test_oci8.rb: delete re-defining in a test case for cursors
2780
+ in a result set.
2781
+
2782
+ 2008-01-03 KUBO Takehiro <kubo@jiubao.org>
2783
+ * ext/oci8/error.c: fix a SEGV bug when an error is raised in GC.
2784
+ make a custom backtrace entry only when 'caller' returns an Array.
2785
+
2786
+ 2007-12-29 KUBO Takehiro <kubo@jiubao.org>
2787
+ * lib/oci8/metadata.rb, lib/oci8/oci8.rb: support cursors in a
2788
+ result set. For example:
2789
+ SELECT column1 A, column2 B, CURSOR(SELECT * FROM table2) C
2790
+ FROM table1
2791
+ (port from changes in 1.0.0, which is contributed by Randy Gordon)
2792
+ * test/test_oci8.rb: add a testcase for cursors in a result set.
2793
+
2794
+ 2007-12-23 KUBO Takehiro <kubo@jiubao.org>
2795
+ * ext/oci8/oraconf.rb: fix for official x86_64 rpms.
2796
+ (contributed by Pat.)
2797
+
2798
+ 2007-12-04 KUBO Takehiro <kubo@jiubao.org>
2799
+ * ext/oci8/stmt.c, lib/oci8/oci8.rb: delete a private method
2800
+ OCI8::Curosr#__connection and use @con instead.
2801
+
2802
+ 2007-12-04 KUBO Takehiro <kubo@jiubao.org>
2803
+ * ext/oci8/extconf.rb: compile xmldb.o by default.
2804
+ * ext/oci8/lob.c, ext/oci8/metadata.c, ext/oci8/oci8.c: use
2805
+ functions which ends with _nb instead of normal OCI functions
2806
+ if they may block ruby itself. delete BUILD_FOR_ORACLE_* macros
2807
+ and use have_OCI* instead.
2808
+ * ext/oci8/oci8.h: delete unused macros; BUILD_FOR_ORACLE_*,
2809
+ Get_Int_With_Default, oci_rc2, oci_rc, and _D_.
2810
+ * ext/oci8/oci8lib.c, ext/oci8/oci8.c: change the default value
2811
+ of executing_thread member in oci8_svcctx_t.
2812
+ * ext/oci8/xmldb.c: disabled for a while.
2813
+
2814
+ 2007-12-04 KUBO Takehiro <kubo@jiubao.org>
2815
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/apiwrap.h.tmpl, ext/oci8/apiwrap.rb:
2816
+ change function declares of runtime-check.
2817
+ add oracle_client_version.
2818
+ * ext/oci8/apiwrap.yml: add OCI function prototypes.
2819
+ * ext/oci8/extconf.rb: check oracle_client_version by existent functions
2820
+ in OCI libraries. delete BUILD_FOR_ORACLE_VERSION_MAJOR and
2821
+ BUILD_FOR_ORACLE_VERSION_MINOR macros. add ORACLE_CLIENT_VERSION.
2822
+ * ext/oci8/oci8.h: use ORACLE_CLIENT_VERSION instead of
2823
+ BUILD_FOR_ORACLE_VERSION_MAJOR and BUILD_FOR_ORACLE_VERSION_MINOR
2824
+ macros.
2825
+ * ext/oci8/ocidatetime.c: fix for ruby 1.8.
2826
+ * ext/oci8/tdo.c: delete an unused file.
2827
+
2828
+ 2007-12-03 KUBO Takehiro <kubo@jiubao.org>
2829
+ * ext/oci8/apiwrap.c.tmpl: move rboci_blocking_region() and
2830
+ find_symbol() to ext/oci8/oci8lib.c and rename to
2831
+ oci8_blocking_region() and oci8_find_symbol() respectively.
2832
+ * ext/oci8/bind.c: use RFLOAT_VALUE macro for ruby 1.9.
2833
+ * ext/oci8/oci8.h: define a macro RFLOAT_VALUE if it is not defined.
2834
+ add prototypes oci8_blocking_region() and oci8_find_symbol().
2835
+ * ext/oci8/oci8lib.c: add oci8_blocking_region() and oci8_find_symbol().
2836
+ * ext/oci8/ocidatetime.c: add workaround code for ruby 1.9 VM bug.
2837
+ * lib/DBD/OCI8/OCI8.rb, lib/oci8/metadata.rb, test/test_metadata.rb:
2838
+ rename OCI8::Metadata::Column#is_null? to
2839
+ OCI8::Metadata::Column#nullable? as ruby 1.0.0 does.
2840
+ * test/test_dbi.rb: add testcase to check binding ''(empty string)
2841
+ via dbi as ruby 1.0.0 does.
2842
+ * test/test_oci8.rb: add asserts binding Nan, +Infinity and
2843
+ -Inifinty as ruby 1.0.0 does.
2844
+
2845
+ 2007-11-23 KUBO Takehiro <kubo@jiubao.org>
2846
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/apiwrap.h.tmpl, ext/oci8/apiwrap.rb
2847
+ ext/oci8/apiwrap.yml, ext/oci8/extconf.rb, ext/oci8/oci8.h
2848
+ ext/oci8/oci8lib.c: add a framework to check whether an OCI functions
2849
+ exists at run-time.
2850
+ * ext/oci8/lob.c: check whether OCILobIsTemporary and OCILobLocatorAssign
2851
+ exist at run-time.
2852
+ * ext/oci8/rowid.c: use new framework to check whether OCIRowidToChar
2853
+ exists at run-time.
2854
+
2855
+ 2007-11-20 KUBO Takehiro <kubo@jiubao.org>
2856
+ * ext/oci8/extconf.rb, , ext/oci8/apiwrap.c.tmpl,
2857
+ ext/oci8/apiwrap.h.tmpl, ext/oci8/apiwrap.rb,
2858
+ ext/oci8/apiwrap.yml: add new files for non-blocking
2859
+ executions. These use rb_thread_blocking_region in
2860
+ ruby 1.9.
2861
+ * ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/stmt.c:
2862
+ use new non-blocking execution API for OCI8#exec and
2863
+ OCI8::CUrsor#fetch.
2864
+ * test/test_break.rb: add comment and add sleep to pass
2865
+ test_blocking_mode.
2866
+
2867
+ 2007-11-19 KUBO Takehiro <kubo@jiubao.org>
2868
+ * ext/oci8/ocidatetime.c, test/test_datetime.rb: fix for a change
2869
+ of DateTime#fsec_fractions in ruby 1.9.
2870
+ * ext/oci8/stmt.c: rename OCI8::Cursor#__defineByPos to
2871
+ OCI8::Cursor#__define.
2872
+ * test/test_oci8.rb: add test_select_number.
2873
+ * lib/oci8/oci8.rb: add OCI8::BindType::Base.create which acts as
2874
+ a factory method. move bindtype specific code to create method
2875
+ of OCI8::BindType::Base's subclasses.
2876
+
2877
+ 2007-11-18 KUBO Takehiro <kubo@jiubao.org>
2878
+ * lib/DBD/OCI8/OCI8.rb: add StatementHandle#column_info.
2879
+ refine DatabaseHandle#columns.
2880
+ * test/test_dbi.rb: add a testcase for StatementHandle#column_info
2881
+ and DatabaseHandle#columns.
2882
+
2883
+ 2007-11-17 KUBO Takehiro <kubo@jiubao.org>
2884
+ * ext/oci8/error.c: add OCIError#initialize(msg, code = nil).
2885
+ * ext/oci8/metadata.c, lib/oci8/metadata.rb: rename char_semantics
2886
+ method to "char_used?". change the return value of data_type
2887
+ method when the data_type is NCHAR, NVARCHAR2 or NCLOB.
2888
+ * test/test_all.rb, test/test_metadata.rb: add a testcase for
2889
+ OCI8::Cursor#column_metadata and OCI8#describe_table.
2890
+
2891
+ 2007-11-17 KUBO Takehiro <kubo@jiubao.org>
2892
+ * lib/oci8/oci8.rb: OCI8::Cursor#fetch_hash accepts a block now.
2893
+ * test/test_oci8.rb: add a test for fetch_hash with a block.
2894
+ * ext/oci8/metadata.c: fix for 64-bit windows.
2895
+
2896
+ 2007-11-12 KUBO Takehiro <kubo@jiubao.org>
2897
+ * ext/oci8/stmt.c, lib/oci8/oci8.rb: add OCI8::Cursor#column_metadata.
2898
+ * ext/oci8/metadata.c, ext/oci8/oci8.h, ext/oci8/stmt.c: Change
2899
+ the lifetime of OCI8::Metadata::Base. It depended on the connection,
2900
+ but now it depends on what it describes. For example OCI8::cursor
2901
+ for OCI8::Cursor#column_metadata.
2902
+ * ext/oci8/env.c, ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
2903
+ ext/oci8/oraconf.rb, setup.rb: fix for ruby 1.9. Not full tests are
2904
+ not passed on ruby 1.9.
2905
+
2906
+ 2007-11-11 KUBO Takehiro <kubo@jiubao.org>
2907
+ * ext/oci8/oci8.c, lib/oci8/metadata.rb, test/test_datetime.rb:
2908
+ suppress warnings 'instance variable @xxxx not initialized' when
2909
+ running ruby with '-w' option. (suggested by Daniel Berger.)
2910
+
2911
+ 2007-11-11 KUBO Takehiro <kubo@jiubao.org>
2912
+ * test/config.rb, test/test_dbi.rb, test/test_oci8.rb:
2913
+ add 'purge' option to 'drop table' statement when Oracle 10g
2914
+ or upper.
2915
+ * ext/oci8/bind.c: add OCI8::BindType::BinaryDouble when SQLT_BDOUBLE
2916
+ is defined.
2917
+ * lib/oci8/compat.rb: add OCI8::SQLT_IBFLOAT, OCI8::SQLT_IBDOUBLE and
2918
+ OCI8::SQLT_BFILE for compatibility with 1.0.
2919
+ * lib/oci8/metadata.rb, lib/oci8/object.rb, lib/oci8/oci8.rb:
2920
+ rename :bfloat and :bdouble to :binary_float and :binary_double
2921
+ respectively.
2922
+ * lib/oci8/oci8.rb: use OCI8::BindType::BinaryDouble for :binary_float
2923
+ and :binary_double column when BinaryDouble is available.
2924
+ * test/test_oci8.rb: bind as binary_double explicitly in
2925
+ test_binary_float.
2926
+
2927
+ 2007-10-15 KUBO Takehiro <kubo@jiubao.org>
2928
+ * lib/oci8/object.rb: quick fix to get and set object
2929
+ attributes without explicitly setting default_connection.
2930
+ I am now wavering about what to do.
2931
+
2932
+ 2007-10-14 KUBO Takehiro <kubo@jiubao.org>
2933
+ * ext/oci8/oraconf.rb: fix a problem to compile with a
2934
+ third-party x86_64 rpm package. '--with-instant-client'
2935
+ option become obsolete and is ignored.
2936
+ * ext/oci8/oraconf.rb: fix for FreeBSD oracle8-client port.
2937
+ Not all tests are passed on FreeBSD yet.
2938
+ * lib/oci8/object.rb: fix a problem when convertion ruby class
2939
+ name to oracle object name fails.
2940
+
2941
+ 2007-10-11 KUBO Takehiro <kubo@jiubao.org>
2942
+ * lib/DBD/OCI8/OCI8.rb: add DatabaseHandle#columns for DBI.
2943
+ (suggested by Venkat Pa)
2944
+
2945
+ 2007-10-11 KUBO Takehiro <kubo@jiubao.org>
2946
+ * lib/DBD/OCI8/OCI8.rb: fix external OS authentication.
2947
+ I applied Dan Fitch's patch to improper location.
2948
+
2949
+ 2007-07-24 KUBO Takehiro <kubo@jiubao.org>
2950
+ * ext/oci8/object.c, lib/oci8/object.rb: support binary_double,
2951
+ binary_float and object member of object datatype.
2952
+ * test/setup_test_object.sql, test/test_object.rb: add testcase for
2953
+ binary_double, binary_float, embedded object, array of raw, array
2954
+ of binary_double, array of binary_float, array of object in object
2955
+ datatype.
2956
+
2957
+ 2007-07-07 KUBO Takehiro <kubo@jiubao.org>
2958
+ * ext/oci8/object.c: support array of number in OCI8::NamedCollection.
2959
+ * test/setup_test_object.sql, test/test_object.rb: fix a testcase
2960
+ to test array of number.
2961
+
2962
+ 2007-07-05 KUBO Takehiro <kubo@jiubao.org>
2963
+ * lib/oci8/object.rb, ext/oci8/object.c: add OCI8::NamedCollection
2964
+ to support collection datatypes. add OCI8::NamedType#attributes
2965
+ and #attributes= instead of OCI8::NamedType#copy_attributes_from
2966
+ and #copy_attributes_to. and others.
2967
+ * lib/oci8/oci8.rb: add OCI8#username.
2968
+ * test/test_object.rb: add a testcase for array of varchar2.
2969
+
2970
+ 2007-07-04 KUBO Takehiro <kubo@jiubao.org>
2971
+ * ext/oci8/object.c, lib/oci8/object.rb, lib/oci8/oci8.rb:
2972
+ delete OCI8::NamedType module and OCI8::NamedType::Base class
2973
+ and add OCI8::Object module, OCI8::Object::Base class and
2974
+ OCI8::NamedType class. In the user view, OCI8::NamedType::Base
2975
+ become OCI8::Object::Base. The reason is that 'named type' is used
2976
+ only by OCI documents, and Other Oracle manuals use Oracle Object.
2977
+ * ext/oci8/oci8.c: free all dependent objects in advance to
2978
+ disconnecting a connection.
2979
+ * lib/oci8/metadata.rb: add OCI8::Metadata::Type#type_metadata.
2980
+ fix typos.
2981
+ * test/setup_test_object.sql, test/test_object.rb: add a testcase for
2982
+ Oracle Objects.
2983
+
2984
+ 2007-07-03 KUBO Takehiro <kubo@jiubao.org>
2985
+ * lib/DBD/OCI8/OCI8.rb: fix for external OS authentication.
2986
+ (contributed by Dan Fitch)
2987
+
2988
+ 2007-06-26 KUBO Takehiro <kubo@jiubao.org>
2989
+ * ext/oci8/oci8.c: add external OS authentication. (suggested by Dan Fitch)
2990
+ conn = OCI8.new('/')
2991
+ or
2992
+ conn = OCI8.new(nil, nil)
2993
+ * test/test_connstr.rb: fix a testcase for external OS authentication.
2994
+
2995
+ 2007-06-23 KUBO Takehiro <kubo@jiubao.org>
2996
+ * ext/oci8/oraconf.rb: read a shared library's ELF header to
2997
+ check what cpu is it for. (linux x86, x86_64 and ia64 only)
2998
+
2999
+ 2007-06-05 KUBO Takehiro <kubo@jiubao.org>
3000
+ * ext/oci8/oraconf.rb: copy oraconf.rb of ruby-oci8-1.0 branch.
3001
+ * ext/oci8/lob.c, ext/oci8/oci8.h, ext/oci8/stmt.c: fix to bind
3002
+ an OCI8::NCLOB value on Oralce 9i.
3003
+ * test/test_oci8.rb: add testcases for binary_double datatype
3004
+ and OCI8::NCLOB.new.
3005
+
3006
+ 2007-05-20 KUBO Takehiro <kubo@jiubao.org>
3007
+ * lib/oci8/object.rb, ext/oci8/object.c: add new files.
3008
+ * ext/oci8/bind.c: fix to bind object type.
3009
+ * ext/oci8/extconf.rb: use object.c instead of tdo.c.
3010
+ * ext/oci8/metadata.c: add OCI8::Metadata::Base#tdo_id.
3011
+ * ext/oci8/oci8.h: add new prototypes; oci8_set_ocinumber(),
3012
+ oci8_set_integer() and Init_oci_object(). delete Init_oci_tdo().
3013
+ * ext/oci8/oci8lib.c: use Init_oci_object() instead of Init_oci_tdo().
3014
+ * ext/oci8/ocinumber.c: export oci8_set_ocinumber() and
3015
+ oci8_set_integer().
3016
+ * ext/oci8/stmt.c: fix to bind object type.
3017
+ * lib/oci8.rb.in: add requiring 'oci8/object.rb'.
3018
+ * lib/oci8/metadata.rb: add OCI8::Metadata::TypeMethod#has_result?
3019
+ fix comments.
3020
+ * lib/oci8/oci8.rb: fix to bind object type.
3021
+
3022
+ 2007-05-12 KUBO Takehiro <kubo@jiubao.org>
3023
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h,
3024
+ ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c, ext/oci8/oradate.c,
3025
+ ext/oci8/rowid.c, ext/oci8/stmt.c, ext/oci8/tdo.c:
3026
+ change a callback function's argument type used internally
3027
+ in OCI8::BindType::Base#set().
3028
+ * ext/oci8/metadata.c, lib/oci8/metadata.rb: change the internal
3029
+ structure of OCI8::Metadata::Base.
3030
+
3031
+ 2007-05-10 KUBO Takehiro <kubo@jiubao.org>
3032
+ * lib/oci8/oci8.rb: 1. move the location of setting
3033
+ OCI8::BindType::Mapping to the end of the file.
3034
+ 2. set :xmltype to OCI8::BindType::Mapping's key when
3035
+ the fetched column is XMLTYPE.
3036
+
3037
+ 2007-05-03 KUBO Takehiro <kubo@jiubao.org>
3038
+ * ext/oci8/extconf.rb: add '--with-oracle-version' option to
3039
+ make a binary for the specified oracle version.
3040
+ get the oracle client version from available OCI functions.
3041
+ * ext/oci8/lob.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
3042
+ ext/oci8/rowid.c, ext/oci8/tdo.c, ext/oci8/xmldb.c: use
3043
+ BUILD_FOR_ORACLE_major_minor macros instead of HAVE_xxx
3044
+ macros.
3045
+ * ext/oci8/oci8.c: delete unsed code.
3046
+ * dist-files: add ext/oci8/xmldb.c and test/test_connstr.rb.
3047
+
3048
+ 2007-05-01 KUBO Takehiro <kubo@jiubao.org>
3049
+ * ext/oci8/bind.c: fix to return nil for LONG null column.
3050
+ * ext/oci8/env.c: use OCIInitialize() and OCIEnvInit() instead
3051
+ of OCIEnvCreate() on every Oracle version.
3052
+ * ext/oci8/env.c, ext/oci8/error.c, ext/oci8/oci8.h: raise
3053
+ "OCI Library Initialization Error" when Oracle can't supply
3054
+ the error message.
3055
+ * ext/oci8/oci8.c: raise OCIException instead of TypeError.
3056
+ * lib/oci8/metadata.rb: fix typo in comment.
3057
+ * VERSION: change to 2.0-svn.
3058
+
3059
+ 2007-04-30 KUBO Takehiro <kubo@jiubao.org>
3060
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
3061
+ ext/oci8/tdo.c: enable XML support when Oracle 10g.
3062
+ * ext/oci8/xmldb.c: add oci8_make_rexml() to support XML for reading.
3063
+ * ext/oci8/lob.c: fix compiler warnings.
3064
+ * ext/oci8/error.c: fix a bit.
3065
+
3066
+ 2007-04-28 KUBO Takehiro <kubo@jiubao.org>
3067
+ * lib/oci8/oci8.rb: fetch NCLOB column value as an OCI8::NCLOB. fetch
3068
+ BINARY_DOUBLE and BINARY_FLOAT column as a Float.
3069
+ * lib/oci8/metadata.rb: OCI8::Metadata::Column#data_type can return
3070
+ :nclob, :bfloat and :bdouble now.
3071
+ * ext/oci8/extconf.rb: check whether OCILobCreateTemporary exists.
3072
+ * ext/oci8/lob.c: add OCI8::NCLOB.
3073
+ * ext/oci8/oci8.h: add oci8_make_nclob().
3074
+ * ext/oci8/tdo.c: use oci8_make_nclob().
3075
+
3076
+ 2007-04-26 KUBO Takehiro <kubo@jiubao.org>
3077
+ * lib/oci8/oci8.rb: fetch BFILE as OCI8::BFILE.
3078
+ * ext/oci8/lob.c: add OCI8::BFILE.
3079
+ * ext/oci8/oci8.h: add oci8_make_bfile().
3080
+ * ext/oci8/tdo.c: use oci8_make_bfile().
3081
+ * ext/oci8/stmt.c: use oci8_get_error_code().
3082
+
3083
+ 2007-04-21 KUBO Takehiro <kubo@jiubao.org>
3084
+ * ext/oci8/error.c: change a way to set the error line number to the
3085
+ OCIException's backtrace.
3086
+
3087
+ 2007-02-15 KUBO Takehiro <kubo@jiubao.org>
3088
+ no new features. fix to suppress warnings and to compile with ruby 1.9.
3089
+ * ext/oci8/attr.c, ext/oci8/lob.c, ext/oci8/metadata.c, ext/oci8/oci8.c,
3090
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/rowid.c, ext/oci8/stmt.c,
3091
+ ext/oci8/tdo.c: use union to suppress warnings: dereferencing type-punned
3092
+ pointer will break strict-aliasing rules.
3093
+ * ext/oci8/bind.c: change a format string tu suppress a warning.
3094
+ * ext/oci8/error.c: use rb_errinfo() instead of ruby_errinfo to compile with ruby 1.9.
3095
+ * ext/oci8/oci8.h: define rb_errinfo() as ruby_errinfo when compling with ruby 1.8.
3096
+ * ext/oci8/oci8lib.c: delete unused macros OCI_DEFAULT and OCI_COMMIT_ON_SUCCESS.
3097
+ * ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c: fix bugs.
3098
+ * ext/oci8/oraconf.rb: use File.exist? instead of File.exists?. The latter become obsolete on ruby 1.9.
3099
+ * lib/oci8/compat.rb: fix for ruby 1.9. Class.constants returns an array of Symbols in 1.9.
3100
+
3101
+ 2007-02-14 Oracle Corporation (modified for 2.0 by KUBO Takehiro <kubo@jiubao.org>)
3102
+ * ext/oci8/oci8.c: add a private method parse_connect_string to support
3103
+ "username/password[@(tns_name|//host[:port]/service_name)][ as (sysdba|sysoper)]".
3104
+ (The original code, contributed by Oracle, is written
3105
+ for ruby-oci8 1.0. Kubo rewrite it for 2.0.)
3106
+ * test/test_connstr.rb: add test cases for parse_connect_string.
3107
+ * test/test_all.rb: call test cases for parse_connect_string.
3108
+
3109
+ 2007-02-14 KUBO Takehiro <kubo@jiubao.org>
3110
+ * ext/oci8/ocinumber.c: fix a bug created by the previous commit.
3111
+
3112
+ 2007-01-28 KUBO Takehiro <kubo@jiubao.org>
3113
+ * ext/oci8/oci8.h: add TO_ORATEXT, TO_CHARPTR and RSTRING_ORATEXT
3114
+ macros to suppress 'differ in signedness' warinings.
3115
+ * ext/oci8/attr.c, ext/oci8/error.c, ext/oci8/metadata.c,
3116
+ ext/oci8/oci8.c, ext/oci8/ocinumber.c, ext/oci8/rowid.c,
3117
+ ext/oci8/stmt.c, ext/oci8/tdo.c: use TO_ORATEXT, TO_CHARPTR and
3118
+ RSTRING_ORATEXT macros to suppress 'differ in signedness'
3119
+ warinings.
3120
+
3121
+ 2007-01-08 KUBO Takehiro <kubo@jiubao.org>
3122
+ * ext/oci8/oraconf.rb, ext/oci8/extconf.rb: refactor oraconf.rb.
3123
+ check whether Full Client or Instant Client by checking load
3124
+ library path.
3125
+
3126
+ 2006-12-27 KUBO Takehiro <kubo@jiubao.org>
3127
+ * ext/oci8/oci8.c: ignore an exception during GC.
3128
+
3129
+ 2006-12-22 KUBO Takehiro <kubo@jiubao.org>
3130
+ * ext/oci8/oci8.h, ext/oci8/oci8lib.c: add new structure
3131
+ members to oci8_base_t to handle parent-children tree.
3132
+ add new functions oci8_link_to_parent() and
3133
+ oci8_unlink_from_parent().
3134
+ In prior to free the object's content. free all its children.
3135
+ * ext/oci8/bind.c, ext/oci8/stmt.c:
3136
+ use oci8_base_t's structure members instead of oci8_bind_t
3137
+ and oci8_stmt_t's members.
3138
+ * ext/oci8/lob.c, ext/oci8/metadata.c, ext/oci8/tdo.c:
3139
+ link to the connection which creates the LOB, Metadata, TDO objects.
3140
+ These objects are freed when the connection is disconnected.
3141
+ * ext/oci8/oci8.c: call logoff explicitly when the connection object
3142
+ is freed.
3143
+
3144
+ 2006-12-19 KUBO Takehiro <kubo@jiubao.org>
3145
+ * ext/oci8/tdo.c: fix a GC problem.
3146
+ * ext/oci8/stmt.c: add OCI8::Cursor#prefetch_rows=
3147
+ * ext/oci8/oci8.c: add OCI8#prefetch_rows=. add comments for rdoc.
3148
+ * doc/oci8-ja.rb: add comments for rdoc.
3149
+
3150
+ 2006-12-14 KUBO Takehiro <kubo@jiubao.org>
3151
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h,
3152
+ ext/oci8/ocidatetime.c ext/oci8/ocinumber.c, ext/oci8/oradate.c,
3153
+ ext/oci8/rowid.c, ext/oci8/stmt.c, ext/oci8/tdo.c: add PL/SQL
3154
+ table support. unify the variable names of oci8_bind_t.
3155
+ * lib/oci8/oci8.rb: add PL/SQL table support.
3156
+
3157
+ 2006-12-13 KUBO Takehiro <kubo@jiubao.org>
3158
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h, ext/oci8/stmt.c:
3159
+ delete oci8_bind_handle_t and use oci8_hp_obj_t.
3160
+ (prepare to bind an array)
3161
+ * ext/oci8/bind.c: fix for alignment.
3162
+ (prepare to bind an array)
3163
+
3164
+ 2006-12-12 KUBO Takehiro <kubo@jiubao.org>
3165
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h,
3166
+ ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c, ext/oci8/oradate.c,
3167
+ ext/oci8/rowid.c, ext/oci8/stmt.c, ext/oci8/tdo.c, lib/oci8/oci8.rb:
3168
+ change arguments of internal bind-init functions.
3169
+ (refactoring)
3170
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h,
3171
+ ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c, ext/oci8/oradate.c,
3172
+ ext/oci8/rowid.c, ext/oci8/stmt.c, ext/oci8/tdo.c:
3173
+ split bind-init callback to init and init_elem.
3174
+ (prepare to bind an array)
3175
+ * ext/oci8/bind.c, ext/oci8/oci8.h, ext/oci8/stmt.c:
3176
+ change arguments of piece-width-fetch callbacks.
3177
+ (prepare to bind an array)
3178
+
3179
+ 2006-12-07 KUBO Takehiro <kubo@jiubao.org>
3180
+ * ext/oci8/bind.c, ext/oci8/oci8.h, ext/oci8/stmt.c, ext/oci8/tdo.c:
3181
+ delete rlen and use_rlen from oci8_bind_t.
3182
+ * ext/oci8/rowid.c: change the bind type for ROWID not to use rlen.
3183
+
3184
+ 2006-12-05 KUBO Takehiro <kubo@jiubao.org>
3185
+ * ext/oci8/attr.c, ext/oci8/bind.c, ext/oci8/error.c, ext/oci8/lob.c,
3186
+ ext/oci8/metadata.c, ext/oci8/oci8.c, ext/oci8/oci8.h,
3187
+ ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c, ext/oci8/oradate.c,
3188
+ ext/oci8/rowid.c, ext/oci8/stmt.c, ext/oci8/tdo.c:
3189
+ use RSTRING_LEN, RSTRING_PTR, RARRAY_LEN and RARRAY_PTR macros.
3190
+
3191
+ 2006-11-25 KUBO Takehiro <kubo@jiubao.org>
3192
+ * doc/oci8-ja.rb: add a new file for Japanese rdoc document.
3193
+ * ext/oci8/ocidatetime.c: add comments for rdoc.
3194
+ * test/test_datetime.rb: add testcases for OCI8::BindType::DateTime.
3195
+
3196
+ 2006-11-23 KUBO Takehiro <kubo@jiubao.org>
3197
+ * dist-files, ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
3198
+ ext/oci8/oranumber.c: delete OraNumber implemented by C.
3199
+ * ext/oci8/metadata.c: use oci8_make_integer() instead of ora_number_to_str()
3200
+ which was implemented in oranumber.c.
3201
+ * ext/oci8/ocinumber.c: add OCINumber#initialize_copy for OCINumber#copy.
3202
+ * lib/oci8.rb.in: delete "require 'oci8/interval.rb'".
3203
+ * lib/oci8/oci8.rb: remove OraNumber-related code.
3204
+ * lib/oci8/compat.rb: add emulation code of OraNumber by using OCINumber.
3205
+ * test_oranumber.rb: use assert_in_delta when comparing Float value.
3206
+
3207
+ 2006-11-22 KUBO Takehiro <kubo@jiubao.org>
3208
+ * ext/oci8/ocidatetime.c: bind types for interval_ym and interval_ds
3209
+ are now Rational instread of OCI8::IntervalYM and OCI8::IntervalDS.
3210
+ * lib/oci8/interval.rb: delete OCI8::IntervalYM and OCI8::IntervalDS.
3211
+ * lib/oci8/oci8.rb: delete OCI8::IntervalYM and OCI8::IntervalDS.
3212
+ * test/test_all.rb: call testcases for timestamps and intervals.
3213
+ * test/test_datetime.rb: add testcases for timestamps and intervals.
3214
+
3215
+ 2006-11-19 KUBO Takehiro <kubo@jiubao.org>
3216
+ * ext/oci8/oci8.c: fix the default value of OCI8#long_read_len.
3217
+ * ext/oci8/stmt.c: fix bug when execute RENAME statement.
3218
+ * test/test_oci8.rb: add testcases for above two problems.
3219
+ The testcases are contributed by Pete Schwamb.
3220
+
3221
+ 2006-11-18 KUBO Takehiro <kubo@jiubao.org>
3222
+ * ext/oci8/tdo.c: add a new class OCI8::TDO to fetch Oracle's
3223
+ object types.
3224
+ * ext/oci8/bind.c, ext/oci8/extconf.rb, ext/oci8/lob.c,
3225
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/stmt.c,
3226
+ lib/oci8/oci8.rb: use OCI8::TDO to fetch Oracle's object
3227
+ types.
3228
+ * ext/oci8/lob.c: add oci8_make_clob() and oci8_make_blob()
3229
+ for OCI8::TDO.
3230
+ * ext/oci8/metadata.c: export cOCI8MetadataBase for OCI8::TDO.
3231
+ * ext/oci8/error.c: prepend error line in C to the exception's
3232
+ backtrace for debug.
3233
+
3234
+ 2006-11-18 KUBO Takehiro <kubo@jiubao.org>
3235
+ * ext/oci8/oraconf.rb: add check code whether oci.h exists.
3236
+
3237
+ 2006-11-09 KUBO Takehiro <kubo@jiubao.org>
3238
+ * ext/oci8/oci8.h, ext/oci8/ocinumber.c: rename make_oci_number()
3239
+ and make_integer to oci8_make_ocinumber() and oci8_make_integer().
3240
+ add oci8_make_float().
3241
+ * ext/oci8/oci8.h, ext/oci8/ocidatetime.c, lib/oci8/oci8.rb: add
3242
+ oci8_make_datetime_from_ocidate(), oci8_make_datetime_from_ocidatetime(),
3243
+ oci8_make_interval_ym() and oci8_make_interval_ds().
3244
+ OCI8::BindType::IntervalYM#get return an OCI8::IntervalYM instead of an array.
3245
+ OCI8::BindType::IntervalDS#get return an OCI8::IntervalDS instead of an array.
3246
+ OCI8::BindType::DateTime#get return a DateTime instead of an array.
3247
+
3248
+ 2006-11-04 KUBO Takehiro <kubo@jiubao.org>
3249
+ * ext/oci8/oci8.h: add callbacks for piecewise operations.
3250
+ * ext/oci8/oraconf.rb: add an error message for intel mac.
3251
+ * ext/oci8/bind.c: add OCI8::BindType::Long and
3252
+ OCI8::BindType::LongRaw.
3253
+ * ext/oci8/stmt.c: fix OCI8::Cursor#define, OCI8::Cursor#bind_param,
3254
+ OCI8::Cursor#exec and OCI8::Cursor#fetch for piecewise operations.
3255
+ * ext/oci8/lob.c, ext/oci8/oradate.c, ext/oci8/ocinumber.c,
3256
+ ext/oci8/rowid.c, ext/oci8/ocidatetime.c, ext/oci8/oranumber.c:
3257
+ follow up the change of piecewise operations.
3258
+ * lib/oci8/oci8.rb: use OCI8::BindType::Long and
3259
+ OCI8::BindType::LongRaw for LONG and LONG RAW respectively.
3260
+
3261
+ 2006-08-18 KUBO Takehiro <kubo@jiubao.org>
3262
+ * ext/oci8/oradate.c: add OraDate.hash().
3263
+ * ext/oci8/oranumber.c: OraNumber.new() now accepts a String.
3264
+ * lib/oci8/oci8.rb: add YAML support for OraDate and OraNumber.
3265
+ * test/test_oranumber.rb: add testcases for OraNumber.new(aString).
3266
+
3267
+ 2006-08-17 KUBO Takehiro <kubo@jiubao.org>
3268
+ * ext/oci8/bind.c:
3269
+ Use long instead of int to bind Fixnum.
3270
+ * lib/oci8.rb.in: add a workaround code on cygwin version.
3271
+ Cygwin manages environment variables by itself. They don't
3272
+ synchroize with Win32's ones. set some Oracle's environment
3273
+ variables to win32.
3274
+
3275
+ 2006-08-03 KUBO Takehiro <kubo@jiubao.org>
3276
+ * lib/oci8.rb.in: add a workaround code on cygwin version.
3277
+ Cygwin manages environment variables by itself. They don't
3278
+ synchroize with Win32's ones. set some Oracle's environment
3279
+ variables to win32.
3280
+
3281
+ 2006-07-29 KUBO Takehiro <kubo@jiubao.org>
3282
+ * ext/oci8/oradate.c: add OraDate#dup, OraDate#clone, OraDate#_dump
3283
+ and OraDate._load.
3284
+ * ext/oci8/oranumber.c: add OraNumber#dup, OraNumber#clone,
3285
+ OraNumber#_dump and OraNumber._load.
3286
+ * ext/oci8/rowid.c: add OCIRowid#dup, OCIRowid#clone.
3287
+ These methods raise an error when using Oracle 8.x.
3288
+ * test/test_oradate.rb: add tests for OraDate#dup, OraDate#clone,
3289
+ OraDate#_dump and OraDate._load.
3290
+ * test/test_oranumber.rb: add tests for OraNumber#dup,
3291
+ OraNumber#clone, OraNumber#_dump and OraNumber._load.
3292
+
3293
+ 2006-07-22 KUBO Takehiro <kubo@jiubao.org>
3294
+ * ext/oci8/metadata.c, lib/oci8/metadata.rb: add a type_metadata method
3295
+ to OCI8::Metadata::Table, OCI8::Metadata::View, OCI8::Metadata::TypeAttr,
3296
+ OCI8::Metadata::Collection, OCI8::Metadata::Column, OCI8::Metadata::Argument
3297
+ OCI8::Metadata::TypeArgument and OCI8::Metadata::TypeResult.
3298
+
3299
+ 2006-07-21 KUBO Takehiro <kubo@jiubao.org>
3300
+ * ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/bind.c, ext/oci8/stmt.c,
3301
+ lib/oci8/oci8.rb: Support LONG and LONG RAW longer than 65535 bytes.
3302
+ Add OCI8#long_read_len and OCI8#long_read_len= to set max long
3303
+ length.
3304
+ * ext/oci8/oraconf.rb: fix typo.
3305
+
3306
+ 2006-07-20 KUBO Takehiro <kubo@jiubao.org>
3307
+ * ext/oci8/oci8.h, ext/oci8/rowid.c, ext/oci8/oci8lib.c: change
3308
+ Rowid's internal structure when OCIRowidToChar is available.
3309
+ The new structure can be passed to Marshal.
3310
+ * VERSION, Makefile, ext/oci8/extconf.rb:
3311
+ read version string from the VERSION file.
3312
+
3313
+ 2006-06-27 KUBO Takehiro <kubo@jiubao.org>
3314
+ Many method move to C layer. Add support of Timestamp, Interval
3315
+ year to month and Interval day to second. Oracle's Date become
3316
+ DateTime instead of OraDate.
3317
+ * ext/oci8/env.c: 1. delete code registering ruby_xmalloc(),
3318
+ ruby_xrealloc() and ruby_xfree() to OCI library. These
3319
+ API cannot be called only in ruby VM's native thread.
3320
+ 2. add workaround code to avoid breaking ENV.
3321
+ * ext/oci8/oci8.c: move OCI8#parse from ruby to C layer.
3322
+ * ext/oci8/oci8.h, ext/oci8/oci8lib.c: add oci8_id_* variables.
3323
+ * ext/oci8/ocidatetime.c: delete OCIDateTime and OCIInterval.
3324
+ add OCI8::BindType::DateTime, OCI8::BindType::IntervalYM and
3325
+ OCI8::BindType::IntervalDS.
3326
+ * ext/oci8/ocinumber.c: delete OCI8::Math::E, OCINumber#trunc
3327
+ and OCINumber#sign. add OCINumber#truncate and
3328
+ OCI8::BindType::Integer.
3329
+ * ext/oci8/oraconf.rb:fix for OracleXE windows version. OracleXE's
3330
+ registry path is \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE.
3331
+ * ext/oci8/oranumber.c: move OCI8::BindType::Integer to ocinumber.c
3332
+ * ext/oci8/stmt.c: OCI8::Cursor#initialize become private.
3333
+ move OCI8::Cursor#fetch, OCI8::Cursor#[], OCI8::Cursor#[]=,
3334
+ OCI8::Cursor#keys from ruby to C layer. add a private method
3335
+ OCI8::Cursor#__defined?
3336
+ * lib/oci8/oci8.rb: many methods move to C layer.
3337
+ * lib/oci8/interval.rb: add OCI8::IntervalYM an OCI8::IntervalDS.
3338
+ * lib/ocidatetime.rb: deleted.
3339
+ * test/test_dbi.rb: fix test script which retrieving Date.
3340
+ * test/test_oci8.rb: fix test script which retrieving Date.
3341
+
3342
+ 2006-03-05 KUBO Takehiro <kubo@jiubao.org>
3343
+ * ext/oci8/oraconf.rb: add check_ruby_header to warn when
3344
+ broken darwin ruby.
3345
+ add export #{ld_path} in check_instant_client().
3346
+
3347
+ 2006-02-25 KUBO Takehiro <kubo@jiubao.org>
3348
+ * ext/oci8/metadata.c: set default value zero in C of private method
3349
+ OCI::Metadata::Base#__get_*. add a private method
3350
+ OCI::Metadata::Base#__charset_name.
3351
+ * lib/DBD/OCI8/OCI8.rb: fix to work with ruby-oci8 0.1 also.
3352
+ * lib/oci8/metadata.rb: refactor and add comments for rdoc.
3353
+
3354
+ 2006-02-11 KUBO Takehiro <kubo@jiubao.org>
3355
+ * lib/oci8.rb.in: require oci8/compat.rb also.
3356
+ * lib/oci8/compat.rb: add a new file. Old version's features
3357
+ are moved from lib/oci8/oci8.rb.
3358
+ * lib/oci8/metadata.rb: data_type's return value become symbol
3359
+ instead of number.
3360
+ * lib/oci8/oci8.rb: Old version's features are moved to
3361
+ lib/oci8/compat.rb.
3362
+
3363
+ 2006-02-09 KUBO Takehiro <kubo@jiubao.org>
3364
+ add OCI8::Metadata module.
3365
+ * ext/oci8/error.c: add oci8_get_error_code().
3366
+ * ext/oci8/extconf.rb: delete param.o and add metadata.o.
3367
+ * ext/oci8/metadata.c: add a new file.
3368
+ * ext/oci8/oci8.h: add oci8_get_error_code(), Init_oci8_metadata(),
3369
+ oci8_metadata_create() and ora_number_to_str().
3370
+ delete and oci8_param_create().
3371
+ * ext/oci8/oci8lib.c: call Init_oci8_metadata() instead of
3372
+ Init_oci8_param().
3373
+ * ext/oci8/oranumber.c: export ora_number_to_str().
3374
+ * ext/oci8/param.c: deleted.
3375
+ * ext/oci8/stmt.c: call oci8_metadata_create instead of
3376
+ oci8_param_create().
3377
+ * lib/oci8.rb.in: require 'oci8/metadata.rb'
3378
+ * lib/oci8/metadata.rb: add a new file.
3379
+
3380
+ 2006-02-08 KUBO Takehiro <kubo@jiubao.org>
3381
+ * lib/oci8.rb: move almost code to lib/oci8/oci8.rb.
3382
+ * lib/oci8/oci8.rb: moved from lib/oci8.rb.
3383
+
3384
+ 2006-02-04 KUBO Takehiro <kubo@jiubao.org>
3385
+ merge OCIStmt to OCi8::Curosr.
3386
+ * ext/oci8/oci8.c: implement OCI8::autocommit? and OCI8::autocommit=
3387
+ in C layer.
3388
+ * ext/oci8/oci8.h: fix oci8_svcctx_t structure to support
3389
+ OCI8::autocommit in C layer. fix Init_oci8_stmt() prototype.
3390
+ * ext/oci8/oci8lib.c: fix Init_oci8_stmt().
3391
+ * ext/oci8/stmt.c: OCIStmt become OCI8::Cursor. Almost OCIStmt's
3392
+ methods become private methods, which are called by ruby layer.
3393
+ * lib/oci8.rb.in: delete OCI8::autocommit?, OCI8::autocommit=,
3394
+
3395
+ 2006-02-02 KUBO Takehiro <kubo@jiubao.org>
3396
+ move non-blocking handling code from oci8.rb to oci8lib.so.
3397
+ * ext/oci8/error.c: add OCIBreak class.
3398
+ * ext/oci8/oci8.c: move oci8_svcctx_t to oci8.h.
3399
+ change oci8_commit(), oci8_rollback(), oci8_non_blocking_p()
3400
+ and oci8_set_non_blocking() to use oci_rc macro.
3401
+ change oci8_break() for oci_rc macro.
3402
+ delete oci8_reset(). OCIReset is called in oci_rc macro now.
3403
+ change oci8_get_svcctx() scope to global.
3404
+ implement OCI8#commit, OCI8#rollback, OCI8#non_blocking?,
3405
+ OCI8#non_blocking=, OCI8#break in C layer.
3406
+ * ext/oci8/oci8.h: move oci8_svcctx_t from oci8.c.
3407
+ implement oci_rc2 and oci_rc macro.
3408
+ * ext/oci8/stmt.c: change oci8_stmt_execute() and oci8_stmt_fetch()
3409
+ to use oci_rc macro.
3410
+ * lib/oci8.rb.in: delete non-blocking handling code.
3411
+ delete OCI8#commit, OCI8#rollback, OCI8#non_blocking?,
3412
+ OCI8#non_blocking=, OCI8#break from ruby layer.
3413
+
3414
+ 2006-01-29 KUBO Takehiro <kubo@jiubao.org>
3415
+ * ext/oci8/oci8lib.c: rename OCI8Base to OCIHandle.
3416
+
3417
+ 2006-01-28 KUBO Takehiro <kubo@jiubao.org>
3418
+ * ext/oci8/const.c: delete this file.
3419
+ delete global constants OCI_TYPECODE_*.
3420
+ * ext/oci8/extconf.rb: delete const.o from compilation objects.
3421
+ * ext/oci8/oci8lib.c: move oci8_id_new, OCI_DEFAULT and
3422
+ OCI_COMMIT_ON_SUCCESS from const.c.
3423
+ rename Init_oci8_svcctx() to Init_oci8().
3424
+ * ext/oci8/oci8.c: rename Init_oci8_svcctx() to Init_oci8().
3425
+ * ext/oci8/oci8.h: rename Init_oci8_svcctx() to Init_oci8() and so on...
3426
+
3427
+ 2006-01-28 KUBO Takehiro <kubo@jiubao.org>
3428
+ * ext/oci8/bind.c, ext/oci8/error.c, ext/oci8/oci8.c,
3429
+ ext/oci8/ocidatetime.c, ext/oci8/oradate.c,
3430
+ ext/oci8/oranumber.c, ext/oci8/param.c, ext/oci8/rowid.c,
3431
+ ext/oci8/stmt.c: fix indentation.
3432
+ * .cvsignore, ext/oci8/.cvsignore: added.
3433
+
3434
+ 2005-10-22 KUBO Takehiro <kubo@jiubao.org>
3435
+ * ext/oci8/oci8lib.c, ext/oci8/oci8.c, ext/oci8/svcctx.c, ext/oci8/extconf.rb:
3436
+ oci8.c is renamed to oci8lib.c.
3437
+ svcctx.c is renamed to oci8.c.
3438
+
3439
+ 2005-10-22 KUBO Takehiro <kubo@jiubao.org>
3440
+ * ext/oci8/ocidatetime.c: fix to bind OCIDateTime.
3441
+ * ext/oci8/oraconf.rb: add -R to linker on Solaris and Linux.
3442
+ http://rubyforge.org/tracker/index.php?func=detail&aid=2148&group_id=256&atid=1051
3443
+ * ext/oci8/svcctx.c: change a setter name. __non_blocking= doesn't work. use
3444
+ __set_non_blocking instead.
3445
+ * lib/oci8.rb.in: add ruby's Datetime support.
3446
+ * lib/ocidatetime.rb: add a ruby's Datetime support file.
3447
+ * test/test_all.rb: fix
3448
+ * test/test_break.rb: add two assesion to check a non_blocking status.
3449
+ * test/test_dbi.rb, test/test_oci8.rb: testcases for DateTime.
3450
+ * test/test_oradate.rb: delete an unsuccessfull testcase, which depends on libc implementation.
3451
+
3452
+ 2005-07-17 KUBO Takehiro <kubo@jiubao.org>
3453
+ * ext/oci8/lob.c, ext/oci8/oci8.c, ext/oci8/oci8.h, lib/oci8.rb.in:
3454
+ delete OCILobLocator. implement OCI8::LOB by C instead of ruby.
3455
+ * ext/oci8/svcctx.c: add more check in oci8_get_svcctx().
3456
+
3457
+ 2005-07-17 KUBO Takehiro <kubo@jiubao.org>
3458
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h, ext/oci8/ocidatetime.c,
3459
+ ext/oci8/ocinumber.c, ext/oci8/oradate.c, ext/oci8/oranumber.c,
3460
+ ext/oci8/rowid.c, ext/oci8/stmt.c, ext/oci8/svcctx.c:
3461
+ change arguments of (oci8_bind_class_t *)->init(). change the return
3462
+ value of oci8_get_svcctx(). add oci8_get_oci_session().
3463
+ * lib/oci8.rb.in: change arguments of OCI8::BindType:Base.new().
3464
+
3465
+ 2005-07-16 KUBO Takehiro <kubo@jiubao.org>
3466
+ * metaconfig: move "require 'base64'" and "require 'zlib'" to the
3467
+ next line of "def get_zcontent(file)" for a ruby which doesn't
3468
+ have 'zlib'.
3469
+
3470
+ 2005-07-10 KUBO Takehiro <kubo@jiubao.org>
3471
+ * ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/svcctx.c, lib/oci8.rb.in:
3472
+ OCISvcCtx class is merged to OCI8 class. OCISvcCtx's public instance
3473
+ methods become OCI8's private instance methods.
3474
+ * ext/oci8/depend: deleted.
3475
+
3476
+ 2005-07-10 KUBO Takehiro <kubo@jiubao.org>
3477
+ * Makefile, ext/oci8/extconf.rb: change version to 0.2.0-alpha.
3478
+ * ext/oci8/extconf.rb: add "ocidatetime.o" to $objs. add '--with-instant-client'
3479
+ to Makefile when setup.rb is called with '--with-instant-client'.
3480
+ * ext/oci8/oci8.c: add oci8_base_class. fix bug in oci8_handle_initialize().
3481
+ call Init_oci_datetime() in Init_oci8().
3482
+ * ext/oci8/oci8.h: add macros oci_lc, CHECK_STRING, TO_STRING_PTR and TO_STRING_LEN.
3483
+ * ext/oci8/ocinumber.c: add oci8_get_ocinumber().
3484
+ * ext/oci8/ocidatetime.c: add a new file for OCIDateTime.
3485
+
3486
+ 2005-07-09 KUBO Takehiro <kubo@jiubao.org>
3487
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h, ext/oci8/oradate.c,
3488
+ ext/oci8/oranumber.c, ext/oci8/rowid.c, ext/oci8/stmt.c:
3489
+ use doubly linked list to free OCI8::BindType::*.
3490
+ * ext/oci8/extconf.rb, ext/oci8/oci8.c, ext/oci8/ocinumber.c: add OCINumber.
3491
+
3492
+ 2005-07-03 KUBO Takehiro <kubo@jiubao.org>
3493
+ * ext/oci8/*.c, ext/oci8/*.h: remove oci8_handle_t and oci8_base_class_t.
3494
+ use oci8_base_t and oci8_bind_t instead of them. use oci8_base_class_t
3495
+ and oci8_bind_class_t.
3496
+ * ext/oci8/descriptor.c, ext/oci8/handle.c: removed.
3497
+ * ext/oci8/rowid.c: added.
3498
+
3499
+ 2005-07-01 KUBO Takehiro <kubo@jiubao.org>
3500
+ * ext/oci8/oraconf.rb: try default $libs then get from demo_rdbms.mk.
3501
+
3502
+ 2005-06-29 KUBO Takehiro <kubo@jiubao.org>
3503
+ * ext/oci8/oraconf.rb: don't read sysliblist when instant client.
3504
+
3505
+ 2005-06-12 KUBO Takehiro <kubo@jiubao.org>
3506
+ * ext/oci8/const.c: delete unused constants.
3507
+ move some oci_id_* to ext/oci8/error.c.
3508
+ move oci8_sym_*stmt to ext/oci8/stmt.c.
3509
+ * ext/oci8/error.c:
3510
+ move some oci_id_* from ext/oci8/const.c.
3511
+ move subclasses of cOCIException from ext/oci8/oci8.c.
3512
+ * ext/oci8/extconf.rb: add have_func("localtime_r").
3513
+ * ext/oci8/handle.c: delete explicit OCIParam.
3514
+ * ext/oci8/lob.c: delete #ifdef OCI8_USE_CALLBACK_LOB_READ.
3515
+ * ext/oci8/oci8.c:
3516
+ move subclasses of cOCIException to ext/oci8/error.c.
3517
+ move cOraDate to ext/oci8/oradate.c.
3518
+ move cOraNumber to ext/oci8/oranumber.c.
3519
+ * ext/oci8/oci8.h:
3520
+ move ora_date_t to ext/oci8/oradate.c.
3521
+ move ora_number_t and ora_vnumber_t to ext/oci8/oranumber.c.
3522
+ * ext/oci8/oradate.c: fix indentation.
3523
+ move cOraDate from ext/oci8/oci8.c.
3524
+ move ora_date_t from ext/oci8/oci8.h.
3525
+ * ext/oci8/oranumber.c: fix indentation.
3526
+ move cOraNumber from ext/oci8/oci8.c.
3527
+ move ora_number_t and ora_vnumber_t from ext/oci8/oci8.h.
3528
+ * ext/oci8/param.c: delete OCIParam#paramGet().
3529
+ * ext/oci8/stmt.c:
3530
+ move oci8_sym_*stmt from ext/oci8/const.c.
3531
+ fix OCIStmt#prepare() and OCIStmt#execute().
3532
+
3533
+ 2005-06-12 KUBO Takehiro <kubo@jiubao.org>
3534
+ * ext/oci8/bind.c: add oci8_register_bind_type().
3535
+ move bind_rowid* to ext/oci8/descriptor.c.
3536
+ move bind_clob* and bind_blob* to ext/oci8/lob.c.
3537
+ move bind_oradate* to ext/oci8/oradate.c.
3538
+ move bind_oranumber* and bind_integer* to ext/oci8/oranumber.c.
3539
+ move bind_stmt* to ext/oci8/stmt.c.
3540
+ * ext/oci8/const.c: add oci8_sym_*_stmt. delete ruby constants OCI_STMT_*.
3541
+ * ext/oci8/descriptor.c: move bind_rowid* from ext/oci8/bind.c.
3542
+ * ext/oci8/lob.c: move bind_clob* and bind_blob* from ext/oci8/bind.c.
3543
+ * ext/oci8/oci8.c: change initialization order for oci8_register_bind_type().
3544
+ * ext/oci8/oci8.h: add oci8_register_bind_type(). add oci8_sym_*_stmt.
3545
+ * ext/oci8/oradate.c: move bind_oradate* from ext/oci8/bind.c.
3546
+ oci8_set_ora_date() become a static function.
3547
+ delete oci8_get_ora_date().
3548
+ * ext/oci8/oranumber.c: move bind_oranumber* and bind_integer* from ext/oci8/bind.c.
3549
+ * ext/oci8/stmt.c: move bind_stmt* from ext/oci8/bind.c.
3550
+ OCIStmt#stmt_type returns a Symbol instead of a Fixnum.
3551
+ * lib/oci8.rb.in: OCI8::Cursor#type returns a Symbol instead of a Fixnum.
3552
+
3553
+ 2005-06-12 KUBO Takehiro <kubo@jiubao.org>
3554
+ * ext/oci8/extconf.rb: add have_func("OCILobLocatorAssign").
3555
+ * ext/oci8/lob.c: delete OCILobLocator#getChunkSize().
3556
+ use OCILobAssign instead of OCILobLocatorAssign on Oracle 8.
3557
+ * ext/oci8/attr.c, ext/oci8/oci8.h: delete OCI*#attrGet(), OCI*#attrSet().
3558
+ * ext/oci8/const.c: delete OCI_ATTR_* constants.
3559
+ * ext/oci8/descriptor.c: delete OCIDescriptor#attrGet(), OCIDescriptor#attrSet().
3560
+ * ext/oci8/handle.c: delete OCIHandle#attrGet(), OCIHandle#attrSet().
3561
+ * ext/oci8/param.c: add OCIParam#name, OCIParam#data_type, OCIParam#data_size,
3562
+ OCIParam#precision and OCIParam#scale.
3563
+ * ext/oci8/stmt.c: add OCIStmt#stmt_type, OCIStmt#row_count, OCIStmt#rowid and
3564
+ OCIStmt#param_count.
3565
+ * lib/oci8.rb.in: use OCIParam#name, OCIParam#data_type, OCIParam#data_size,
3566
+ OCIParam#precision, OCIParam#scale, OCIStmt#stmt_type, OCIStmt#row_count,
3567
+ OCIStmt#rowid and OCIStmt#param_count instead of OCIHandle#attrGet() and
3568
+ OCIDescriptor#attrGet().
3569
+
3570
+ 2005-06-12 KUBO Takehiro <kubo@jiubao.org>
3571
+ * ext/oci8/oraconf.rb: rewrie OraConf#check_lp64().
3572
+ * ext/oci8/bind.c, ext/oci8/descriptor.c, ext/oci8/env.c,
3573
+ ext/oci8/handle.c, ext/oci8/lob.c, ext/oci8/oci8.h,
3574
+ ext/oci8/stmt.c, ext/oci8/svcctx.c, lib/oci8.rb.in:
3575
+ delete an OCIEnv instance from each instance method's argument.
3576
+ get it from the internal global variable in C.
3577
+ * ext/oci8/oci8.c, lib/DBD/OCI8/OCI8.rb: change the OCIBind class name
3578
+ to OCI8::BindType::Base.
3579
+ * lib/oci8.rb.in: fix typo rb_eArgError to ArgumentError.
3580
+
3581
+ 2005-06-08 KUBO Takehiro <kubo@jiubao.org>
3582
+ * ext/oci8/oraconf.rb: test __64BIT__ to check whether lp64. (for AIX 64bit)
3583
+
3584
+ 2005-05-31 KUBO Takehiro <kubo@jiubao.org>
3585
+ * ext/oci8/oraconf.rb: fix for cygwin. fix for oracle instant client.
3586
+ * metaconfig: add distbin task.
3587
+
3588
+ 2005-05-29 KUBO Takehiro <kubo@jiubao.org>
3589
+ * ext/oci8/oraconf.rb: change the detection logic for Multiple
3590
+ Oracle Homes on Windows.
3591
+
3592
+ 2005-05-24 KUBO Takehiro <kubo@jiubao.org>
3593
+ * ext/oci8/oraconf.rb: use "-L#{@oracle_home}/lib(32) -lclntsh" as
3594
+ a last resort.
3595
+
3596
+ 2005-04-14 KUBO Takehiro <kubo@jiubao.org>
3597
+ * ext/oci8/oraconf.rb: fix for Cygwin with Oracle instant client.
3598
+ add Oraconf#lp64, which is true when long and pointer are 64 bits.
3599
+ improve error message.
3600
+
3601
+ 2005-04-10 KUBO Takehiro <kubo@jiubao.org>
3602
+ * README: change the document format for rdoc.
3603
+ * ext/oci8/bind.c, ext/oci8/descriptor.c, ext/oci8/env.c,
3604
+ ext/oci8/error.c, ext/oci8/const.c, ext/oci8/handle.c
3605
+ ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/stmt.c:
3606
+ change bind_type_t structure. bind_* variables in binc.c
3607
+ become OCI8::BindType::* which are subclasses of OCIBind.
3608
+ add envh member to oci8_handle_t and oci8_bind_handle_t.
3609
+ add OCIRowid#initialize.
3610
+ delete macros to compile on ruby 1.6.
3611
+ * lib/oci8.rb.in: add comments for rdoc.
3612
+ change OCI8::BindType::*.
3613
+ * lib/DBD/OCI8/OCI8.rb
3614
+ change DBI::DBD::OCI8::BindType::*.
3615
+
3616
+ 2005-04-06 KUBO Takehiro <kubo@jiubao.org>
3617
+ * ext/oci8/oci8.h, ext/oci8/handle.c: delete enum oci8_bind_type.
3618
+ add oci8_bind_type_t.
3619
+ * ext/oci8/bind.c: add oci8_bind_type_t structures bind_string, bind_raw,
3620
+ bind_fixnum, bind_float, bind_oradate, bind_integer, bind_oranumber,
3621
+ bind_rowid, bind_clob, bind_blob, and bind_stmt.
3622
+ add oci8_bind_type_set() and oci8_bind_type_get() to get/set
3623
+ an oci8_bind_type_t structure.
3624
+ delete oci8_get_value() and oci8_set_value(), use
3625
+ (oci8_bind_type_t*)->get()/set() instead.
3626
+ * ext/oci8/stmt.c: change check_bind_type() by using oci8_bind_type_t.
3627
+ change oci8_define_by_pos(), oci8_bind_by_pos() and oci8_bind_by_name().
3628
+ * ext/oci8/MANIFEST, ext/oci8/depend, ext/oci8/extconf.rb, ext/oci8/oci8.c,
3629
+ ext/oci8/define.c: delete define.c and Init_define().
3630
+ * lib/oci8.rb.in: change OCI8::BindType::Float, OCI8::BindType::Fixnum,
3631
+ OCI8::BindType::Integer and OCI8::BindType::OraNumber for in-bind.
3632
+
3633
+ 2005-04-03 KUBO Takehiro <kubo@jiubao.org>
3634
+ * ext/oci8/oraconf.rb: improve Oracle instance client check:
3635
+ 1. add more strict libclntsh.so check.
3636
+ 2. change LD_LIBRARY_PATH message by its platform.
3637
+ 3. add '-Wl,-rpath,#{lib_dir}' to $libs when Linux.
3638
+ * ext/oci8/MANIFEST, ext/oci8/depend, ext/oci8/extconf.rb:
3639
+ delete server.c and session.c.
3640
+ * ext/oci8/attr.c: delete OCISvcCtx#attrGet(OCI_ATTR_NONBLOCKING_MODE),
3641
+ OCISvcCtx#attrSet(OCI_ATTR_NONBLOCKING_MODE, nil),
3642
+ OCISvcCtx#attrSet(OCI_ATTR_SERVER, aOCIServer),
3643
+ OCISvcCtx#attrSet(OCI_ATTR_SESSION, aOCISession).
3644
+ * ext/oci8/const.c: delete constants unused by high-level API.
3645
+ delete oci8_id_server, oci8_id_session.
3646
+ * ext/oci8/handle.c, ext/oci8/descriptor.c: use ruby1.8 allocation
3647
+ framework.
3648
+ * ext/oci8/env.c: add OCIEnv.new. delete OCIEnv.initialise(),
3649
+ OCIEnv.init(), OCIEnv.create(), OCIEnv.terminate(),
3650
+ OCIEnv#alloc(), OCIEnv#logon().
3651
+ * ext/oci8/oci8.c, ext/oci8/oci8.h: use ruby1.8 allocation
3652
+ framework. delete OCIServer and OCISession.
3653
+ * ext/oci8/lob.c: add OCILobLocator.new
3654
+ * ext/oci8/stmt.c: add OCIStmt.new
3655
+ * ext/oci8/svcctx.c: add OCISvcCtx.new, OCISvcCtx#non_blocking?,
3656
+ OCISvcCtx#non_blocking=
3657
+ * ext/oci8/server.c, ext/oci8/session.c: deleted.
3658
+ * lib/oci8.rb.in: use OCIEnv.new and OCISvcCtx.new instead of
3659
+ OCIEnv.create, OCIEnv#alloc, OCISession#begin, OCIServer#attach.
3660
+ use OCISvcCtx.logoff instead of OCISession#end, OCIServer#detach,
3661
+ OCISvcCtx.free. use OCISvcCtx#non_blocking? instead of
3662
+ OCISvcCtx#attrGet(OCI_ATTR_NONBLOCKING_MODE).
3663
+ use OCISvcCtx#non_blocking= instead of
3664
+ OCISvcCtx#attrSet(OCI_ATTR_NONBLOCKING_MODE, nil).
3665
+ use <OCICLASS>.new(anOCIEnv) instead of
3666
+ OCIEnv#alloc(<OCIClass>)
3667
+ * lib/DBD/OCI8/OCI8.rb: use OCIStmt.new(env) instead of
3668
+ env.alloc(OCIStmt).
3669
+
3670
+ 2005-03-27 KUBO Takehiro <kubo@jiubao.org>
3671
+ * ext/oci8/server.c: delete OCIServer#version, OCIServer#break, OCIServer#reset.
3672
+ * ext/oci8/stmt.c: OCIStmt#bindByName accepts a symbol as a bind name.
3673
+ * lib/oci8.rb.in: add OCI8::LOB#sync, OCI8::LOB#sync= and OCI8::LOB#flush.
3674
+ * test/test_bind_raw.rb, test/test_bind_time.rb, test/test_clob.rb,
3675
+ test/test_oradate.rb, test/test_oranumber.rb: use OCI8 high-level API
3676
+ instead of low-level API.
3677
+
3678
+ 2005-03-24 KUBO Takehiro <kubo@jiubao.org>
3679
+ * oci8.rb.in: fix bug on binding Time or Date.
3680
+ * support/*: deleted.
3681
+ * test/*.rb: use 'test/unit' instead of runit.
3682
+ ruby 1.6.8 won't be supported by this commit.
3683
+ * ext/oci8/MANIFEST, ext/oci8/depend, ext/oci8/describe.c(deleted),
3684
+ ext/oci8/env.c, ext/oci8/extconf.rb, ext/oci8/handle.c,
3685
+ ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/svcctx.c:
3686
+ delete OCIDescribe and OCISvcCtx#describeAny. OCIDescribe isn't used by
3687
+ oci8 high-level API.
3688
+ * test/test_all.rb, test/test_describe.rb(deleted): delete OCIDescribe
3689
+ test cases.
3690
+
3691
+ 2005-03-23 KUBO Takehiro <kubo@jiubao.org>
3692
+ * oci8.rb.in, OCI8.rb:
3693
+ delete OCI8.register_type_fixer, OCI8::TypeFixer.
3694
+ add OCI8::BindType::* instead.
3695
+
3696
+ 2005-03-21 KUBO Takehiro <kubo@jiubao.org>
3697
+ * oci8.rb.in, OCI8.rb: refactoring OCI8::Cursor#define_a_column
3698
+ * Makefile, ext/oci8/extconf.rb: change version to 0.1.10
3699
+
3700
+ 2005-03-20 KUBO Takehiro <kubo@jiubao.org>
3701
+ * ext/oci8/stmt.c, lib/oci8.rb.in, lib/DBD/OCI8/OCI8.rb, test/test_dbi.rb:
3702
+ enable DATE to be bound as a DBI::Date or a DBI::Timestamp.
3703
+
3704
+ 2005-03-20 KUBO Takehiro <kubo@jiubao.org>
3705
+ * ext/oci8/stmt.c, lib/oci8.rb.in, test/test_oci8.rb:
3706
+ bind a ref cursor as an OCI8::Cursor.
3707
+ apply a patch at <URL:http://rubyforge.org/tracker/index.php?func=detail&aid=1409&group_id=256&atid=1053>.
3708
+
3709
+ 2005-01-16 KUBO Takehiro <kubo@jiubao.org>
3710
+
3711
+ * lib/oci8.rb.in: change default bindtype for NUMBER with
3712
+ unspecified scale.
3713
+ (This problem is reported by William Lawson, Dmitry Maksyoma and Andreas Habel)
3714
+ * lib/oci8.rb.in: add OCI8::Cursor.select_number_as=
3715
+ (for someone who want old bindtype)
3716
+ * lib/oci8.rb.in: add OCI8::Cursor#fetch_hash
3717
+ (contributed by Jason Sweat)
3718
+ * ext/oci8/oci8.h, ext/oci8/stmt.c: don't raise an error when OCI_SUCCESS_WITH_INFO.
3719
+ (suggested by Kenji Nishishiro)
3720
+ * ext/ooi8/oraconf.rb: support Oracle Instant Installer.
3721
+ (suggested by Eustaquio Rangel de Oliveira Jr.)
3722
+ * Makefile, ext/oci8/extconf.rb: change version to 0.1.9
3723
+
3724
+ 2004-10-30 KUBO Takehiro <kubo@jiubao.org>
3725
+
3726
+ * pre-distclean.rb: delete a temporary file made by ext/oci8/oraconf.rb.
3727
+ * ext/oci8/oraconf.rb: 1. change object files to an archive file
3728
+ to work around on Oracle 8.1.7. 2. raise error when OCI.H can't
3729
+ be found on Windows.
3730
+
3731
+ 2004-06-21 KUBO Takehiro <kubo@jiubao.org>
3732
+
3733
+ * Makefile, ext/oci8/extconf.rb: change version to 0.1.8-pre1
3734
+ * lib/DBD/OCI8/OCI8.rb: add DBI::DatabaseHandle#tables. add DBI::StatementHandle#func(:bind_value, ...).
3735
+
3736
+ 2004-03-07 KUBO Takehiro <kubo@jiubao.org>
3737
+
3738
+ * ext/oci8/extconf.rb: fix to use setup.rb.
3739
+ * ext/oci8/oraconf.rb: add support Borland C++ Builder.
3740
+ * lib/oci8.rb.in: support OCI8::CLOB.
3741
+ * test/config.rb: CLOB test file depends on NLS_LANG.
3742
+ * test/test_oci8.rb: fix a test method.
3743
+ * test/test_break.rb: break time depends on OS?...
3744
+ * test/test_dbi_clob.rb: add a new file to test CLOB via DBI.
3745
+
3746
+ 2003-09-20 KUBO Takehiro <kubo@jiubao.org>
3747
+
3748
+ * src/handle.c: fix bug of OCI8::BLOB at running GC.
3749
+ * src/stmt.c: accept Bignum as (({type})) of OCI8::Cursor#define.
3750
+ * src/lib/oci8.rb.in: accept OCI8::BLOB as (({type})) of OCI8::Cursor#define.
3751
+ * src/lib/DBD/OCI8/OCI8.rb: add (({define})) function to DBD::OCI8.
3752
+ * src/oranumber.c, src/oci8.h: use rb_cstr_to_dbl instead of strtod for ruby 1.8.
3753
+ * support/runit/cui/testrunner.rb, support/runit/testcase.rb: fix for ruby 1.8.
3754
+ * test/test_dbi.rb: add a test method.
3755
+ * test/test_oci8.rb: fix a test method.
3756
+
3757
+ 2003-08-03 KUBO Takehiro <kubo@jiubao.org>
3758
+
3759
+ * Makefile: update version to 0.1.5
3760
+ * MANIFEST: add test/test_oci8.rb
3761
+ * src/lib/oci8.rb.in: implement OCI8::Cursor#define, OraDate#to_time and OraDate#to_date.
3762
+ * test/test_oci8.rb: add new tests of OCI8::Cursor#define.
3763
+ * test/test_oradate.rb: add new tests of OraDate#to_time and OraDate#to_date.
3764
+ * test/test_all.rb: call test_oci8.rb.
3765
+
3766
+ 2003-07-20 KUBO Takehiro <kubo@jiubao.org>
3767
+
3768
+ * src/stmt.c: When the error "ORA-01000: maximum open cursors
3769
+ exceeded" happens, run garbage collect to close unused cursors
3770
+ and retry automatically.
3771
+
3772
+ 2003-06-07 KUBO Takehiro <kubo@jiubao.org>
3773
+
3774
+ * Makefile: update version to 0.1.4
3775
+ * src/lob.c: add OCILobLocator#clone()
3776
+ * src/bind.c, src/stmt.c, src/lib/oci8.rb.in: fix BLOB support.
3777
+ * src/lib/DBD/OCI8/OCI8.rb: set the backtrace of an original exception
3778
+ to newly created DBI exception.
3779
+ * src/oraconf.rb: retry get_libs with postfix '32' when compilation
3780
+ failed with Oracle 9i on Solaris.
3781
+ * src/oradate.c: add OraDate#<=> and include 'Comparable'.
3782
+ (contributed by Brian Candler)
3783
+ * test/test_oradate.rb: add test cases of OraDate#<=>.
3784
+
3785
+ 2003-04-27 KUBO Takehiro <kubo@jiubao.org>
3786
+
3787
+ * Makefile: update version to 0.1.3
3788
+ * doc/api.*.rd, doc/api.*.html: update document.
3789
+ * src/lob.c: add new LOB APIs.
3790
+ * src/lib/oci8.rb.in: add BLOB support.
3791
+ * src/lib/DBD/OCI8/OCI8.rb: add 'NonBlocking' support(suggested by Brian Candler).
3792
+ raise subclass of DBI::DatabaseError, which depends on its error code.
3793
+
3794
+ 2003-03-08 KUBO Takehiro <kubo@jiubao.org>
3795
+
3796
+ * Makefile: update version to 0.1.2
3797
+ * src/extconf.rb: use Oraconf#cc_is_gcc.
3798
+ * src/oraconf.rb: support Solaris with gcc.
3799
+ * src/handle.c: suppress warning about uninitialized instance variables.
3800
+ * src/oranumber.c, test/test_oranumber.rb: fix serious bug of
3801
+ conversion routine from Oracle internal number format to string.
3802
+
3803
+ 2003-02-01 KUBO Takehiro <kubo@jiubao.org>
3804
+
3805
+ * Makefile: update version to 0.1.1.
3806
+ * src/oraconf.rb: added. Oracle specific features were moved from
3807
+ src/extconf.rb, src/extunix.rb and src/extwin32.rb
3808
+ * src/extunix.rb, src/extwin32.rb: deleted.
3809
+ * src/extconf.rb: use oraconf.rb.
3810
+ * src/error.c, src/oci8.h: use macro RBOCI_NORETURN not NORETURN.
3811
+ * MANIFEST, Makefile: fix for added and deleted files.
3812
+
3813
+ 2002-09-12 KUBO Takehiro <kubo@jiubao.org>
3814
+
3815
+ * Makefile: update version to 0.1.0.
3816
+ * README: support cygwin and mingw32.
3817
+ * test/test_oradate.rb: delete test_now().
3818
+ * src/extconf.rb: support mingw32.
3819
+
3820
+ 2002-09-12 Hitoshi Endoh <h-endoh@mbf.nifty.com>
3821
+
3822
+ * src/extwin32.rb: support cygwin.
3823
+
3824
+ 2002-09-12 KUBO Takehiro <kubo@jiubao.org>
3825
+
3826
+ * ChangeLog: Added.