ruby-oci8 2.1.5.1-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +17 -0
  3. data/COPYING +30 -0
  4. data/COPYING_old +64 -0
  5. data/ChangeLog +2779 -0
  6. data/Makefile +92 -0
  7. data/NEWS +660 -0
  8. data/README.md +43 -0
  9. data/VERSION +1 -0
  10. data/dist-files +91 -0
  11. data/docs/install-binary-package.md +40 -0
  12. data/docs/install-full-client.md +116 -0
  13. data/docs/install-instant-client.md +167 -0
  14. data/docs/platform-specific-issues.md +197 -0
  15. data/docs/report-installation-issue.md +50 -0
  16. data/lib/.document +1 -0
  17. data/lib/dbd/OCI8.rb +591 -0
  18. data/lib/oci8.rb +147 -0
  19. data/lib/oci8.rb.in +147 -0
  20. data/lib/oci8/.document +8 -0
  21. data/lib/oci8/bindtype.rb +350 -0
  22. data/lib/oci8/compat.rb +113 -0
  23. data/lib/oci8/connection_pool.rb +108 -0
  24. data/lib/oci8/cursor.rb +564 -0
  25. data/lib/oci8/datetime.rb +605 -0
  26. data/lib/oci8/encoding-init.rb +79 -0
  27. data/lib/oci8/encoding.yml +537 -0
  28. data/lib/oci8/metadata.rb +2092 -0
  29. data/lib/oci8/object.rb +605 -0
  30. data/lib/oci8/oci8.rb +560 -0
  31. data/lib/oci8/ocihandle.rb +607 -0
  32. data/lib/oci8/oracle_version.rb +143 -0
  33. data/lib/oci8/properties.rb +134 -0
  34. data/lib/oci8lib_200.so +0 -0
  35. data/metaconfig +142 -0
  36. data/pre-distclean.rb +7 -0
  37. data/ruby-oci8.gemspec +80 -0
  38. data/setup.rb +1333 -0
  39. data/test/README +42 -0
  40. data/test/config.rb +184 -0
  41. data/test/setup_test_object.sql +171 -0
  42. data/test/test_all.rb +54 -0
  43. data/test/test_appinfo.rb +63 -0
  44. data/test/test_array_dml.rb +333 -0
  45. data/test/test_bind_raw.rb +46 -0
  46. data/test/test_bind_string.rb +106 -0
  47. data/test/test_bind_time.rb +178 -0
  48. data/test/test_break.rb +124 -0
  49. data/test/test_clob.rb +98 -0
  50. data/test/test_connection_pool.rb +125 -0
  51. data/test/test_connstr.rb +81 -0
  52. data/test/test_datetime.rb +581 -0
  53. data/test/test_dbi.rb +366 -0
  54. data/test/test_dbi_clob.rb +53 -0
  55. data/test/test_encoding.rb +104 -0
  56. data/test/test_error.rb +88 -0
  57. data/test/test_metadata.rb +1485 -0
  58. data/test/test_object.rb +462 -0
  59. data/test/test_oci8.rb +489 -0
  60. data/test/test_oracle_version.rb +70 -0
  61. data/test/test_oradate.rb +256 -0
  62. data/test/test_oranumber.rb +787 -0
  63. data/test/test_rowid.rb +33 -0
  64. metadata +109 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 08f373fec89b7637d74339e008c02034b14c09d5
4
+ data.tar.gz: 7cdf8e2fc6430bc526dbc0f093de208f34618282
5
+ SHA512:
6
+ metadata.gz: a07739478f1665bb3d018c6348156fca9a911f76bc8a74279260982abd97ed0010d8b74e833b2d9b14e59e17597f7bef78ef142a43d32a758e9c7d21b10a62a2
7
+ data.tar.gz: ea6bff76e9569e68bd1ef4d6859a36408c508ce874c6b773df6c409de58ece416c9bbcb07b193abe7f6197c7a8b3ac71fd2cc7bdaf4420558503cb2c2a1beaeb
data/.yardopts ADDED
@@ -0,0 +1,17 @@
1
+ --protected
2
+ --no-private
3
+ --exclude ext/oci8/apiwrap.rb
4
+ --exclude ext/oci8/oraconf.rb
5
+ --exclude lib/oci8/compat.rb
6
+ --exclude lib/dbd
7
+ --hide-void-return
8
+ --charset UTF-8
9
+ -
10
+ NEWS
11
+ COPYING
12
+ COPYING_old
13
+ docs/install-full-client.md
14
+ docs/install-instant-client.md
15
+ docs/install-binary-package.md
16
+ docs/platform-specific-issues.md
17
+ docs/report-installation-issue.md
data/COPYING ADDED
@@ -0,0 +1,30 @@
1
+ # @markup pre
2
+
3
+ License from ruby-oci8 2.1.3
4
+
5
+ ---
6
+ Copyright 2002-2012 Kubo Takehiro <kubo@jiubao.org>. All rights reserved.
7
+
8
+ Redistribution and use in source and binary forms, with or without modification, are
9
+ permitted provided that the following conditions are met:
10
+
11
+ 1. Redistributions of source code must retain the above copyright notice, this list of
12
+ conditions and the following disclaimer.
13
+
14
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list
15
+ of conditions and the following disclaimer in the documentation and/or other materials
16
+ provided with the distribution.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS OR IMPLIED
19
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20
+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> OR
21
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+
28
+ The views and conclusions contained in the software and documentation are those of the
29
+ authors and should not be interpreted as representing official policies, either expressed
30
+ or implied, of the authors.
data/COPYING_old ADDED
@@ -0,0 +1,64 @@
1
+ # @markup pre
2
+
3
+ License until ruby-oci8 2.1.2
4
+
5
+ The license of ruby-oci8 was changed to 2-clause BSD license by using the following
6
+ 2.d clause.
7
+
8
+ ---
9
+ Ruby-oci8 is copyrighted free software by Kubo Takehiro <kubo@jiubao.org>.
10
+ You can redistribute it and/or modify it under either the terms of the GPL
11
+ version 2 (see the file GPL), or the conditions below:
12
+
13
+ 1. You may make and give away verbatim copies of the source form of the
14
+ software without restriction, provided that you duplicate all of the
15
+ original copyright notices and associated disclaimers.
16
+
17
+ 2. You may modify your copy of the software in any way, provided that
18
+ you do at least ONE of the following:
19
+
20
+ a) place your modifications in the Public Domain or otherwise
21
+ make them Freely Available, such as by posting said
22
+ modifications to Usenet or an equivalent medium, or by allowing
23
+ the author to include your modifications in the software.
24
+
25
+ b) use the modified software only within your corporation or
26
+ organization.
27
+
28
+ c) give non-standard binaries non-standard names, with
29
+ instructions on where to get the original software distribution.
30
+
31
+ d) make other distribution arrangements with the author.
32
+
33
+ 3. You may distribute the software in object code or binary form,
34
+ provided that you do at least ONE of the following:
35
+
36
+ a) distribute the binaries and library files of the software,
37
+ together with instructions (in the manual page or equivalent)
38
+ on where to get the original distribution.
39
+
40
+ b) accompany the distribution with the machine-readable source of
41
+ the software.
42
+
43
+ c) give non-standard binaries non-standard names, with
44
+ instructions on where to get the original software distribution.
45
+
46
+ d) make other distribution arrangements with the author.
47
+
48
+ 4. You may modify and include the part of the software into any other
49
+ software (possibly commercial). But some files in the distribution
50
+ are not written by the author, so that they are not under these terms.
51
+
52
+ For the list of those files and their copying conditions, see the
53
+ file LEGAL.
54
+
55
+ 5. The scripts and library files supplied as input to or produced as
56
+ output from the software do not automatically fall under the
57
+ copyright of the software, but belong to whomever generated them,
58
+ and may be sold commercially, and may be aggregated with this
59
+ software.
60
+
61
+ 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
62
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
63
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
64
+ PURPOSE.
data/ChangeLog ADDED
@@ -0,0 +1,2779 @@
1
+ 2013-03-09 KUBO Takehiro <kubo@jiubao.org>
2
+ * ruby-oci8.gemspec: revert the previous commit because old
3
+ rubygems doesn't support:
4
+ required_ruby_version = ['>= 1.8.0', '<= 2.0.0']
5
+
6
+ 2013-03-09 KUBO Takehiro <kubo@jiubao.org>
7
+ * NEWS: add changes between 2.1.5 and 2.1.4
8
+ * VERSION: change the version to 2.1.5.
9
+ * docs/platform-specific-issues.md: remove obsolete description.
10
+ * ext/oci8/extconf.rb, ext/oci8/oraconf.rb: fix to compile for
11
+ Windows x64 client.
12
+ * ruby-oci8.gemspec: change required_ruby_version range
13
+ when a binary gem includes more than one compiled object.
14
+ * test/test_connection_pool.rb: fix to pass tests on slow
15
+ machines.
16
+
17
+ 2013-03-05 KUBO Takehiro <kubo@jiubao.org>
18
+ * ext/oci8/oci8.c, lib/oci8/oci8.rb, lib/oci8/oracle_version.rb:
19
+ refactoring.
20
+
21
+ 2013-03-03 KUBO Takehiro <kubo@jiubao.org>
22
+ * lib/oci8/oci8.rb, test/test_oci8.rb: set 'rubyoci8' as
23
+ the driver name, which is displayed in
24
+ V$SESSION_CONNECT_INFO.CLIENT_DRIVER.
25
+ (require Oracle 11g or upper)
26
+
27
+ 2013-03-03 KUBO Takehiro <kubo@jiubao.org>
28
+ * lib/oci8.rb.in: use RbConfig::CONFIG instead of obsolete
29
+ constant Config::CONFIG.
30
+ * lib/oci8/object.rb, test/test_bind_time.rb, test/test_metadata.rb
31
+ test/test_object.rb, test/test_oci8.rb:
32
+ suppress warning: assigned but unused variable
33
+
34
+ 2013-03-03 KUBO Takehiro <kubo@jiubao.org>
35
+ * ext/oci8/lob.c, ext/oci8/oci8.c, ext/oci8/oci8.h:
36
+ refactor oci8_lob_t.
37
+
38
+ 2013-03-03 KUBO Takehiro <kubo@jiubao.org>
39
+ * ext/oci8/oci8.c: fix segmentation fault when the process
40
+ exits on rubinius.
41
+
42
+ 2013-03-02 KUBO Takehiro <kubo@jiubao.org>
43
+ * .yardopts, ext/oci8/object.c, lib/oci8/metadata.rb,
44
+ lib/oci8/oracle_version.rb: update comments for rdoc/yard.
45
+
46
+ 2013-03-02 KUBO Takehiro <kubo@jiubao.org>
47
+ * ext/oci8/ocihandle.c: change arguments of internal methods
48
+ OCIHandle#attr_get_*() to ignore "ORA-24328: illegal
49
+ attribute value".
50
+ * lib/oci8/metadata.rb: change OCI8::Metadata::Base#obj_id,
51
+ #obj_name and #obj_schema not to raise "ORA-24328:
52
+ illegal attribute value".
53
+
54
+ 2013-03-02 KUBO Takehiro <kubo@jiubao.org>
55
+ * ruby-oci8.gemspec: fix for ruby 2.0.0 to make binary gems.
56
+
57
+ 2013-03-02 KUBO Takehiro <kubo@jiubao.org>
58
+ * ext/oci8/oraconf.rb: fix for compilation on Windows x64 by mingw64.
59
+
60
+ 2013-01-12 KUBO Takehiro <kubo@jiubao.org>
61
+ * ext/oci8/oci8lib.c: export a main function for Solaris x86 (32-bit).
62
+ When a main function is invisible from Oracle instant client
63
+ 11.2.0.3 for Solaris x86 (32-bit), OCIEnvCreate() fails by
64
+ unknown reasons.
65
+ * docs/platform-specific-issues.md: change the workaround for
66
+ Solaris x86 (32-bit) instant client.
67
+
68
+ 2013-01-06 KUBO Takehiro <kubo@jiubao.org>
69
+ * NEWS: add changes between 2.1.4 and 2.1.3
70
+ * VERSION: change the version to 2.1.4.
71
+ * docs/platform-specific-issues.md: update solaris-specific document.
72
+ * ext/oci8/connection_pool.c, ext/oci8/encoding.c, ext/oci8/metadata.c,
73
+ ext/oci8/oci8.c,lib/oci8.rb.in, lib/oci8/metadata.rb, lib/oci8/oci8.rb,
74
+ lib/oci8/oracle_version.rb, lib/oci8/properties.rb: update comments for yard.
75
+ * test/test_clob.rb: change a lob size when ORA-24817 is raised to
76
+ pass tests on Windows.
77
+
78
+ 2013-01-03 KUBO Takehiro <kubo@jiubao.org>
79
+ * ext/oci8/oci8.c, lib/oci8/properties.rb: add OCI8.properties[:events_mode]
80
+ to support Fast Application Notification (FAN).
81
+
82
+ 2013-01-03 KUBO Takehiro <kubo@jiubao.org>
83
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: add languange mode to the extension
84
+ library name when ths ruby engine is rubinius and explicitly claim that
85
+ jruby is not supported when it is jruby.
86
+
87
+ 2013-01-03 KUBO Takehiro <kubo@jiubao.org>
88
+ * ext/oci8/encoding.c, lib/oci8/encoding-init.rb: delete an internal method
89
+ OCI8.nls_ratio= when the ruby is 1.9 or greater. nls_ratio is set by
90
+ OCI8.encoding=.
91
+
92
+ 2012-12-23 KUBO Takehiro <kubo@jiubao.org>
93
+ * ext/oci8/lob.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c, test/test_clob.rb:
94
+ fix SEGV when a temporary LOB is freed when OCILobRead returns OCI_NEED_DATA.
95
+ (github issue #20 reported by Edgars Beigarts)
96
+
97
+ 2012-12-18 KUBO Takehiro <kubo@jiubao.org>
98
+ * ext/oci8/error.c, lib/oci8/oci8.rb: change the OCIError constructor to
99
+ accept an Oracle error code as the first parameter and create a message
100
+ which depends on NLS_LANG.
101
+ * lib/oci8/metadata.rb: fix OCI8.describe_table not to follow synonyms
102
+ until stack overflow. Now the recursive level is limited to 20.
103
+ (github issue #26 reported by Brian Henderson)
104
+
105
+ 2012-12-16 KUBO Takehiro <kubo@jiubao.org>
106
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: use RUBY_VERSION instead of
107
+ RbConfig::CONFIG['ruby_version'] to know the ruby ABI version.
108
+ The latter may be changed by the configure option --with-ruby-version.
109
+ (github issue #24 reported by suhrawardi)
110
+
111
+ 2012-12-03 KUBO Takehiro <kubo@jiubao.org>
112
+ * ext/oci8/oraconf.rb: add a script encoding magic comment for ruby 2.0.0 preview2.
113
+ (github issue #25 reported by aboltart)
114
+
115
+ 2012-12-02 KUBO Takehiro <kubo@jiubao.org>
116
+ * test/test_encoding.rb: fix to pass tests with ruby 2.0.0 preview2.
117
+
118
+ 2012-11-11 KUBO Takehiro <kubo@jiubao.org>
119
+ * ext/oci8/lob.c: use OCILobLocatorAssign_nb (non-blocking version)
120
+ instead of OCILobLocatorAssign (blocking version).
121
+
122
+ 2012-11-11 KUBO Takehiro <kubo@jiubao.org>
123
+ * NEWS: add changes between 2.1.3 and 2.1.2
124
+ * VERSION: change the version to 2.1.3.
125
+ * dist-files: append new files.
126
+ * ruby-oci8.gemspec: declare license in the gem.
127
+
128
+ 2012-11-11 KUBO Takehiro <kubo@jiubao.org>
129
+ * Makefile: add doc and copy-doc targets to generate document by yard command.
130
+ * ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c: change
131
+ protoptype definition of Init_oci8 for yard command to parse it.
132
+ * ext/oci8/encoding.c, ext/oci8/oci8.c, ext/oci8/ocinumber.c,
133
+ lib/oci8.rb.in, lib/oci8/connection_pool.rb, lib/oci8/datetime.rb,
134
+ lib/oci8/encoding-init.rb, lib/oci8/metadata.rb, lib/oci8/object.rb,
135
+ lib/oci8/oci8.rb: change comments for yard command.
136
+
137
+ 2012-11-11 KUBO Takehiro <kubo@jiubao.org>
138
+ * ext/oci8/oci8.h: update RB_GC_GUARD as ruby 1.9.2 defines.
139
+ * test/test_break.rb: fix tests for rubinius 1.2.4 and 2.0.0.
140
+
141
+ 2012-11-10 KUBO Takehiro <kubo@jiubao.org>
142
+ * ext/oci8/oci8lib.c: fix compilation errors when ruby version is 1.8.x.
143
+ * ext/oci8/ocinumber.c: Don't use rb_Rational() when rbx-2.0.testing
144
+ runs with ruby 1.8 mode.
145
+ * lib/oci8/datetime.rb: fix #<NoMethodError: undefined method `timezone' for Time:Class>
146
+ when ruby is less than 1.9.2 and an object type's time attribute
147
+ is accessed.
148
+ * test/config.rb, test/test_oci8.rb: for ruby 1.8.x.
149
+
150
+ 2012-10-28 KUBO Takehiro <kubo@jiubao.org>
151
+ * ext/oci8/extconf.rb: Use rb_thread_call_without_gvl only when
152
+ ruby/thread.h exists. rb_thread_call_without_gvl is an internal
153
+ function in ruby 1.9.2 and 1.9.3.
154
+ * ext/oci8/oci8lib.c: fix compilation errors when ruby <= 1.9.1.
155
+ * setup.rb: fix uninitialized constant Config (NameError) on ruby 1.8.7.
156
+
157
+ 2012-10-28 KUBO Takehiro <kubo@jiubao.org>
158
+ * ext/oci8/lob.c, ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c:
159
+ Fix SEGV when a temporary LOB is GCed while another LOB is read.
160
+ (github issue #20 reported by techsplicer)
161
+
162
+ 2012-10-02 KUBO Takehiro <kubo@jiubao.org>
163
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/connection_pool.c, ext/oci8/env.c,
164
+ ext/oci8/extconf.rb, ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
165
+ ext/oci8/thread_util.c, ext/oci8/thread_util.h:
166
+ replace rb_thread_blocking_region(), which is deprecated in ruby 2.0.0,
167
+ with rb_thread_call_without_gvl() and rename oci8_blocking_region()
168
+ to oci8_call_without_gvl().
169
+ * lib/oci8.rb.in: Ruby 2.0.0-dev's API version is changed to 2.0.0.
170
+ * setup.rb: use RbConfig instead of Config for ruby 2.0.0-dev.
171
+
172
+ 2012-08-12 KUBO Takehiro <kubo@jiubao.org>
173
+ * ext/oci8/stmt.c, lib/oci8/cursor.rb: revise yard comment.
174
+
175
+ 2012-08-11 KUBO Takehiro <kubo@jiubao.org>
176
+ * ext/oci8/stmt.c, lib/oci8/cursor.rb: refactor OCI8::Cursor to simplify
177
+ C code.
178
+ * ext/oci8/bind.c: add a private function OCI8::BindType::Base#get_data
179
+ and #set_data.
180
+ * ext/oci8/attr.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c: delete
181
+ unused functions and a unused variable.
182
+
183
+ 2012-08-11 KUBO Takehiro <kubo@jiubao.org>
184
+ * lib/oci8.rb.in, lib/oci8/cursor.rb, lib/oci8/oci8.rb:
185
+ move OCI8::Cursor from lib/oci8/oci8.rb to lib/oci8/cursor.rb.
186
+
187
+ 2012-08-05 KUBO Takehiro <kubo@jiubao.org>
188
+ * lib/oci8/object.rb: Change the ruby type which corresponds to
189
+ Oracle object type's DATE field from DateTime to Time.
190
+ * test/setup_test_object.sql, test/test_object.rb:
191
+ Fix github issue #17 reported by Yasuo Honda.
192
+
193
+ 2012-07-31 KUBO Takehiro <kubo@jiubao.org>
194
+ * test/config.rb, test/test_datetime.rb: refactor test code by adding
195
+ global functions convert_to_time() and convert_to_datetime(),
196
+ which will be used by test_object.rb later.
197
+
198
+ 2012-07-28 KUBO Takehiro <kubo@jiubao.org>
199
+ * test/test_metadata.rb: fix a sequence test failure on Oracle 11gR2.
200
+ Fix github issue #18 reported by Yasuo Honda.
201
+
202
+ 2012-07-28 KUBO Takehiro <kubo@jiubao.org>
203
+ * lib/oci8/oci8.rb, test/test_oci8.rb: add OCI8::Cursor#statement.
204
+ See github issue #12 requested by timon.
205
+
206
+ 2012-05-25 KUBO Takehiro <kubo@jiubao.org>
207
+ * test/test_clob.rb: speed up clob tests 29 times.
208
+
209
+ 2012-05-25 KUBO Takehiro <kubo@jiubao.org>
210
+ * test/setup_test_object.sql, test/test_all.rb, test/test_object.rb:
211
+ Add tests of the previous commit.
212
+
213
+ 2012-05-25 KUBO Takehiro <kubo@jiubao.org>
214
+ * ext/oci8/lob.c: Merge pull request #13 from timon/temp_lob at github.
215
+ If 's' is a temporary lob, use OCILobLocatorAssign instead.
216
+
217
+ 2012-05-20 KUBO Takehiro <kubo@jiubao.org>
218
+ * ext/oci8/oci8.c, test/test_oci8.rb: add OCI8's class variables:
219
+ @@environment_handle and @@process_handle.
220
+
221
+ 2012-05-20 KUBO Takehiro <kubo@jiubao.org>
222
+ * ext/oci8/ocihandle.c, lib/oci8/metadata.rb, test/test_metadata.rb:
223
+ fix methods of OCI8::Metadata::Sequence and add testcases for them.
224
+
225
+ 2012-05-12 KUBO Takehiro <kubo@jiubao.org>
226
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: refactor code which generates the
227
+ C extention name.
228
+
229
+ 2012-05-05 KUBO Takehiro <kubo@jiubao.org>
230
+ * ext/oci8/oci8.c, lib/oci8/oci8.rb: delete private methods OCI8#server_handle
231
+ and OCI8#session_handle and use @server_handle and @session_handle instead.
232
+
233
+ 2012-04-28 KUBO Takehiro <kubo@jiubao.org>
234
+ * NEWS: add changes between 2.1.2 and 2.1.1
235
+ * VERSION: change the version to 2.1.2.
236
+
237
+ 2012-04-28 KUBO Takehiro <kubo@jiubao.org>
238
+ * lib/oci8/oci8.rb, lib/oci8/properties.rb: disable statement caching by default.
239
+ This is workaround about a SIGSEGV issue.
240
+ See: https://github.com/rsim/oracle-enhanced/issues/162
241
+
242
+ 2012-04-28 KUBO Takehiro <kubo@jiubao.org>
243
+ * ext/oci8/oci8lib.c: delete code which overwrites signal handlers
244
+ registered by ruby. This was committed by mistake.
245
+ See: http://rubyforge.org/forum/forum.php?thread_id=50690&forum_id=1078
246
+
247
+ 2012-04-24 KUBO Takehiro <kubo@jiubao.org>
248
+ * ext/oci8/metadata.c: fix internal heap error in OCI.
249
+ (github issue #12 reported by Yasuo Honda)
250
+
251
+ 2012-04-22 KUBO Takehiro <kubo@jiubao.org>
252
+ * VERSION: update to 2.1.1.
253
+ * README.md: add links.
254
+
255
+ 2012-04-22 KUBO Takehiro <kubo@jiubao.org>
256
+ * NEWS: add changes between 2.1.0 and 2.1.1.
257
+ * README -> README.md: renamed.
258
+ * .yardopts: added for yard.
259
+ * docs/install-binary-package.md, docs/report-installation-issue.md:
260
+ added.
261
+ * docs/platform-specific-issues.md, lib/oci8/bindtype.rb, lib/oci8/connection_pool.rb
262
+ lib/oci8/object.rb, lib/oci8/properties.rb: fix documents.
263
+ * ruby-oci8.gemspec, dist-files: fix for renamed and added files.
264
+
265
+ 2012-04-21 KUBO Takehiro <kubo@jiubao.org>
266
+ * test/test_datetime.rb: fix to pass tests on ruby 1.9.1 and earlier.
267
+
268
+ 2012-04-21 KUBO Takehiro <kubo@jiubao.org>
269
+ * ext/oci8/oci8.c: fix to raise a RuntimeError when a connection
270
+ retrieved from a connection pool is set as non-blocking on
271
+ ruby 1.8.
272
+
273
+ 2012-04-21 KUBO Takehiro <kubo@jiubao.org>
274
+ * ext/oci8/lob.c: OCI8::LOB#read() returns an empty string '' when
275
+ it is an empty lob.
276
+
277
+ 2012-04-21 KUBO Takehiro <kubo@jiubao.org>
278
+ * custom-rdoc.rb: delete an unused file.
279
+
280
+ 2012-04-21 KUBO Takehiro <kubo@jiubao.org>
281
+ * test/test_oci8.rb: fix code to test OCI8::CLOB.new(conn, '').
282
+
283
+ 2012-04-17 KUBO Takehiro <kubo@jiubao.org>
284
+ * ext/oci8/lob.c: 1. fix an exception when OCI8::CLOB.new(conn, '')
285
+ is called. 2. Reset the position of a newly created LOB.
286
+
287
+ 2012-04-17 KUBO Takehiro <kubo@jiubao.org>
288
+ * ext/oci8/oci8lib.c: fix core dump.
289
+ See: https://github.com/kubo/ruby-oci8/issues/11
290
+ (reported by Raimonds Simanovskis)
291
+
292
+ 2012-04-08 KUBO Takehiro <kubo@jiubao.org>
293
+ * ext/oci8/lob.c, ext/oci8/win32.c, lib/oci8/oracle_version.rb:
294
+ revise rdoc comments.
295
+
296
+ 2012-04-06 KUBO Takehiro <kubo@jiubao.org>
297
+ * ext/oci8/error.c, ext/oci8/ocihandle.c, ext/oci8/oradate.c,
298
+ lib/oci8/encoding-init.rb, lib/oci8/oci8.rb, lib/oci8/ocihandle.rb:
299
+ revise rdoc comments.
300
+
301
+ 2012-04-05 KUBO Takehiro <kubo@jiubao.org>
302
+ * ext/oci8/ocinumber.c, lib/oci8/oci8.rb: revise OraNumber's comments.
303
+
304
+ 2012-04-03 KUBO Takehiro <kubo@jiubao.org>
305
+ * ext/oci8/oci8.h, ext/oci8/ocinumber.c: change OCI8::Math::*'s comments
306
+ for yard.
307
+
308
+ 2012-04-02 KUBO Takehiro <kubo@jiubao.org>
309
+ * NEWS: change the text format to markdown.
310
+
311
+ 2012-03-18 KUBO Takehiro <kubo@jiubao.org>
312
+ * test/test_datetime.rb: fix testcase failures in DST.
313
+ (reported by Yasuo Honda)
314
+
315
+ 2012-03-11 KUBO Takehiro <kubo@jiubao.org>
316
+ * dist-files, docs/install-full-client.md, docs/install-instant-client.md,
317
+ docs/platform-specific-issues.md: add and fix documents.
318
+
319
+ 2012-03-11 KUBO Takehiro <kubo@jiubao.org>
320
+ * ruby-oci8.gemspec: fix warning: string literal in condition.
321
+ (pointed by andynu at github)
322
+
323
+ 2012-01-22 KUBO Takehiro <kubo@jiubao.org>
324
+ * ext/oci8/ocinumber.c: Use isnan() and isinf() instead of fpclassify()
325
+ for platforms which don't have fpclassify().
326
+ (reported by John Beckwith)
327
+
328
+ 2012-01-19 KUBO Takehiro <kubo@jiubao.org>
329
+ * ext/oci8/extconf.rb, pre-distclean.rb, ruby-oci8.gemspec: create map files
330
+ of oci8lib_*.so on mingw32 in case of analyzing a core (minidump) file.
331
+
332
+ 2012-01-19 KUBO Takehiro <kubo@jiubao.org>
333
+ * ext/oci8/apiwrap.yml, ext/oci8/stmt.c, lib/oci8/oci8.rb,
334
+ lib/oci8/properties.rb: enable statement caching per session in OCI layer
335
+ if the Oracle client is 9iR2 or upper.
336
+
337
+ 2012-01-19 KUBO Takehiro <kubo@jiubao.org>
338
+ * ext/oci8/apiwrap.yml, ext/oci8/oci8.c, lib/oci8/oci8.rb: replace
339
+ OCILogon() with OCILogon2() and use the latter to use
340
+ ConnectionPool.
341
+ * test/config.rb: fix to pass lob tests.
342
+
343
+ 2012-01-09 KUBO Takehiro <kubo@jiubao.org>
344
+ * docs/install-full-client.md: add a new document file.
345
+
346
+ 2012-01-08 KUBO Takehiro <kubo@jiubao.org>
347
+ * doc/*: remove obsolete documents.
348
+
349
+ 2011-12-15 KUBO Takehiro <kubo@jiubao.org>
350
+ * lib/oci8/object.rb, test/setup_test_object.sql, test/test_object.rb:
351
+ fix "wrong number of arguments (1 for 2)" when date datatype in a object
352
+ type is gotten.
353
+ (repored by Leoš Bitto)
354
+
355
+ 2011-12-13 KUBO Takehiro <kubo@jiubao.org>
356
+ * VERSION: update to 2.1.0.
357
+ * ext/oci8/error.c, ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/ocidatetime.c,
358
+ ext/oci8/ocinumber.c, ext/oci8/stmt.c: suppress gcc-4.6 warnings.
359
+
360
+ 2011-12-11 KUBO Takehiro <kubo@jiubao.org>
361
+ * ext/oci8/connection_pool.c: fix a buffer overrun in oci8_cpool_initialize().
362
+
363
+ 2011-12-11 KUBO Takehiro <kubo@jiubao.org>
364
+ * NEWS: add changes between 2.0.6 and 2.1.0.
365
+ * README, test/README: rewritten.
366
+ * ext/oci8/connection_pool.c: add a note.
367
+
368
+ 2011-12-10 KUBO Takehiro <kubo@jiubao.org>
369
+ * test/test_bind_string.rb: suppress "No tests were specified" when
370
+ the client character set is not UTF-8.
371
+
372
+ 2011-12-10 KUBO Takehiro <kubo@jiubao.org>
373
+ * lib/oci8/oci8.rb, lib/oci8/properties.rb, test/test_datetime.rb:
374
+ revert OCI8.properties[:time_zone] which was added 5 days ago.
375
+ * lib/oci8.rb.in: use ENV['ORA_SDTZ'] instead of 'alter session set time_zone = ...'
376
+ to set Oracle session time zone. On cygwin, explicitly set
377
+ environments variables which start with 'ORA_' to WIN32 environments.
378
+
379
+ 2011-12-10 KUBO Takehiro <kubo@jiubao.org>
380
+ * test/test_oci8.rb: fix test_select when TZ set to daylight saving time.
381
+ (reported by Yasuo Honda)
382
+
383
+ 2011-12-06 KUBO Takehiro <kubo@jiubao.org>
384
+ * ext/oci8/oci8.c: raise a RuntimeError when non-blocking mode is set to a connection
385
+ allocated from OCI8::ConnectionPool on ruby 1.8.
386
+ Ruby 1.9.x and rubinius don't have the limitation.
387
+ * test/test_connection_pool.rb: fix for ruby 1.8.
388
+ * test/test_oranumber.rb: fix for ruby 1.9.1 and 1.8.
389
+
390
+ 2011-12-05 KUBO Takehiro <kubo@jiubao.org>
391
+ * lib/oci8/oci8.rb, lib/oci8/properties.rb, test/test_datetime.rb.
392
+ add OCI8.properties[:time_zone] and use ENV['TZ'] or the time_zone
393
+ propery to set Oracle session time zone.
394
+ Fix #2 at http://github.com/kubo/ruby-oci8.
395
+ (reported by Yasuo Honda)
396
+
397
+ 2011-12-05 KUBO Takehiro <kubo@jiubao.org>
398
+ * lib/oci8/encoding-init.rb, lib/oci8/oci8.rb: add OCI8.client_charset_name.
399
+ * test/config.rb: use OCI8.client_charset_name instead of OCI8.encoding.
400
+ Ruby-oci8 compiled for ruby 1.8 doesn't has the latter.
401
+ * lib/oci8/properties.rb, test/test_all.rb, test/test_bind_string.rb,
402
+ test/test_encoding.rb: add a test for OCI8.properties[:lenght_semantics]
403
+ and move the test for OCI8.properties[:bind_string_as_nchar] from
404
+ test/test_encoding.rb to test/test_bind_string.rb.
405
+
406
+ 2011-12-04 KUBO Takehiro <kubo@jiubao.org>
407
+ * test/config.rb, test/test_encoding.rb: add tests for bind_string_as_nchar
408
+ property.
409
+ * ext/oci8/metadata.c, lib/oci8/metadata.rb: delete the internally used
410
+ OCI8::Metadata::Base#__charset_name method.
411
+ * lib/oci8/oci8.rb: add OCI8#database_charset_name. (added to test
412
+ bind_string_as_nchar.)
413
+
414
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
415
+ * lib/oci8.rb.in: fix to work with ruby 2.0.
416
+
417
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
418
+ * test/test_connection_pool.rb: fix to pass a connection pool test.
419
+ OCI8::ConnectionPool#open_count after decrement depends on
420
+ Oracle version. (reported by Yasuo Honda)
421
+
422
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
423
+ * test/test_metadata.rb: Check object type availability by querying
424
+ all_objects data dictionary. Fix #3 at http://github.com/kubo/ruby-oci8.
425
+ (reported by Yasuo Honda)
426
+
427
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
428
+ * ruby-oci8.gemspec: Use Gem::Command.build_args to get arguments
429
+ after '--'. This may solve issues #4 at http://github.com/kubo/ruby-oci8.
430
+ (reported by jbirdjavi)
431
+
432
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
433
+ * ext/oci8/apiwrap.yml: fix for run-time Oracle function checking.
434
+ * ext/oci8/oraconf.rb: fix a bug not to compile for full client on
435
+ Windows. The bug was caused by the commit at 2011-10-17.
436
+ * lib/oci8/connection_pool.rb, lib/oci8/properties.rb: fix rdoc
437
+ comments.
438
+
439
+ 2011-11-27 KUBO Takehiro <kubo@jiubao.org>
440
+ * test/test_break.rb: fix test_timeout test for an Oracle server
441
+ on Windows.
442
+ * test/test_all.rb, test/test_connection_pool.rb: add testcases
443
+ of OCI8::ConnectionPool.
444
+ * test/test_oci8.rb: add a testcase for OCI8#last_error.
445
+ * test/test_oranumber.rb: add a testcase for OCI8.properties[:float_conversion_type].
446
+
447
+ 2011-11-26 KUBO Takehiro <kubo@jiubao.org>
448
+ * ext/oci8/object.c, test/test_object.rb: fix a bug that an array is
449
+ always bound as null. This bug was introduced in ruby-oci8 2.0.5.
450
+ (reported by Leoš Bitto)
451
+
452
+ 2011-11-23 KUBO Takehiro <kubo@jiubao.org>
453
+ * ext/oci8/oci8.c, lib/oci8/oci8.rb, lib/oci8/ocihandle.rb,
454
+ test/test_connstr.rb: support sysasm privilege.
455
+ OCI8.new('username/password as sysasm')
456
+ or
457
+ OCI8.new('username', 'password', nil, :SYSASM)
458
+
459
+ 2011-11-04 KUBO Takehiro <kubo@jiubao.org>
460
+ * lib/oci8/encoding.yml: fix the mapping from Oracle NLS chacacter set
461
+ to ruby encoding to use CP950 and CP951, which are new encodings
462
+ in ruby 1.9.3.
463
+
464
+ 2011-11-04 KUBO Takehiro <kubo@jiubao.org>
465
+ * ext/oci8/ocinumber.c: add a workaround to avoid a gcc internal
466
+ compiler error when using ruby 1.9.2-p290 on ubuntu 11.10 (64bit).
467
+ (reported by Bob Saveland.)
468
+
469
+ 2011-11-04 KUBO Takehiro <kubo@jiubao.org>
470
+ * ext/oci8/extconf.rb, ext/oci8/oci8.c, ext/oci8/oci8.h,
471
+ test/test_datetime.rb, test/test_metadata.rb: fix to pass tests
472
+ on Oracle 9i.
473
+
474
+ 2011-10-29 KUBO Takehiro <kubo@jiubao.org>
475
+ * ext/oci8/error.c, ext/oci8/oci8.c, lib/oci8/object.rb, lib/oci8/oci8.rb:
476
+ reset OCI8#last_error when OCI8#parse or OCI8#exec is called.
477
+ fix bugs added by the last commit but one.
478
+
479
+ 2011-10-29 KUBO Takehiro <kubo@jiubao.org>
480
+ * ext/oci8/oraconf.rb: use RbConfig::CONFIG instead of obsolete
481
+ Config::CONFIG.
482
+
483
+ 2011-10-22 KUBO Takehiro <kubo@jiubao.org>
484
+ * ext/oci8/attr.c, ext/oci8/bind.c, ext/oci8/connection_pool.c,
485
+ ext/oci8/error.c, ext/oci8/lob.c, ext/oci8/metadata.c,
486
+ ext/oci8/object.c, ext/oci8/oci8.c, ext/oci8/oci8.h,
487
+ ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c, ext/oci8/ocihandle.c,
488
+ ext/oci8/ocinumber.c, ext/oci8/stmt.c: add OCI8#last_error and
489
+ OCI8#last_error=. When an exception is raised associated with a
490
+ connection, the exception is set to OCI8#last_error.
491
+ No OCISuccessWithInfo excpetion is raised from now on. It is
492
+ set to OCI8#last_error instead.
493
+
494
+ 2011-10-22 KUBO Takehiro <kubo@jiubao.org>
495
+ * ext/oci8/error.c, test/test_break.rb, test/test_error.rb: change the super
496
+ class of OCINoData from OCIException to OCIError and fix testcases for
497
+ OCIError and its subclasses.
498
+
499
+ 2011-10-22 KUBO Takehiro <kubo@jiubao.org>
500
+ * ext/oci8/lob.c, ext/oci8/oci8.c, ext/oci8/ocinumber.c:
501
+ delete code for Oracle 8 and Oracle 8i.
502
+
503
+ 2011-10-21 KUBO Takehiro <kubo@jiubao.org>
504
+ * ext/oci8/error.c, ext/oci8/oci8.h: refactor OCIException and its
505
+ subclasses. OCIError#codes and OCIError#messages are deleted.
506
+ * test/test_all.rb, test/test_error.rb: add a testcase to check
507
+ OCIException's methods.
508
+
509
+ 2011-10-21 KUBO Takehiro <kubo@jiubao.org>
510
+ * ext/oci8/oraconf.rb: fix checking code whether 'sys/types.h' is
511
+ available for Ubuntu 11.10 where sys/types.h is not right under
512
+ /usr/include.
513
+
514
+ 2011-10-21 KUBO Takehiro <kubo@jiubao.org>
515
+ * ext/oci8/oraconf.rb: remove code to get linker options for Oracle 8
516
+ and Oracle 8i.
517
+
518
+ 2011-10-17 KUBO Takehiro <kubo@jiubao.org>
519
+ * ext/oci8/oraconf.rb: embed a run-time loading path to the extention
520
+ library oci8lib_*.so compiled for not only full clients, but also
521
+ instant clients on Linux and Solaris.
522
+ (suggested by d c and others.)
523
+
524
+ 2011-10-09 KUBO Takehiro <kubo@jiubao.org>
525
+ * ext/oci8/ocidatetime.c, lib/oci8/datetime.rb, lib/oci8/object.rb:
526
+ add OCI8::BindType::OCITimestamp, OCI8::BindType::LocalDateTime,
527
+ OCI8::BindType::UTCDateTime, OCI8::BindType::LocalTime and
528
+ OCI8::BindType::UTCTime. The first is used for internal use.
529
+ The others are used for timestamp (without time zone) datatype.
530
+
531
+ 2011-10-01 KUBO Takehiro <kubo@jiubao.org>
532
+ * ext/oci8/attr.c, ext/oci8/ocidatetime.c, ext/oci8/oradate.c: delete
533
+ subversion keywords.
534
+ * ext/oci8/env.c, ext/oci8/oci8.h, ext/oci8/thread_util.c,
535
+ ext/oci8/thread_util.h: use thread-local errhp not only at ruby 1.9
536
+ and rubinius, but also ruby 1.8 configured with --enable-pthread.
537
+
538
+ 2011-10-01 KUBO Takehiro <kubo@jiubao.org>
539
+ * ext/oci8/bind.c, ext/oci8/connection_pool.c, ext/oci8/lob.c,
540
+ ext/oci8/metadata.c, ext/oci8/object.c, ext/oci8/oci8.c, ext/oci8/oci8.h,
541
+ ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c, ext/oci8/ocihandle.c,
542
+ ext/oci8/ocinumber.c, ext/oci8/oradate.c, ext/oci8/stmt.c:
543
+ rename oci8_*_class to oci8_*_vtable because they correspond to
544
+ virtual method tables (vtable) in C++.
545
+
546
+ 2011-09-30 KUBO Takehiro <kubo@jiubao.org>
547
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/oci8lib.c, test/test_break.rb:
548
+ clear an executuing thread information in a connection when a SQL
549
+ executions is canceled by Thread#kill or Timeout::timeout.
550
+ (reported by Aaron Qian)
551
+ See: http://rubyforge.org/forum/forum.php?thread_id=50112&forum_id=1078
552
+
553
+ 2011-09-30 KUBO Takehiro <kubo@jiubao.org>
554
+ * ext/oci8/connection_pool.c: run connection-pool cleanup functions
555
+ in a native thread not to block GC.
556
+ * ext/oci8/oci8.c: use xfree() instead of free() to release memory
557
+ allocated by xmalloc().
558
+
559
+ 2011-08-31 KUBO Takehiro <kubo@jiubao.org>
560
+ * ext/oci8/env.c, ext/oci8/extconf.rb, ext/oci8/oci8.c, ext/oci8/oci8.h,
561
+ ext/oci8/oci8lib.c, ext/oci8/thread_util.c, ext/oci8/thread_util.h:
562
+ run connection-cleanup functions in a native thread to correctly
563
+ release connections in GC.
564
+
565
+ 2011-08-27 KUBO Takehiro <kubo@jiubao.org>
566
+ * ext/oci8/oci8.c, ext/oci8/oci8.h: refactoring for prior arrangement to
567
+ properly release garbage sessions.
568
+
569
+ 2011-08-27 KUBO Takehiro <kubo@jiubao.org>
570
+ * ext/oci8/bind.c, ext/oci8/extconf.rb, ext/oci8/lob.c, ext/oci8/object.c,
571
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c,
572
+ ext/oci8/ocinumber.c, ext/oci8/oradate.c, ext/oci8/stmt.c,
573
+ ext/oci8/xmldb.c: delete unused and unworkable features: dynamic fetch
574
+ and xmldb.
575
+
576
+ 2011-08-27 KUBO Takehiro <kubo@jiubao.org>
577
+ * ext/oci8/bind.c, lib/oci8/bindtype.rb, lib/oci8/properties.rb: add
578
+ OCI8.properties[:length_semantics].
579
+
580
+ 2011-08-23 KUBO Takehiro <kubo@jiubao.org>
581
+ * ext/oci8/oraconf.rb: warn when the Oracle instant client is
582
+ 64-bit on OS X Lion.
583
+
584
+ 2011-08-19 KUBO Takehiro <kubo@jiubao.org>
585
+ * ext/oci8/bind.c, ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/ocinumber.c,
586
+ lib/oci8/properties.rb: Decimal to float and float to decimal conversions
587
+ are done as exactly ruby does by default. The behavior is customizable by
588
+ OCI8.properties[:float_conversion_type].
589
+
590
+ 2011-08-19 KUBO Takehiro <kubo@jiubao.org>
591
+ * ext/oci8/oraconf.rb: fix a bug not to find the OCI library location listed in
592
+ 'ldconfig -p' when LD_LIBRARY_PATH is set.
593
+ (Reported by Edgars Beigarts.)
594
+
595
+ 2011-07-16 KUBO Takehiro <kubo@jiubao.org>
596
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h: fix for Solaris compiler.
597
+ (Reported by Sanjiv Patel.)
598
+
599
+ 2011-07-16 KUBO Takehiro <kubo@jiubao.org>
600
+ * ext/oci8/oraconf.rb: Fix for Oracle 11g solaris-sparc32 instant client.
601
+ The machine type of Oracle 10g solaris-sparc32 instant client was
602
+ sparc but that of oracle 11g is sparc32plus.
603
+ (Reported by Sanjiv Patel.)
604
+
605
+ 2011-06-15 KUBO Takehiro <kubo@jiubao.org>
606
+ * ext/oci8/apiwrap.yml, ext/oci8/bind.c, ext/oci8/oci8.c, ext/oci8/oci8lib.c,
607
+ lib/oci8/bindtype.rb: drop Oracle 8i support.
608
+ * ext/oci8/ocidatetime.c: OCI8::BindType::OCIDate was deleted.
609
+ * lib/oci8/datetime.rb, test/test_datetime.rb: OCI8::BindType::DateTimeViaOCIDate,
610
+ OCI8::BindType::TimeViaOCIDate, OCI8::BindType::DateTimeViaOCITimestampTZ
611
+ and OCI8::BindType::TimeViaOCITimestampTZ were deleted.
612
+
613
+ 2011-06-14 KUBO Takehiro <kubo@jiubao.org>
614
+ * NEWS: add changes between 2.0.5 and 2.0.6.
615
+ * ext/oci8/apiwrap.yml, ext/oci8/lob.c: fix SEGV when freeing a temporary
616
+ LOB during GC on rubinius 1.2.3.
617
+ * ext/oci8/oci8lib.c: revert the exception type from RuntimeError to
618
+ OCIException when a closed OCI handle's method is called.
619
+ It was chaned in 2.0.5 by mistake.
620
+
621
+ 2011-06-12 KUBO Takehiro <kubo@jiubao.org>
622
+ * NEWS: add changes between 2.0.4 and 2.0.5.
623
+
624
+ 2011-06-12 KUBO Takehiro <kubo@jiubao.org>
625
+ * ext/oci8/oci8lib.c: add __declspec(dllexport) to Init_oci8lib(). The mingw32
626
+ gcc compiler doesn't export functions without it if more than one function
627
+ is declared with it.
628
+ * ext/oci8/oraconf.rb: work around for rubinius 1.2.3, which doesn't support
629
+ Array#pack('P').
630
+ * lib/oci8/oci8.rb: fix a bug introduced by the previous commit.
631
+ * ext/oci8/env.c, ext/oci8/extconf.rb, ext/oci8/oci8.c, ext/oci8/oci8.h,
632
+ ext/oci8/oci8lib.c: Use HAVE_RB_THREAD_BLOCKING_REGION instead of
633
+ HAVE_TYPE_RB_BLOCKING_FUNCTION_T. have_type("rb_blocking_function_t", "ruby.h")
634
+ unexpectedly doesn't work on Visual Studio 2010.
635
+
636
+ 2011-06-10 KUBO Takehiro <kubo@jiubao.org>
637
+ * ext/oci8/apiwrap.yml, lib/oci8/oci8.rb: fix for Psych YAML library.
638
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/ocihandle.c: fix to
639
+ work with ruby 1.9.3dev.
640
+
641
+ 2011-06-10 KUBO Takehiro <kubo@jiubao.org>
642
+ * ext/oci8/env.c, ext/oci8/oci8.h: Free OCI error handles on the
643
+ native thread termination, not on the ruby thread termination.
644
+ (reported by Jordan Curzon and Aaron Qian)
645
+ See: http://rubyforge.org/forum/forum.php?thread_id=49751&forum_id=1078
646
+
647
+ 2011-02-21 KUBO Takehiro <kubo@jiubao.org>
648
+ * ext/oci8/lob.c, ext/oci8/metadata.c, ext/oci8/oci8.c,
649
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/stmt.c:
650
+ fix segmentation fault when calling OCI8::Cursor#[] for
651
+ closed statement object's (reported by Hugo L. Borges)
652
+
653
+ 2011-02-01 KUBO Takehiro <kubo@jiubao.org>
654
+ * ext/oci8/ocidatetime.c, lib/oci8/datetime.rb: rename
655
+ the name of the class to binding timestamp with time zone
656
+ from OCITimestamp to OCITimestampTZ. OCITimestamp will be
657
+ used for timestamp without time zone.
658
+
659
+ 2011-01-30 KUBO Takehiro <kubo@jiubao.org>
660
+ * ext/oci8/oci8.c: fix SEGV which depends on GC order.
661
+ * ext/oci8/oraconf.rb: check Oracle client's cpu type on Solaris as
662
+ on Linux and Mac OS X. change error messages on Mac OS X to suggest
663
+ to set RC_ARCHS=x86_64 when mkmf.log contains messages such as
664
+ 'missing required architecture i386 in file.'
665
+
666
+ 2010-12-26 KUBO Takehiro <kubo@jiubao.org>
667
+ * ext/oci8/ocinumber.c, lib/oci8/bindtype.rb, test/test_oranumber.rb:
668
+ add OraNumber#has_decimal_part? and OCI8::BindType::BasicNumberType.
669
+
670
+ 2010-12-14 KUBO Takehiro <kubo@jiubao.org>
671
+ * dist-files, lib/oci8.rb.in, lib/oci8/.document, lib/oci8/properties.rb:
672
+ add OCI8.properties to get and set ruby-oci8 global setting.
673
+ * ext/oci8/bind.c, lib/oci8/bindtype.rb: fix NCHAR support and add
674
+ OCI8.properties[:bind_string_as_nchar] to control charset form (CHAR or NCHAR)
675
+ when binding string values.
676
+ See: http://rubyforge.org/forum/forum.php?thread_id=48838&forum_id=1078
677
+
678
+ 2010-12-04 KUBO Takehiro <kubo@jiubao.org>
679
+ * ext/oci8/object.c, ext/oci8/bind.c, lib/oci8/object.rb,
680
+ test/test_object.rb: fix a problem to assign NULL bind value
681
+ to object type bind variables.
682
+ (reported by Raimonds Simanovskis)
683
+ * ext/oci8/oraconf.rb: fix for 32-bit ruby compiled on
684
+ x86_64 linux. (reported by Jason Renschler)
685
+ * ext/oci8/oranumber_util.c, test/test_oranumber.rb:
686
+ suppress warning: unknown conversion type character 'h' in format
687
+
688
+ 2010-12-04 KUBO Takehiro <kubo@jiubao.org>
689
+ * VERSION, ext/oci8/encoding.c, ext/oci8/ocihandle.c: change
690
+ the version number to 2.1.
691
+
692
+ 2010-09-18 KUBO Takehiro <kubo@jiubao.org>
693
+ * ext/oci8/win32.c: undefine boolean to pass compilation on
694
+ Cygwin. (reported by Don Hill).
695
+ * lib/oci8/encoding-init.rb, lib/oci8/encoding.yml: add a
696
+ mapping from ZHT16HKSCS to Big5-HKSCS when the latter
697
+ is available in ruby.
698
+
699
+ 2010-09-12 KUBO Takehiro <kubo@jiubao.org>
700
+ * ext/oci8/env.c, ext/oci8/extconf.rb: suppress warning
701
+ 'use "ruby/util.h" instead of bare "util.h".'
702
+ * test/test_break.rb: make tests insensitive to execution timing.
703
+
704
+ 2010-09-10 KUBO Takehiro <kubo@jiubao.org>
705
+ * test/test_array_dml.rb: delete workaround code. It now works
706
+ fine on rubinius head.
707
+
708
+ 2010-09-07 KUBO Takehiro <kubo@jiubao.org>
709
+ * ext/oci8/extconf.rb, ext/oci8/oci8lib.c: Don't use
710
+ rb_set_end_proc() when it isn't available.
711
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: add RUBY_ENGINE to
712
+ the C extension library name when RUBY_ENGINE is not "ruby."
713
+ * ext/oci8/oci8.c: fix for ruby 1.8.
714
+ * test/test_clob.rb: change a temporarily used table name for test
715
+ from 'test_clob' to 'test_table.'
716
+ * test/test_metadata.rb: delete ruby 1.9 feature to work on ruby 1.8.
717
+ * test/config.rb: add a support function 'drop_type' for future test
718
+ cases.
719
+ * test/test_array_dml.rb: skip test_array_insert1 on rubinius.
720
+ This will be enabled after the rubinius issue #445 is fixed.
721
+
722
+ 2010-09-05 KUBO Takehiro <kubo@jiubao.org>
723
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
724
+ ext/oci8/ocinumber.c: use rb_intern() to retrieve IDs of '+', '-',
725
+ '*' and '/' on rubinus.
726
+ * ext/oci8/oradate.c: use rb_call_super() instead of
727
+ rb_obj_init_copy(), which is not declared in rubinus.
728
+
729
+ 2010-08-28 KUBO Takehiro <kubo@jiubao.org>
730
+ * ext/oci8/env.c: fix for rubinius.
731
+
732
+ 2010-08-28 KUBO Takehiro <kubo@jiubao.org>
733
+ * ext/oci8/env.c, ext/oci8/error.c, ext/oci8/extconf.rb, ext/oci8/oci8.c,
734
+ ext/oci8/oci8.h, oci8/oci8lib.c, ext/oci8/ocinumber.c: fix for rubinius.
735
+ Note that this is not enough to compile ruby-oci8 on it.
736
+
737
+ 2010-08-23 KUBO Takehiro <kubo@jiubao.org>
738
+ * lib/oci8/object.rb: fix an error when SDO_GEOMETRY is used
739
+ and $VERBOSE is set.
740
+ * test/test_metadata.rb: (1) fix errors caused by String + Symbol.
741
+ They worked on ruby 1.9.2 but not on 1.8.7 and 1.9.2.
742
+ (2) replace "assert_equal(class, object.class)" with
743
+ "assert_instance_of(class, object)."
744
+ * test/test_oranumber.rb: change a testcase for ruby 1.9.2.
745
+ Math::atan2(0, 0) behaviour was changed in 1.9.2.
746
+
747
+ 2010-08-15 KUBO Takehiro <kubo@jiubao.org>
748
+ * ext/oci8/lob.c, ext/oci8/object.c, ext/oci8/oci8.h,
749
+ lib/oci8/object.rb: support LOB datatypes in Oracle objects.
750
+ (reported by Michael Sexton)
751
+ * ext/oci8/ocihandle.c: fix SEGV in finalizer when temporary LOBs
752
+ are used. This bug was introduced by the previous commit.
753
+
754
+ 2010-08-15 KUBO Takehiro <kubo@jiubao.org>
755
+ * ext/oci8/apiwrap.yml, ext/oci8/lob.c: fix memory leak when temporary
756
+ lobs are used.
757
+
758
+ 2010-06-15 KUBO Takehiro <kubo@jiubao.org>
759
+ * lib/oci8/metadata.rb: rename OCI8::Metadata::Column#type_string
760
+ to #data_type_string and add an alias from the former to the
761
+ latter. fix a return value of OCI8::Metadata::Column#data_type_string
762
+ of REF datatype.
763
+ * test/test_metadata.rb: rename a test method test_metadata to
764
+ test_column_metadata and do refactoring to make test data
765
+ reusable for other metadata classes in future.
766
+
767
+ 2010-06-13 KUBO Takehiro <kubo@jiubao.org>
768
+ * ext/oci8/metadata.c: fix a private method
769
+ OCI8::Metadata::Base#__param to return nil when the specified
770
+ attribute is NULL.
771
+ * lib/oci8/metadata.rb: add rdoc comment of OCI8::Metadata::Type
772
+ and fix other typos. change OCI8::Metadata::Schema#all_objects
773
+ not to raise "ORA-24372: invalid object for describe" by
774
+ invalid objects.
775
+ * test/test_metadata.rb: add tests for OCI8::Metadata::Type.
776
+
777
+ 2010-06-11 KUBO Takehiro <kubo@jiubao.org>
778
+ * lib/oci8/metadata.rb: rename OCI8::Metabase::ProcBase to
779
+ OCI8::Metabase::Subprogram, add #is_standalone? and change
780
+ #obj_id, #obj_name and #obj_schema to work for packaged
781
+ subprograms. Fix rdoc comments.
782
+ * test/test_metadata.rb: add tests for OCI8::Metadata::Function,
783
+ OCI8::Metadata::Procedure and OCI8::Metadata::Package.
784
+
785
+ 2010-06-10 KUBO Takehiro <kubo@jiubao.org>
786
+ * lib/oci8/metadata.rb: revice rdoc comments of OCI8::Metadata::Table
787
+ and OCI8::Metadata::View and delete some unavailable methods
788
+ of OCI8::Metadata::View.
789
+ * test/test_metadata.rb: add tests for OCI8::Metadata::Table and
790
+ OCI8::Metadata::View.
791
+ * README: change the description about the privilege to run tests.
792
+ 'create view' privilege is needed to test OCI8::Metadata::View.
793
+
794
+ 2010-06-01 KUBO Takehiro <kubo@jiubao.org>
795
+ * ext/oci8/extconf.rb, ext/oci8/oci8.c, lib/oci8.rb.in: move
796
+ the location where OCI8::VERSION is defined from oci8.rb to
797
+ oci8lib_*.so. Add code to check the version of oci8.rb and
798
+ oci8lib_*.so.
799
+ * test/test_clob.rb: create test_clob table while executing
800
+ tests.
801
+ * README: delete the instruction to create test_clob before
802
+ executing tests.
803
+
804
+ 2010-05-17 KUBO Takehiro <kubo@jiubao.org>
805
+ * ext/oci8/metadata.c: delete OCI8::Metadata::Base's methods which
806
+ get and set OCI handle attributes.
807
+ * ext/oci8/ocihandle.c: add OCIHandle#attr_get_oradate.
808
+ * lib/oci8/metadata.rb: use OCIHandle#attr_get_* instead of
809
+ obsolete OCI8::Metadata::Base#__*.
810
+
811
+ 2010-05-07 KUBO Takehiro <kubo@jiubao.org>
812
+ * dist-files, ext/oci8/.document, ext/oci8/apiwrap.yml,
813
+ ext/oci8/connection_pool.c, ext/oci8/extconf.rb,ext/oci8/oci8.c,
814
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c, lib/oci8.rb.in,
815
+ lib/oci8/.document, lib/oci8/connection_pool.rb, lib/oci8/oci8.rb,
816
+ lib/oci8/ocihandle.rb: add a new feature OCI8::ConnectionPool.
817
+
818
+ 2010-05-04 KUBO Takehiro <kubo@jiubao.org>
819
+ * ext/oci8/bind.c: fix a bug that a string is bound to RAW,
820
+ its encoding was convertd to OCI.encoding.
821
+ * ext/oci8/encoding.c: delete an unused strcuture.
822
+ * ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/ocihandle.c,
823
+ lib/oci8/oci8.rb: do refactering to make it easy to
824
+ implement new authentication features.
825
+ * lib/oci8.rb.in, lib/oci8/metadata.rb, lib/oci8/ocihandle.rb:
826
+ move constant definitions from metadata.rb to ocihandle.rb.
827
+
828
+ 2010-05-03 KUBO Takehiro <kubo@jiubao.org>
829
+ * ext/oci8/bind.c, ext/oci8/oci8.h, lib/oci8/bindtype.rb:
830
+ change the length semantics from byte to char for string
831
+ bind variables when the Oracle client is 9i or upper.
832
+
833
+ 2010-05-02 KUBO Takehiro <kubo@jiubao.org>
834
+ * lib/oci8/encoding-init.rb: fix for zero-length NLS_LANG.
835
+ fix AL32UTF8's nls_ratio.
836
+ * ext/oci8/stmt.c: fix SEGV when an exception is raised in
837
+ post_bind_hook().
838
+
839
+ 2010-04-27 KUBO Takehiro <kubo@jiubao.org>
840
+ * ext/oci8/lob.c, ext/oci8/object.c, ext/oci8/oci8.h,
841
+ ext/oci8/stmt.c: refactor code to prepare character length
842
+ semantics support.
843
+
844
+ 2010-04-27 KUBO Takehiro <kubo@jiubao.org>
845
+ * ext/oci8/encoding.c: add new methods OCI8.nls_ratio
846
+ and OCI8.nls_ratio=. Comments for rdoc are added and
847
+ revised for OCI8#charset_name2id, OCI8#charset_name2id=,
848
+ OCI8.encoding and OCI8.encoding=.
849
+ * lib/oci8.rb.in, lib/oci8/encoding-init.rb: set
850
+ OCI8.nls_ratio on initialization.
851
+
852
+ 2010-04-23 KUBO Takehiro <kubo@jiubao.org>
853
+ * ext/oci8/oranumber_util.c, test/test_oranumber.rb:
854
+ add limitted support for OraNumber's positive and negative
855
+ infinity. They are converted to '~' and '-~' respectively
856
+ as described in <URL:http://www.ixora.com.au/notes/infinity.htm>.
857
+
858
+ 2010-04-23 KUBO Takehiro <kubo@jiubao.org>
859
+ * Makefile: fix wrong dependencies in Makefile when running
860
+ 'make -jNNN (where NNN >= 2)'
861
+ (contributed by Alyano Alyanos. See bug #28129 on rubyforge.)
862
+
863
+ 2010-03-07 KUBO Takehiro <kubo@jiubao.org>
864
+ * ext/oci8/ocinumber.c: fix to compile on HP-UX.
865
+ Duplicate const qualifiers prevented HP-UX cc from compiling.
866
+ (reported by Sebastian YEPES)
867
+
868
+ 2010-02-28 KUBO Takehiro <kubo@jiubao.org>
869
+ * NEWS: add changes between 2.0.3 and 2.0.4.
870
+ * VERSION: change the version to 2.0.4.
871
+ * ext/oci8/stmt.c: fix segmentation fault when OCI8::Cursor#fetch
872
+ is called prior to OCI8::Cursor#exec.
873
+ * ext/oci8/oci8.c: minor fix in rdoc comment.
874
+
875
+ 2010-02-27 KUBO Takehiro <kubo@jiubao.org>
876
+ * lib/oci8/datetime.rb: fix a problem that fractional seconds are lost
877
+ when Time value is bound to TIMESTAMP.
878
+ (reported by Raimonds Simanovskis)
879
+
880
+ 2010-02-27 KUBO Takehiro <kubo@jiubao.org>
881
+ * ext/oci8/error.c, ext/oci8/extconf.rb, ext/oci8/oci8.h: fix for
882
+ old Oracle versions, which lack declarations of OCIMsg, oraub8,
883
+ orasb8 and OCI_DURATION_PROCESS.
884
+ * ext/oci8/ocihandle.c: fix for mingw compiler.
885
+
886
+ 2010-02-27 KUBO Takehiro <kubo@jiubao.org>
887
+ * ext/oci8/apiwrap.yml, ext/oci8/error.c, ext/oci8/oci8.h,
888
+ ext/oci8/ocinumber.c: fix for Oracle 8.0 client, which doesn't
889
+ have OCIMessageOpen() and OCIMessageGet().
890
+ * ext/oci8/oci8.c: add a new method OCI8.error_message to get
891
+ a error message which depends on NLS_LANGUAGE.
892
+
893
+ 2010-02-09 KUBO Takehiro <kubo@jiubao.org>
894
+ * dist-files: add ext/oci8/oranumber_util.c and
895
+ ext/oci8/oranumber_util.h.
896
+ (reported by Raimonds Simanovskis)
897
+
898
+ 2010-02-07 KUBO Takehiro <kubo@jiubao.org>
899
+ * ext/oci8/ocinumber.c, ext/oci8/oranumber_util.c,
900
+ ext/oci8/oranumber_util.h: change the declaration of
901
+ oranumber_to_str() to prevent buffer overflow by
902
+ unexpected invalid Oracle number internal data.
903
+
904
+ 2010-02-07 KUBO Takehiro <kubo@jiubao.org>
905
+ * ext/oci8/error.c, ext/oci8/oci8.h: add oci8_raise_by_msgno()
906
+ to retrieve a Oracle error message which depends on NLS_LANGUAGE.
907
+ * ext/oci8/oranumber_util.c, ext/oci8/oranumber_util.h,
908
+ ext/oci8/extconf.rb: add handwritten conversion functions from
909
+ OCINumber internal representation to string and vice versa.
910
+ * ext/oci8/ocinumber.c: 1. use handwritten conversion functions
911
+ instead of OCI functions to convert OraNumber to string
912
+ and vice varse. 2. add OraNumber#dump.
913
+ * test/test_oranumber.rb: add test cases to check conversion from
914
+ OraNumber to string and vice varse.
915
+
916
+ 2010-02-02 KUBO Takehiro <kubo@jiubao.org>
917
+ * ext/oci8/ocinumber.c: fix to support NUMBERS with scale larger
918
+ than 38 by using scientific number notation to convert OraNumber
919
+ to BigDecimal. OraNumber#to_i is also fixed.
920
+ (reported by Raimonds Simanovskis)
921
+
922
+ 2010-01-24 KUBO Takehiro <kubo@jiubao.org>
923
+ * ext/oci8/error.c: Use OCIErrorGet() to retrieve the error message
924
+ when the OCI return code is OCI_NO_DATA.
925
+ (reported by Raimonds Simanovskis)
926
+
927
+ 2009-12-06 KUBO Takehiro <kubo@jiubao.org>
928
+ * ext/oci8/object.c: 1. fix segv when GC starts while initializing
929
+ a bind object for object type. (reported by Remi Gagnon)
930
+ 2. fix memory leak about 30 bytes per one bind object for object
931
+ type.
932
+
933
+ 2009-11-03 KUBO Takehiro <kubo@jiubao.org>
934
+ * ext/oci8/object.c: fix segv when binding a collection of string.
935
+ (reported by Raimonds Simanovskis)
936
+
937
+ 2009-10-26 KUBO Takehiro <kubo@jiubao.org>
938
+ * NEW: fix typo.
939
+ * dist-files, ext/oci8/.document: add ocihandle.c.
940
+ * ext/oci8/ocihandle.c: add private methods OCIHandle#attr_get_*,
941
+ OCIHandle#attr_set_* and their rdoc comments.
942
+
943
+ 2009-10-23 KUBO Takehiro <kubo@jiubao.org>
944
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
945
+ ext/oci8/ocihandle.c: add ocihandle.c and move OCIHandle
946
+ definitions from oci8lib.c to the file.
947
+
948
+ 2009-10-21 KUBO Takehiro <kubo@jiubao.org>
949
+ * NEWS: add changes between 2.0.2 and 2.0.3.
950
+ * VERSION, Makefile: change the version to 2.0.3.
951
+ * ext/oci8/oci8.c: fix typo.
952
+ * ext/oci8/apiwrap.yml: add OCIIntervalFromText() prototype.
953
+
954
+ 2009-10-18 KUBO Takehiro <kubo@jiubao.org>
955
+ * ext/oci8/ocidatetime.c: Add workarounds for Oracle 9.2.0.1.
956
+ * lib/oci8/datetime.rb: Change the unit of OCI8::BindType::IntervalDS
957
+ from day to second. Add OCI8::BindType::IntervalDS.unit and
958
+ OCI8::BindType::IntervalDS.unit=.
959
+ * test/test_datetime.rb: Fix tests for the above changes.
960
+
961
+ 2009-10-17 KUBO Takehiro <kubo@jiubao.org>
962
+ * ext/oci8/oci8.c: Add a workaround for Oracle 9.2.0.1 when clearing
963
+ a client identifier.
964
+ * ext/oci8/oci8lib.c: Fix a segv when canceling a non-blocking
965
+ execution.
966
+ * test_appinfo.rb: Fix temporarily to prevent a segmentation fault
967
+ under Oracle 9.2.0.1.
968
+ * test/test_oci8.rb: Fix temporarily to prevent a segmentation fault
969
+ under Oracle 9.2.0.1. Fix for BigDecimal bundled in ruby 1.8.5.
970
+ * test/test_oranumber.rb: Fix for Oracle 9.2. Comparing float values
971
+ by <=> is too sensitive to use it in tests.
972
+
973
+ 2009-10-06 KUBO Takehiro <kubo@jiubao.org>
974
+ * ext/oci8/ocinumber.c: Add a global function OraNumber(obj) as a
975
+ shortcut of OraNumber.new(obj) as Rational and BigDecimal do.
976
+ Changes the return type of the four rules of arithmetic;
977
+ addition, subtraction, multiplication and division. It was
978
+ OraNumber, but now it depends on the operand.
979
+ * lib/oci8/bindtype.rb: Add OCI8::BindType::BigDecimal and
980
+ OCI8::BindType::Rational. Change the default data type for
981
+ number column which fit neither Integer nor Float from
982
+ OraNumber to BigDecimal.
983
+ * lib/oci8/oci8.rb: Fix for OCI8::BindType::Mapping to accept
984
+ a class name instead of the class object to support
985
+ OCI8::BindType::BigDecimal and OCI8::BindType::Rational without
986
+ requiring 'bigdecimal' and 'rational'.
987
+ * spec/oranumber_spec.rb: Add a spec file for OraNumber arithmetic.
988
+ * test/test_oci8.rb: Add tests for OCI8::BindType::BigDecimal and
989
+ OCI8::BindType::Rational.
990
+
991
+ 2009-10-04 KUBO Takehiro <kubo@jiubao.org>
992
+ * ext/oci8/oci8.c: Add constants missing in Oracle client prior to 10g.
993
+ * ext/oci8/oraconf.rb:
994
+ 1. Fix for ruby 1.8.5 with Oracle 8.x which needs some object
995
+ files to link with.
996
+ (reported by Jayson Cena)
997
+ 2. Revise the error message under the sudo environemnt.
998
+ 3. Print not only error message but also the error backtrace when
999
+ oraconf.rb fails.
1000
+ * lib/oci8/object.rb: Fix to accept nil attribute in object type's
1001
+ constructors. This works only for simple data types such as number,
1002
+ string. But it doesn't for complex types such as object types.
1003
+ (requested by Remi Gagnon)
1004
+ * spec/object_type_spec.rb: Add a test for object type's constructors.
1005
+
1006
+ 2009-09-22 KUBO Takehiro <kubo@jiubao.org>
1007
+ * lib/oci8/.document, lib/oci8/datetime.rb: 1. Add
1008
+ OCI8::BindType.default_timezone and OCI8::BindType.default_timezone=.
1009
+ 2. Change the logic to convert to Time and DateTime to adapt DST.
1010
+ 3. Use new features of Time class in ruby 1.9.2 if they are available.
1011
+ 4. Add rdoc comments.
1012
+ * spec/fetch_datetime8_spec.rb, spec/fetch_datetime_spec.rb,
1013
+ spec/fetch_time8_spec.rb, spec/fetch_time_spec.rb,
1014
+ spec/spec_helper.rb: Add tests for OCI8::BindType::DateTime and
1015
+ OCI8::BindType::Time.
1016
+
1017
+ 2009-09-13 KUBO Takehiro <kubo@jiubao.org>
1018
+ * ext/oci8/lob.c, ext/oci8/oci8.h, test/test_clob.rb: Change
1019
+ OCI8::LOB#write to accept an object which is not a String and
1020
+ doesn't respond to 'to_str' as IO#write does.
1021
+ (requested by Christopher Jones)
1022
+
1023
+ 2009-09-12 KUBO Takehiro <kubo@jiubao.org>
1024
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: Fixed for ruby 1.9.2 preview1.
1025
+ (pointed by Raimonds Simanovskis)
1026
+
1027
+ 2009-09-12 KUBO Takehiro <kubo@jiubao.org>
1028
+ * ext/oci8/oraconf.rb: Fixed to compile for AIX instant clients.
1029
+ (reported by Kazuya Teramoto)
1030
+
1031
+ 2009-06-09 KUBO Takehiro <kubo@jiubao.org>
1032
+ * ext/oci8/oci8lib.c: Change the initial polling interval of
1033
+ non-blocking mode for ruby 1.8 from 100 msec to 10 msec, which
1034
+ is same with ruby-oci8 1.0.
1035
+ * ext/oci8/oci8.c: Change the default setting of non-blocking mode
1036
+ for ruby 1.9 to true. Revise rdoc comments.
1037
+
1038
+ 2009-06-07 KUBO Takehiro <kubo@jiubao.org>
1039
+ * ext/oci8/oci8.c: revise rdoc comments.
1040
+
1041
+ 2009-06-05 KUBO Takehiro <kubo@jiubao.org>
1042
+ * Makefile: check rdoc version when making rdoc documentation.
1043
+ The rdoc version must be 2.4.
1044
+ * ext/oci8/.document, ext/oci8/oci8.c, lib/.document,
1045
+ lib/oci8/.document, lib/oci8/oci8.rb: fix rdoc comments a bit.
1046
+
1047
+ 2009-05-24 KUBO Takehiro <kubo@jiubao.org>
1048
+ * ext/oci8/object.c, lib/oci8/datetime.rb, lib/oci8/object.rb:
1049
+ add DATE datatype support in object types.
1050
+
1051
+ 2009-05-19 KUBO Takehiro <kubo@jiubao.org>
1052
+ * ext/oci8/bind.c: delete OCI8::BindType::Fixnum.
1053
+ * lib/oci8/compat.rb: add OCI8::BindType::Fixnum as an alias
1054
+ of OCI8::BindType::Integer.
1055
+ * ext/oci8/extconf.rb: change extconf.rb's argument value of
1056
+ '--with-oracle-version' to accept dotted version such as
1057
+ '9.2.0.'
1058
+ * ext/oci8/oraconf.rb: When extconf.rb fails and it is run
1059
+ by sudo command, change the error message to notice that
1060
+ 'sudo' may unset environment variables.
1061
+
1062
+ 2009-05-18 KUBO Takehiro <kubo@jiubao.org>
1063
+ * ext/oci8/oci8.c: revise rdoc comments for OCI8#ping and
1064
+ OCI8#client_identifier=. Add OCI8#module=, OCI8#action= and
1065
+ OCI8#client_info.
1066
+ * test/test_appinfo.rb: add test cases for OCI8#module=,
1067
+ OCI8#action= and OCI8#client_info.
1068
+
1069
+ 2009-05-17 KUBO Takehiro <kubo@jiubao.org>
1070
+ * NEWS: add changes between 2.0.1 and 2.0.2.
1071
+ * VERSION: change version to 2.0.2.
1072
+ * dist-files: append newly added files.
1073
+ * ext/oci8/oci8.c: fix OCI8#ping not to raise an exception
1074
+ when OCIPing() failed. It should returns true or false.
1075
+ * ext/oci8/oci8lib.c: Memory allocated by xmalloc() should be
1076
+ freed by xfree().
1077
+
1078
+ 2009-05-17 KUBO Takehiro <kubo@jiubao.org>
1079
+ * ext/oci8/error.c, ext/oci8/extconf.rb, ext/oci8/oci8.h:
1080
+ fix the native library name in error messages from oci8lib.so
1081
+ to oci8lib_18.so or oci8lib_191.so.
1082
+ * ext/oci8/ocinumber.c, test/test_oranumber.rb: fix OraNumber.new
1083
+ to accept BigDecimal and Rational.
1084
+ * ext/oci8/bind.c, test/test_oci8.rb: implicitly convert the
1085
+ specified number to Float when the bind handle is for Float.
1086
+ * ext/oci8/attr.c: fix for Oracle client which doesn't have
1087
+ OCIRowidToChar().
1088
+ * ext/oci8/oci8.c, test/test_appinfo.rb, test/test_all.rb, dist-files:
1089
+ add new methods OCI8#ping and OCI8#client_identifier=.
1090
+ add test cases.
1091
+ * ext/oci8/oci8lib.c: fix a bug for Oracle 8.0.
1092
+ * lib/oci8/oci8.rb: add a convenient method OCI8#select_one
1093
+ to fetch one row.
1094
+
1095
+ 2009-04-18 KUBO Takehiro <kubo@jiubao.org>
1096
+ * lib/oci8/oci8.rb: move OCI8::BindType module to bindtype.rb.
1097
+ * lib/oci8/bindtype.rb: added. This defines OCI8::BindType.
1098
+ * lib/oci8.rb.in: require 'oci8/bindtype.rb'
1099
+
1100
+ 2009-04-17 KUBO Takehiro <kubo@jiubao.org>
1101
+ * ext/oci8/encoding.c, ext/oci8/lob.c, ext/oci8/metadata.c,
1102
+ ext/oci8/oci8.c: suppress "warning C4761: integral size mismatch
1103
+ in argument; conversion supplied" when compiled by Visual C++.
1104
+
1105
+ 2009-04-17 KUBO Takehiro <kubo@jiubao.org>
1106
+ * ext/oci8/apiwrap.yml, ext/oci8/env.c, ext/oci8/extconf.rb,
1107
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c: OCIEnv is initialized
1108
+ when it is needed. This makes a basis to enable an event
1109
+ notification after "require 'oci8'."
1110
+ * test/test_all.rb: fix a bug added four days ago.
1111
+
1112
+ 2009-04-14 KUBO Takehiro <kubo@jiubao.org>
1113
+ * ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/ocinumber.c,
1114
+ ext/oci8/metadata.c, ext/oci8/object.c: pass an OCIError to
1115
+ OraNumber functions if it can. (This is the first step to
1116
+ delay OCIEnv initialization.)
1117
+
1118
+ 2009-04-14 KUBO Takehiro <kubo@jiubao.org>
1119
+ * ext/oci8/oraconf.rb: Gets ORACLE_HOME from the Windows regitry
1120
+ by enumerating subkeys of \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE.
1121
+
1122
+ 2009-04-12 KUBO Takehiro <kubo@jiubao.org>
1123
+ * lib/oci8/oci8.rb, test/test_encoding.rb: The string bind length should
1124
+ be got from the string bytesize converted to OCI8.encoding.
1125
+
1126
+ 2009-04-12 KUBO Takehiro <kubo@jiubao.org>
1127
+ * ext/oci8/lob.c: OCI8::BLOB#read should return ASCII-8BIT.
1128
+ OCI8::BLOB#write should not convert the specified string
1129
+ to OCI8.encoding.
1130
+ * test/test_dbi.rb: suppress warning: "shadowing outer local
1131
+ variable - i"
1132
+ * test/test_all.rb, test/test_encoding.rb: add string encoding
1133
+ tests.
1134
+
1135
+ 2009-04-12 KUBO Takehiro <kubo@jiubao.org>
1136
+ * lib/dbd/OCI8.rb: fix DBI::DBD::OCI8::BindType::DBIStatementHandle
1137
+ to pass a newly added sanity check in dbi 0.4.1.
1138
+ (reported by Dirk Herzhauser)
1139
+ * test/test_all.rb: fix to use dbi installed as a rubygem.
1140
+
1141
+ 2009-04-04 KUBO Takehiro <kubo@jiubao.org>
1142
+ * ext/oci8/bind.c: fix an error when executing "select NULL from dual".
1143
+ http://rubyforge.org/forum/forum.php?thread_id=32468&forum_id=1078
1144
+ (contributed by Raimonds Simanovskis)
1145
+
1146
+ 2009-03-24 KUBO Takehiro <kubo@jiubao.org>
1147
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/oraconf.rb:
1148
+ fix a problem when compiling with Oracle 8.0.
1149
+ (reported by Axel Reinhold)
1150
+
1151
+ 2009-03-24 KUBO Takehiro <kubo@jiubao.org>
1152
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h: fix a problem when
1153
+ compiling with Oracle 9.2.
1154
+ (reported by Axel Reinhold)
1155
+ * ext/oci8/apiwrap.yml: suppres warnings 'discards qualifiers
1156
+ from pointer target type' when compiling with Oracle 8i.
1157
+
1158
+ 2009-03-17 KUBO Takehiro <kubo@jiubao.org>
1159
+ * NEWS: add a new file.
1160
+ * VERSION: change version to 2.0.1.
1161
+ * Makefile: add targets to make a binary gem for Windows.
1162
+ * dist-files: add NEWS
1163
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: rename oci8lib.so
1164
+ to oci8lib_18.so and oci8lib_191.so. The renamed name
1165
+ depends on the ruby version.
1166
+ * lib/oci8/datetime.rb: fix the fetched type for date column
1167
+ when using Oracle 8.x.
1168
+ * ruby-oci8.gemspec: fix to make a binary gem which contains
1169
+ both oci8lib_18.so and oci8lib_191.so.
1170
+
1171
+ 2009-03-17 KUBO Takehiro <kubo@jiubao.org>
1172
+ * ext/oci8/apiwrap.yml: add prototypes for OCIServerVersion() and
1173
+ OCIServerRelease().
1174
+ * ext/oci8/oci8.c: (1) add a private method OCI8#oracle_server_vernum,
1175
+ which returns Oracle server version number.
1176
+ (2) fix a class method OCI8.oracle_client_vernum when using Oracle
1177
+ client 10.1 or lower.
1178
+ * lib/oci8/datetime.rb: fix year information when fetching a date
1179
+ whose year is between A.D. 1 and A.D. 139.
1180
+ * lib/oci8/oci8.rb: (1) add OCI8#oracle_server_version.
1181
+ * (2) change the default data type for timestamp with time zone
1182
+ from DateTime to Time.
1183
+
1184
+ 2009-03-11 KUBO Takehiro <kubo@jiubao.org>
1185
+ * oraconf.rb: fix big/little endian checking problem on Mac OS X ppc.
1186
+ (contributed by unknown. See: Bug ID 24284 on rubyforge.)
1187
+
1188
+ 2009-02-15 KUBO Takehiro <kubo@jiubao.org>
1189
+ * ext/oci8/ocidatetime.c: fix array DML and DateTime object problem.
1190
+ OCI8::Cursor#bind_param_array(key, array_of_datetime) didn't
1191
+ work. (Reported by Leoš Bitto)
1192
+ * test/test_array_dml.rb: fix to test array DML and DateTime object.
1193
+
1194
+ 2009-02-10 KUBO Takehiro <kubo@jiubao.org>
1195
+ * ext/oci8/bind.c, ext/oci8/oci8.h, ext/oci8/stmt.c: fix array DML
1196
+ and DateTime object problem. It didn't work with bind classes
1197
+ which overwrite 'set' and 'get'. (Reported by Leoš Bitto)
1198
+ * test/test_array_dml.rb: fix to test array DML and DateTime object.
1199
+
1200
+ 2009-02-08 KUBO Takehiro <kubo@jiubao.org>
1201
+ * VERSION: change version from 2.0-svn to 2.0.0 to pass ruby
1202
+ gem's version string validator.
1203
+ * ruby-oci8.gemspec: added.
1204
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
1205
+ ext/oci8/win32.c: 1. add OCI8::Win32Util.dll_path to
1206
+ retrieve Oracle home location from the OCI.DLL location.
1207
+ 2. add OCI8::Win32Util.enum_homes to get Oracle home and
1208
+ NLS_LANG pairs in Windows registry.
1209
+ * lib/oci8/encoding-init.rb: get NLS_LANG from Windows registry
1210
+ if environment variable NLS_LANG is not set.
1211
+ * ext/oci8/oraconf.rb: Change the output encoding of sqlplus to
1212
+ US7ASCII by setting NLS_LANG. If the output encoding is
1213
+ incompatible with the default external encoding, it raises
1214
+ 'invalid byte sequence' when using ruby 1.9.
1215
+ * lib/oci8/datetime.rb: fix for ruby 1.9. Ruby 1.9 Time
1216
+ class's resolution is nanosecond.
1217
+ * dist-files: add dist-files, ruby-oci8.gemspec and ext/oci8/win32.c.
1218
+
1219
+ 2009-02-06 KUBO Takehiro <kubo@jiubao.org>
1220
+ * setup.rb: 1. install lib/**/*.yml flies also.
1221
+ (It is pointed by Nate Wiger that encoding.yml is not installed.)
1222
+ 2. exclude .svn or .git directories on installation.
1223
+ * lib/oci8/oci8.rb: A private method define_a_column was renamed
1224
+ to define_one_column to prevent activerecord oracle adapter
1225
+ and oracle enhanced adapter from redefining the method.
1226
+ * dist-files: add newly added file names which must be included
1227
+ in gem or tar.gz packages.
1228
+
1229
+ 2009-02-01 KUBO Takehiro <kubo@jiubao.org>
1230
+ * lib/dbd/OCI8.rb: add code for ruby-dbi 0.4 type conversion.
1231
+ * test/test_dbi.rb: suppress deprecated warnings while running
1232
+ test_bind_dbi_data_type.
1233
+ * test/test_dbi_clob.rb: fix a problem when running this
1234
+ file directly.
1235
+
1236
+ 2009-01-31 KUBO Takehiro <kubo@jiubao.org>
1237
+ * ext/oci8/oraconf.rb: fix for Oracle 11.1.0.7.0 instant
1238
+ client rpm package. The directory tree is a bit different
1239
+ with that of 11.1.0.6.0 or earlier.
1240
+ (reported by Luis Parravicini.)
1241
+
1242
+ 2009-01-31 KUBO Takehiro <kubo@jiubao.org>
1243
+ * lib/DBD/OCI8/OCI8.rb: renamed to lib/dbd/OCI8.rb.
1244
+ * lib/dbd/OCI8.rb: 1. renamed from lib/DBD/OCI8/OCI8.rb
1245
+ 2. fix USED_DBD_VERSION from 0.2 to 0.4.
1246
+ 3. add DBI::DBD::OCI8.driver_name
1247
+ (changes for ruby-dbi 0.4 contributed by James Cao.)
1248
+
1249
+ 2009-01-13 KUBO Takehiro <kubo@jiubao.org>
1250
+ * lib/oci8.rb.in, lib/oci8/encoding-init.rb: (ruby 1.9) set
1251
+ OCI8.encoding by querying NLS_LANG. If DEFAULT_OCI8_ENCODING
1252
+ is defined, use it by default.
1253
+ * lib/oci8/encoding.yml: (ruby 1.9) add a new file containing
1254
+ mapping table from Oracle characterset name to Ruby encoding
1255
+ name.
1256
+
1257
+ 2009-01-11 KUBO Takehiro <kubo@jiubao.org>
1258
+ * ext/oci8/encoding.c: (ruby 1.9) add OCI8.encoding and
1259
+ OCI8.encoding= to get and set the encoding of the Oracle
1260
+ library.
1261
+ * ext/oci8/oci8.h: (ruby 1.9) add macros OCI8StringValue
1262
+ and OCI8SafeStringValue which convert the string encoding
1263
+ to Oracle librarie's encoding.
1264
+ * ext/oci8/oci8.c: OCI8.new raise a SecurityError when specified
1265
+ connect string is tainted and $SAFE >= 1.
1266
+ * ext/oci8/stmt.c: OCI8#parse raise a SecurityError when specified
1267
+ SQL statemenet is tainted and $SAFE >= 1.
1268
+ * ext/oci8/metadata.c: OCI8#describe_* raise a SecurityError
1269
+ when the object name to be described is tainted and $SAFE >= 1.
1270
+ * ext/oci8/lob.c: OCI8::BFILE.new, OCI8::BFILE#dir_alias= and
1271
+ OCI8::BFILE#filename= raise a SecurityError when specified
1272
+ dir_alias or filename is tainted and $SAFE >= 1.
1273
+ * ext/oci8/attr.c, ext/oci8/bind.c, ext/oci8/error.c,
1274
+ ext/oci8/object.c, ext/oci8/oci8lib.c, ext/oci8/ocinumber.c:
1275
+ (ruby 1.9) converts encoding from/to OCI.encoding.
1276
+
1277
+ 2009-01-11 KUBO Takehiro <kubo@jiubao.org>
1278
+ * ext/oci8/lob.c: concatenate read data at the end, instead of
1279
+ appending them for each pieces when reading LOB data.
1280
+ * test/test_oranumber.rb: fix for ruby 1.9.
1281
+
1282
+ 2009-01-04 KUBO Takehiro <kubo@jiubao.org>
1283
+ * ext/oci8/oci8.c: delete OCI8.oracle_client_version implemented
1284
+ in C. add OCI8.oracle_client_vernum whose value is retrieved
1285
+ by OCIClientVersion() if Oracle 10.2 or upper.
1286
+ * ext/oci8/oci8.h: add macro rb_define_singleton_method_nodoc,
1287
+ which prevents rdoc from gathering the specified method.
1288
+ * lib/.document, lib/oci8/.document: add lib/oci8.rb and
1289
+ lib/oci8/oracle_version.rb to rdoc targets.
1290
+ * lib/oci8.rb.in, lib/oci8/oracle_version.rb: add
1291
+ OCI8::OracleVersion OCI8.oracle_client_version.
1292
+ * test/config.rb: change version checking code to use
1293
+ OCI8::OracleVersion.
1294
+ * test/test_all.rb, test/test_oracle_version.rb: add test cases
1295
+ of OCI8::OracleVersion.
1296
+
1297
+ 2009-01-03 KUBO Takehiro <kubo@jiubao.org>
1298
+ * ext/oci8/encoding.c, ext/oci8/error.c, ext/oci8/ocinumber.c,
1299
+ ext/oci8/oradate.c: use rb_usascii_str_new() or
1300
+ rb_usascii_str_new_cstr() when its encoding is always
1301
+ us-ascii.
1302
+ * ext/oci8/extconf.rb: add type checking for rb_encoding
1303
+ for ruby 1.9.
1304
+ * ext/oci8/oci8.h: use rb_str_new(), rb_str_new2() and
1305
+ rb_tainted_str_new() if rb_usascii_str_new(),
1306
+ rb_usascii_str_new_cstr() and rb_external_str_new_with_enc()
1307
+ are not usable.
1308
+ * ext/oci8/oci8lib.c: use ORAVERNUM macro.
1309
+
1310
+ 2009-01-03 KUBO Takehiro <kubo@jiubao.org>
1311
+ * custom-rdoc.rb: fix for rdoc bundled with ruby 1.9.
1312
+ * ext/oci8/apiwrap.yml, ext/oci8/oci8lib.c: set the value of
1313
+ OCI8.oracle_client_version by OCIClientVersion() if
1314
+ the binary is configured with --with-runtime-check and
1315
+ the Oracle client is 10.2 or upper.
1316
+ * test/test_oranumber.rb: disable workaround code when
1317
+ the Oracle client is 10.2.0.4 or upper.
1318
+
1319
+ 2008-12-30 KUBO Takehiro <kubo@jiubao.org>
1320
+ * ext/oci8/attr.c: rewrite code converting the rowid descriptor
1321
+ to string representation by using oci8_exec_sql().
1322
+ * ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
1323
+ ext/oci8/stmt.c: add check code to ensure that the process id
1324
+ is not changed.
1325
+
1326
+ 2008-12-30 KUBO Takehiro <kubo@jiubao.org>
1327
+ * ext/oci8/oraconf.rb: add code to check the cpu type of Mac OS X
1328
+ libclntsh.dylib.
1329
+
1330
+ 2008-12-21 KUBO Takehiro <kubo@jiubao.org>
1331
+ * ext/oci8/apiwrap.yml: add OCINlsCharSetNameToId()
1332
+ * ext/oci8/encoding.c: add OCI8#charset_name2id and
1333
+ OCI8#charset_id2name.
1334
+ * ext/oci8/env.c: include <util.h> only when ruby 1.8.
1335
+ * ext/oci8/oci8.h: don't include <rubyio.h> which is not used
1336
+ anywhere.
1337
+ * ext/oci8/ocinumber.c: include <errno.h> to compile
1338
+ ruby-oci8 for ruby 1.9.
1339
+ * lib/oci8/metadata.rb: comment duplicated typecode.
1340
+ * test/test_all.rb: use AutoRunner when it is found.
1341
+ Ruby 1.9's test unit does't has AutoRunner.
1342
+ * test/test_oranumber.rb: explicity convert actual_val, which is
1343
+ passed to before assert_in_delta(), to a Float to prevent
1344
+ SEGV in OCINumberSub().
1345
+
1346
+ 2008-12-14 KUBO Takehiro <kubo@jiubao.org>
1347
+ * ext/oci8/stmt.c: fix comment.
1348
+ * test/test_rowid.rb: add one assertion as ruby-oci8 1.0 branch does.
1349
+
1350
+ 2008-09-10 KUBO Takehiro <kubo@jiubao.org>
1351
+ * ext/oci8/ocidatetime.c: use session time zone when time zone
1352
+ is not specified to set bind objects of timestamp with time
1353
+ zone datatype.
1354
+ * lib/oci8/datetime.rb: add OCI8::BindType::Util.default_timezone
1355
+ to get Time or DateTime objects from bind objects of date
1356
+ datatype.
1357
+ * test/test_datetime.rb: fix test_datetype_duck_typing and add
1358
+ test_timezone for the above changes.
1359
+
1360
+ 2008-09-09 KUBO Takehiro <kubo@jiubao.org>
1361
+ * ext/oci8/apiwrap.rb, ext/oci8/apiwrap.yml, ext/oci8/oci8.h,
1362
+ ext/oci8/ocidatetime.c, lib/oci8.rb.in, lib/oci8/datetime.rb,
1363
+ lib/oci8/metadata.rb, lib/oci8/oci8.rb, test/test_break.rb,
1364
+ test/test_datetime.rb, test/test_dbi.rb, test/test_metadata.rb:
1365
+ fix Oracle version number mistakes. rename ORAVER_9_1 to
1366
+ ORAVER_9_0.
1367
+
1368
+ 2008-08-31 KUBO Takehiro <kubo@jiubao.org>
1369
+ * ext/oci8/bind.c, ext/oci8/stmt.c: disable DYNAMIC_FETCH to fetch
1370
+ LONG or LONG RAW columns. It doesn't work well.
1371
+ * lib/oci8/metadata.rb: define char_size for Oracle 8i.
1372
+ * lib/oci8/oci8.rb: define OCI8::BindType::Long and
1373
+ OCI8::BindType::LongRaw as subclasses of OCI8::BindType::String
1374
+ and OCI8::BindType::RAW respectively. fix
1375
+ OCI8::BindType::String.create and OCI8::BindType::RAW.create
1376
+ for strings longer than 4000.
1377
+ * test/test_array_dml.rb: add workaround of "ORA-01036: illegal
1378
+ variable name/number" by renaming a bind variable name ":N"
1379
+ to ":1". I guess this is a problem in the Oracle library.
1380
+ * test/test_break.rb, test/test_dbi.rb, test/test_metadata.rb:
1381
+ fix test codes for Oracle 8i or lower.
1382
+ * test/test_oci8.rb: revise a test for LONG columns.
1383
+
1384
+ 2008-08-28 KUBO Takehiro <kubo@jiubao.org>
1385
+ * ext/oci8/apiwrap.yml: OCINumberSign is unavailable on Oracle 8.
1386
+ * lib/DBD/OCI8/OCI8.rb: A data dictionary all_constraints doesn't have
1387
+ index_name column on Oracle 8i or lower. Rewrite
1388
+ DBI::DBD::OCI8::Database#column by using all_cons_columns.
1389
+ * lib/oci8/metadata.rb: raise an error when using
1390
+ * test/config.rb: Oracle 8 desn't have database_compatible_level data
1391
+ dictionary.
1392
+ * test/test_metadata.rb: fix test codes for Oracle 8i or lower.
1393
+
1394
+ 2008-08-26 KUBO Takehiro <kubo@jiubao.org>
1395
+ * ext/oci8/metadata.c: fix bugs when trying to use already freed
1396
+ OCI8::Metadata::*.
1397
+ * ext/oci8/ocidatetime.c: fix OCI8::BindType::OCIDate#set().
1398
+ * ext/oci8/ocinumber.c: undef OraNumber#round_prec and OraNumber
1399
+ #shift when using Oracle 8.0.
1400
+ * lib/oci8/datetime.rb, lib/oci8/metadata.rb: fix bugs when using
1401
+ Oracle 8.0.
1402
+ * test/config.rb, test/test_dbi.rb, test/test_metadata.rb,
1403
+ test/test_oci8.rb, test/test_oranumber.rb: do same with the
1404
+ previous commit.
1405
+ * test/test_datetime.rb: disable some test cases when Oracle 8.1
1406
+ or lower.
1407
+ * test/test_dbi_clob.rb: fix when testing in a deep directory.
1408
+
1409
+ 2008-08-26 KUBO Takehiro <kubo@jiubao.org>
1410
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/apiwrap.h.tmpl, ext/oci8/apiwrap.rb
1411
+ ext/oci8/apiwrap.yml, ext/oci8/bind.c, ext/oci8/extconf.rb,
1412
+ ext/oci8/oci8.h, ext/oci8/ocidatetime.c, ext/oci8/xmldb.c,
1413
+ lib/oci8.rb.in, lib/oci8/datetime.rb, lib/oci8/metadata.rb,
1414
+ lib/oci8/oci8.rb: change oracle version number format.
1415
+ For example Oracle 9.1.0's version number was represented as 910
1416
+ in ruby-oci8. Now it is 0x09000000. This format is same with
1417
+ that of the last argument of OCIServerRelease().
1418
+
1419
+ 2008-08-10 KUBO Takehiro <kubo@jiubao.org>
1420
+ * ext/oci8/lob.c: add workaround code for a losing character problem
1421
+ when reading CLOB. The problem is happened at the following condition.
1422
+ 1. Oracle client version is 10.2.0.4 or 11.1.0.6.
1423
+ (It doesn't depend on Oracle server version.)
1424
+ 2. The character set is a variable-length one (e.g. AL32UTF8).
1425
+ * dist-files: add lib/oci8/datetime.rb and .document files.
1426
+
1427
+ 2008-08-09 KUBO Takehiro <kubo@jiubao.org>
1428
+ * ext/oci8/lob.c: fix OCI8::LOB#size= when using a lob over 2GB.
1429
+ fix the return value of OCI8::LOB#write when writing a string
1430
+ over 2GB.
1431
+
1432
+ 2008-08-05 KUBO Takehiro <kubo@jiubao.org>
1433
+ * test/config.rb, test/test_all.rb, test/test_array_dml.rb,
1434
+ test/test_bind_raw.rb, test/test_bind_time.rb, test/test_break.rb,
1435
+ test/test_clob.rb, test/test_connstr.rb, test/test_datetime.rb,
1436
+ test/test_dbi.rb, test/test_dbi_clob.rb, test/test_metadata.rb,
1437
+ test/test_object.rb, test/test_oci8.rb, test/test_oradate.rb,
1438
+ test/test_oranumber.rb, test/test_rowid.rb:
1439
+ fix to run tests in directories outside of 'test' directory.
1440
+
1441
+ 2008-08-04 KUBO Takehiro <kubo@jiubao.org>
1442
+ * ext/oci8/attr.c: If ORA-01000 (maximum open cursors exceeded) when
1443
+ converting a rowid descriptor to string representation, run
1444
+ GC to cleanup unreferenced statement handles and try again.
1445
+ * ext/oci8/oci8.h, ext/oci8/oci8lib.c: add a utility function
1446
+ oci8_exec_sql() to execute a SQL statement in C.
1447
+ * ext/oci8/encoding.c: use oci8_exec_sql() to run anonymous PL/SQL
1448
+ blocks in oci8_charset_id2name() and oci8_charset_name2id().
1449
+ * ext/oci8/bind.c, ext/oci8/metadata.c, ext/oci8/ocidatetime.c,
1450
+ ext/oci8/ocinumber.c: suppress compiler warnings.
1451
+ * ext/oci8/oci8.c: avoid "[BUG] object allocation during garbage
1452
+ collection phase" when using ruby 1.9. In GC, just free a
1453
+ session handle without rollback.
1454
+
1455
+ 2008-08-02 KUBO Takehiro <kubo@jiubao.org>
1456
+ * ext/oci8/oci8.h, ext/oci8/ocidatetime.c, lib/oci8.rb.in,
1457
+ lib/oci8/datetime.rb: change binding code for timestamps
1458
+ and intervals. C side is a thin wrapper which converts Oracle's
1459
+ date, timestamp and interval values to ruby arrays and vise
1460
+ versa. Ruby side converts the arrays to ruby's Time, DateTime,
1461
+ Integer (for interval year to month) and Rational (for interval
1462
+ day to second).
1463
+ * lib/oci8/oci8.rb: change mapping for binding date, timestamp and
1464
+ timestamp with local time zone from OCI8::BindType::DateTime
1465
+ to OCI8::BindType::Time.
1466
+ * test/test_array_dml.rb, test/test_datetime.rb, test/test_dbi.rb,
1467
+ test/test_oci8.rb: fix test cases for a change above.
1468
+
1469
+ 2008-07-17 KUBO Takehiro <kubo@jiubao.org>
1470
+ * Makefile: add a rdoc target to make rdoc document.
1471
+ * custom-rdoc.rb: add a file which customizes rdoc to handle
1472
+ oci8_define_class_under() and oci8_define_bind_class().
1473
+ * ext/oci8/.document: add a new file for rdoc.
1474
+ * ext/oci8/bind.c, ext/oci8/oci8.h: rename cOCIBind to cOCI8BindTypeBase,
1475
+ which is same name used in custom-rdoc.rb.
1476
+ * ext/oci8/oci8.c, ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c:
1477
+ delete code in comment for vanilla rdoc which doesn't know what
1478
+ oci8_define_class_under() and oci8_define_bind_class() do.
1479
+ * ext/oci8/oradate.c: fix rdoc comments.
1480
+
1481
+ 2008-07-13 KUBO Takehiro <kubo@jiubao.org>
1482
+ * ext/oci8/stmt.c: (1) add rdoc comments. (2) OCI8::Cursor#type
1483
+ returns a Fixnum when the type is not undocumented value instead
1484
+ of raising an exception.
1485
+ * lib/.document, lib/oci8/.document: add new files for rdoc.
1486
+ * lib/oci8/metadata.rb: fix OCI8::Metadata::Scheme#inspect.
1487
+ * lib/oci8/object.rb: don't put OCI8::BindArgumentHelper, which is
1488
+ not used by users, to rdoc.
1489
+ * lib/oci8/oci8.rb: (1) fix rdoc comments. (2) change the return
1490
+ value of OCI8#exec when the SQL statement is a PL/SQL block.
1491
+ (3) change the method of customize the bind type for NUMBER
1492
+ without precision and scale to same with ruby-oci8 1.0 as follows
1493
+ OCI8::BindType::Mapping[:number_unknown_prec] = ...
1494
+ OCI8::BindType::Mapping[:number_no_prec_setting] = ...
1495
+
1496
+ 2008-07-12 KUBO Takehiro <kubo@jiubao.org>
1497
+ * lib/oci8/oci8.rb: add OraNumber#to_json and OraDate#to_json.
1498
+ * lib/oci8/metadata.rb: define char_used?, char_size, fsprecision
1499
+ and lfprecision methods to subclasses of OCI8::Metadata::Base
1500
+ onln when Oracie 9i or upper. They ara unavailable on Oracle
1501
+ 8.1 or lower.
1502
+
1503
+ 2008-07-06 KUBO Takehiro <kubo@jiubao.org>
1504
+ * ext/oci8/oci8.h: add comments.
1505
+
1506
+ 2008-07-05 KUBO Takehiro <kubo@jiubao.org>
1507
+ * ext/oci8/oraconf.rb:
1508
+ 1. prints more information on checking LD_LIBRARY_PATH.
1509
+ 2. fix for windows Oracle 11g instant client.
1510
+ 3. fix for intel mac instant client.
1511
+ * ext/oci8/object.c, lib/oci8/object.rb, lib/oci8/oci8.rb:
1512
+ fix to pass an array of Oracle objects to a procedure.
1513
+
1514
+ 2008-04-27 KUBO Takehiro <kubo@jiubao.org>
1515
+ * ext/oci8/stmt.c, lib/oci8/oci8.rb: fix typo.
1516
+ (pointed by Liming)
1517
+ * dist-files: fix added and deleted files.
1518
+
1519
+ 2008-04-08 KUBO Takehiro <kubo@jiubao.org>
1520
+ * metaconfig: add '-w' when running test cases.
1521
+ * test/test_metadata.rb: suppress warning: "shadowing outer local variable - i."
1522
+ * ext/oci8/stmt.c: suppress warning: "warning: instance variable
1523
+ @max_array_size not initialized" at lib/oci8/oci8.rb:375.
1524
+
1525
+ 2008-03-29 KUBO Takehiro <kubo@jiubao.org>
1526
+ * ext/oci8/encoding.c, ext/oci8/extconf.rb, ext/oci8/oci8.h
1527
+ ext/oci8/oci8lib.c: add a new file encoding.c.
1528
+ oci8_charset_id2name() is added to convert Oracle charset
1529
+ id to charset name. If the Oracle client version is 9iR2
1530
+ or upper, it uses OCINlsCharSetIdToName(). If 9iR1 or lower,
1531
+ it uses PL/SQL function nls_charset_name() and converts
1532
+ at the server side.
1533
+ * ext/oci8/metadata.c: use oci8_charset_id2name() instead of
1534
+ OCINlsCharSetIdToName().
1535
+
1536
+ 2008-03-29 KUBO Takehiro <kubo@jiubao.org>
1537
+ * ext/oci8/extconf.rb, ext/oci8/oci8lib.c, ext/oci8/oci8.h:
1538
+ When '--with-runtime-check' is passed to extconf.rb, oci8lib.so
1539
+ is no longer linked to an Oracle client library at compilation
1540
+ time. It tries to search the Oracle client library at runtime.
1541
+ * ext/oci8/bind.c: define OCI8::BindType::BinaryDouble when
1542
+ oracle_client_version's value is 10g or later, not when SQLT_BDOUBLE
1543
+ is declared. This is for runtime check.
1544
+
1545
+ 2008-03-22 KUBO Takehiro <kubo@jiubao.org>
1546
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/object.c, ext/oci8/oci8.h,
1547
+ ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c,
1548
+ ext/oci8/oradate.c, ext/oci8/stmt.c: add qualifier 'const' to
1549
+ oci8_bind_*class_t values. These are read only.
1550
+
1551
+ 2008-03-22 KUBO Takehiro <kubo@jiubao.org>
1552
+ * ext/oci8/.: add apiwrap.[ch] to svn:ignore property.
1553
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/apiwrap.rb, ext/oci8/apiwrap.yml:
1554
+ add alternative code if OCINumberSetPi(), OCINumberIsInt() is
1555
+ not found.
1556
+ * ext/oci8/oci8.h: delete unused macros. add LIKELY and UNLIKELY
1557
+ macros and use the former in oci8_get_errhp().
1558
+ * ext/oci8/oci8.h, ext/oci8/oci8lib.c: change the scope of
1559
+ oci8_base_class to static.
1560
+ * ext/oci8/ocinumber.c: fix OraNumber#** and OraNumber#<=>. raise
1561
+ exceptions when OraNumber#round_prec or OraNumber#shift is called
1562
+ and the Oracle client version is 8.0.
1563
+ * test/test_oranumber.rb: add testcass for all OraNumber methods.
1564
+
1565
+ 2008-03-19 KUBO Takehiro <kubo@jiubao.org>
1566
+ * ext/oci8/ocinumber.c, lib/oci8/compat.rb, lib/oci8/object.rb
1567
+ lib/oci8/oci8.rb, test/test_oci8.rb:
1568
+ 1. OCINumber, which is a new object in 2.0, become OraNumber.
1569
+ This means OraNumber become a true numeric class.
1570
+ 2. Rdoc comments in ocinumber.c are fixed.
1571
+
1572
+ 2008-03-08 KUBO Takehiro <kubo@jiubao.org>
1573
+ * ext/oci8/extconf.rb, ext/oci8/oci8lib.c, ext/oci8/rowid.c:
1574
+ rowid.c is deleted. OCIRowid is no longer in use.
1575
+ * ext/oci8/oci8.h, ext/oci8/attr.c: oci8_get_rowid_attr()
1576
+ is moved from rowid.c and returns a String instead of
1577
+ an OCIRowid object.
1578
+ * ext/oci8/stmt.c: fix a rdoc comment of OCI8::Cursor#rowid.
1579
+ * lib/oci8/oci8.rb: fetch a rowid value as a String.
1580
+ * test/test_all.rb, test/test_rowid.rb: add a rowid testcase.
1581
+
1582
+ 2008-03-07 KUBO Takehiro <kubo@jiubao.org>
1583
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/apiwrap.rb, ext/oci8/apiwrap.yml:
1584
+ add all OCI functions to 'apiwrap.yml'.
1585
+ * ext/oci8/object.c: use OCIObjectPin_nb() instead of OCIObjectPin().
1586
+ * ext/oci8/oci8lib.c: call OCIBreak in rb_thread_blocking_region()
1587
+ to prevent the thread from being blocked.
1588
+
1589
+ 2008-03-06 KUBO Takehiro <kubo@jiubao.org>
1590
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/apiwrap.h.tmpl:
1591
+ rewrite apiwrap.[ch].tmpl. All non-static variables
1592
+ and functions have 'oci8_' prefix name.
1593
+ * ext/oci8/apiwrap.rb, ext/oci8/apiwrap.yml,
1594
+ ext/oci8/extconf.rb: change format of apiwrap.yml
1595
+ to use both OCIAttrGet() and OCIAttrGet_nb().
1596
+ * ext/oci8/oci8.c, test/config.rb: add OCI8.oracle_client_version.
1597
+
1598
+ 2008-03-05 KUBO Takehiro <kubo@jiubao.org>
1599
+ * ext/oci8/env.c, ext/oci8/oci8.h: use native API to get a thread
1600
+ local errhp (ruby 1.9 only)
1601
+ pthread: pthread_getspecific()
1602
+ win32: TlsGetValue()
1603
+
1604
+ 2008-03-04 KUBO Takehiro <kubo@jiubao.org>
1605
+ * ext/oci8/extconf.rb: output a message to say 'install
1606
+ a ruby development package' when 'mkmf.rb' is not
1607
+ found and the platform is Linux. Both ruby and its
1608
+ development package are required to compile extension
1609
+ libraries on Linux.
1610
+
1611
+ 2008-03-04 KUBO Takehiro <kubo@jiubao.org>
1612
+ * ext/oci8/ocinumber.c: fix for ruby-1.9.0-1.
1613
+ The arguments of rb_num_coerce_cmp() and rb_num_coerce_bin()
1614
+ are changed in ruby-1.9.0-1.
1615
+
1616
+ 2008-2-27 Liming Lian <liming.lian@oracle.com>
1617
+ Add new feature: Array DML
1618
+ * lib/oci8/oci8.rb: add three new methods for Array DML to OCI8::Cursor:
1619
+ max_array_size=, bind_param_array and exec_array
1620
+ 1) OCI8::Cursor#max_array_size=: set the maximum array size for OCI8::Cursor#bind_param_array.
1621
+ This method should be called before OCI8::Cursor#bind_param_array
1622
+ 2) OCI8::Cursor#bind_param_array: bind array explicitly. This method is used to bind an array of
1623
+ values to a placeholder embedded in the prepared statement which is to be executed with
1624
+ OCI8::Cursor#exec_array
1625
+ 3) OCI8::Cursor#exec_array: executes the SQL statement assigned the cursor with array bindings.
1626
+ This implementation currently only supports non-data returning statements (INSERT, UPDATE, DELETE
1627
+ but not SELECT). All binding arrays should be the same size and this size will be used as iteration
1628
+ count for OCIStmtExecute()
1629
+ * ext/oci8/stmt.c: add support for Array DML
1630
+ 1) Change the parameters for invoking OCIBindByPos and OCIBindByName because
1631
+ currently we only support Array DML for non-PL/SQL binds.
1632
+ 2) Add a new parameter "Value iteration_count" to function oci8_stmt_execute.
1633
+ This parameter indicates iteration count for OCIStmtExecute. For Non-Array DML,
1634
+ you should set this parameter "nil"
1635
+ 3) Add three new functions: each_value, clear_binds_iterator_proc, oci8_stmt_clear_binds.
1636
+ Those functions are used to clear all binds from OCI8::Cursor. When calling OCI8::Cursor#max_array_size,
1637
+ all the binds will be clean from cursor if instance variable max_array_size of cursor is set before.
1638
+ * test/test_array_dml.rb(added): add test cases for Array DML
1639
+ * test/test_all.rb: call test cases for Array DML
1640
+
1641
+ 2008-02-17 KUBO Takehiro <kubo@jiubao.org>
1642
+ * Makefile: add format_c_source target to fix indentation by
1643
+ astyle. <URL:http://astyle.sourceforge.net>
1644
+ * ext/oci8/error.c, ext/oci8/lob.c, ext/oci8/metadata.c,
1645
+ ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
1646
+ ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c,
1647
+ ext/oci8/oradate.c, ext/oci8/stmt.c, ext/oci8/xmldb.c:
1648
+ fix indentation by astyle.
1649
+ The command line options are as follows.
1650
+ astyle --style=linux --indent=spaces=4 --brackets=linux ext/oci8/*.[ch]
1651
+
1652
+ 2008-02-17 KUBO Takehiro <kubo@jiubao.org>
1653
+ * ext/oci8/object.c, ext/oci8/stmt.c:
1654
+ change from:
1655
+ switch (fixnum_value) {
1656
+ case INT2FIX(INT_CONSTANT):
1657
+ ....;
1658
+ to:
1659
+ switch (FIX2INT(fixnum_value)) {
1660
+ case INT_CONSTANT:
1661
+ ....;
1662
+ "case INT2FIX(INT_CONSTANT)" confuses astyle.
1663
+ astyle's URL: http://astyle.sourceforge.net
1664
+ * test/config.rb: sleep 5 seconds and retry again when
1665
+ ORA-12516 or ORA-12520. One second was too short on
1666
+ my new linux box.
1667
+ * test/test_oci8.rb: fix a test case for x86_64 linux.
1668
+
1669
+ 2008-01-14 KUBO Takehiro <kubo@jiubao.org>
1670
+ * ext/oci8/extconf.rb: add checking code for intern.h, util.h,
1671
+ ruby/util.h, ruby_errinfo and rb_errinfo.
1672
+ * ext/oci8/env.c: define a header file to be included by
1673
+ HAVE_RUBY_UTIL_H and HAVE_UTIL_H, not by RUBY_VM.
1674
+ * ext/oci8/oci8.h: define a header file to be included by
1675
+ HAVE_INTERN_H, not by RUBY_VM. use HAVE_RB_ERRINFO and
1676
+ HAVE_RUBY_ERRINFO to define rb_errinfo() as a macro.
1677
+ * ext/oci8/oci8.c: use rb_eval_string() instead of rb_reg_new()
1678
+ for not to use RUBY_VM.
1679
+
1680
+ 2008-01-14 KUBO Takehiro <kubo@jiubao.org>
1681
+ * ext/oci8/oci8.h ext/oci8/oci8lib.c: rename variable name
1682
+ cOCIHandle to oci8_cOCIHandle to use outside of oci8lib.c.
1683
+ * ext/oci8/metadata.c: use oci8_cOCIHandle instead of rb_cObject
1684
+ to hold a descrbe handle. check parent object's handle type
1685
+ in oci8_metadata_create().
1686
+
1687
+ 2008-01-14 KUBO Takehiro <kubo@jiubao.org>
1688
+ * ext/oci8/apiwrap.c.tmpl: fix a bug on runtime-api check.
1689
+ * ext/oci8/ocidatetime.c, test/test_datetime.rb: use
1690
+ DateTime.parse('0001-01-01 00:00:00.1') instead of
1691
+ DateTime.parse('00:00:00.1'). The latter doesn't work
1692
+ on ruby 1.8.5 or earlier.
1693
+ * test/config.rb: revert the previous commit and add
1694
+ get_oci8_connection() and get_dbi_connection() to the
1695
+ base class of test cases. When an attempt to connect fails
1696
+ by ORA-12516 or ORA-12520, their methods sleep one seconds
1697
+ and try again more once.
1698
+ delete unused method setup_lowapi().
1699
+ * test/test_bind_raw.rb, test/test_bind_time.rb,
1700
+ test/test_break.rb, test/test_clob.rb, test/test_datetime.rb,
1701
+ test/test_dbi.rb, test/test_dbi_clob.rb, test/test_metadata.rb,
1702
+ test/test_object.rb, test/test_oci8.rb, test/test_oradate.rb,
1703
+ test_oranumber.rb: revert the previous commit and use
1704
+ get_oci8_connection() or get_dbi_connection() to make a
1705
+ connection.
1706
+
1707
+ 2008-01-08 KUBO Takehiro <kubo@jiubao.org>
1708
+ * test/config.rb, test/test_bind_raw.rb, test/test_bind_time.rb,
1709
+ test/test_break.rb, test/test_clob.rb, test/test_datetime.rb,
1710
+ test/test_dbi.rb, test/test_dbi_clob.rb, test/test_metadata.rb,
1711
+ test/test_object.rb, test/test_oci8.rb, test/test_oradate.rb,
1712
+ test_oranumber.rb: use one OCI8 session for all OCI8 test cases
1713
+ and use one DBI session for all DBI test cases.
1714
+ Before this changes, connection/disconnection were called
1715
+ for each tests. If they are done too frequently and the Oracle
1716
+ server is on a remote server, the following error is raised.
1717
+ OCIError: ORA-12516: TNS:listener could not find available
1718
+ handler with matching protocol stack
1719
+
1720
+ 2008-01-04 KUBO Takehiro <kubo@jiubao.org>
1721
+ * ext/oci8/oci8.h, ext/oci8/stmt.c: 1. add a 'pre_fetch_hook'
1722
+ callback function to oci8_bind_class_t. This function is
1723
+ called before OCIStmtFetch in OCI8::Cursor#fetch.
1724
+ 2. allocate OCIStmt handle by pre_fetch_hook when a result set
1725
+ has cursors.
1726
+ 3. change 'init' callback function's prototype in
1727
+ oci8_bind_class_t.
1728
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/object.c,
1729
+ ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c,
1730
+ ext/oci8/oradate.c, ext/oci8/rowid.c: changes causes by above 1
1731
+ and 3.
1732
+ * test/test_oci8.rb: delete re-defining in a test case for cursors
1733
+ in a result set.
1734
+
1735
+ 2008-01-03 KUBO Takehiro <kubo@jiubao.org>
1736
+ * ext/oci8/error.c: fix a SEGV bug when an error is raised in GC.
1737
+ make a custom backtrace entry only when 'caller' returns an Array.
1738
+
1739
+ 2007-12-29 KUBO Takehiro <kubo@jiubao.org>
1740
+ * lib/oci8/metadata.rb, lib/oci8/oci8.rb: support cursors in a
1741
+ result set. For example:
1742
+ SELECT column1 A, column2 B, CURSOR(SELECT * FROM table2) C
1743
+ FROM table1
1744
+ (port from changes in 1.0.0, which is contributed by Randy Gordon)
1745
+ * test/test_oci8.rb: add a testcase for cursors in a result set.
1746
+
1747
+ 2007-12-23 KUBO Takehiro <kubo@jiubao.org>
1748
+ * ext/oci8/oraconf.rb: fix for official x86_64 rpms.
1749
+ (contributed by Pat.)
1750
+
1751
+ 2007-12-04 KUBO Takehiro <kubo@jiubao.org>
1752
+ * ext/oci8/stmt.c, lib/oci8/oci8.rb: delete a private method
1753
+ OCI8::Curosr#__connection and use @con instead.
1754
+
1755
+ 2007-12-04 KUBO Takehiro <kubo@jiubao.org>
1756
+ * ext/oci8/extconf.rb: compile xmldb.o by default.
1757
+ * ext/oci8/lob.c, ext/oci8/metadata.c, ext/oci8/oci8.c: use
1758
+ functions which ends with _nb instead of normal OCI functions
1759
+ if they may block ruby itself. delete BUILD_FOR_ORACLE_* macros
1760
+ and use have_OCI* instead.
1761
+ * ext/oci8/oci8.h: delete unused macros; BUILD_FOR_ORACLE_*,
1762
+ Get_Int_With_Default, oci_rc2, oci_rc, and _D_.
1763
+ * ext/oci8/oci8lib.c, ext/oci8/oci8.c: change the default value
1764
+ of executing_thread member in oci8_svcctx_t.
1765
+ * ext/oci8/xmldb.c: disabled for a while.
1766
+
1767
+ 2007-12-04 KUBO Takehiro <kubo@jiubao.org>
1768
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/apiwrap.h.tmpl, ext/oci8/apiwrap.rb:
1769
+ change function declares of runtime-check.
1770
+ add oracle_client_version.
1771
+ * ext/oci8/apiwrap.yml: add OCI function prototypes.
1772
+ * ext/oci8/extconf.rb: check oracle_client_version by existent functions
1773
+ in OCI libraries. delete BUILD_FOR_ORACLE_VERSION_MAJOR and
1774
+ BUILD_FOR_ORACLE_VERSION_MINOR macros. add ORACLE_CLIENT_VERSION.
1775
+ * ext/oci8/oci8.h: use ORACLE_CLIENT_VERSION instead of
1776
+ BUILD_FOR_ORACLE_VERSION_MAJOR and BUILD_FOR_ORACLE_VERSION_MINOR
1777
+ macros.
1778
+ * ext/oci8/ocidatetime.c: fix for ruby 1.8.
1779
+ * ext/oci8/tdo.c: delete an unused file.
1780
+
1781
+ 2007-12-03 KUBO Takehiro <kubo@jiubao.org>
1782
+ * ext/oci8/apiwrap.c.tmpl: move rboci_blocking_region() and
1783
+ find_symbol() to ext/oci8/oci8lib.c and rename to
1784
+ oci8_blocking_region() and oci8_find_symbol() respectively.
1785
+ * ext/oci8/bind.c: use RFLOAT_VALUE macro for ruby 1.9.
1786
+ * ext/oci8/oci8.h: define a macro RFLOAT_VALUE if it is not defined.
1787
+ add prototypes oci8_blocking_region() and oci8_find_symbol().
1788
+ * ext/oci8/oci8lib.c: add oci8_blocking_region() and oci8_find_symbol().
1789
+ * ext/oci8/ocidatetime.c: add workaround code for ruby 1.9 VM bug.
1790
+ * lib/DBD/OCI8/OCI8.rb, lib/oci8/metadata.rb, test/test_metadata.rb:
1791
+ rename OCI8::Metadata::Column#is_null? to
1792
+ OCI8::Metadata::Column#nullable? as ruby 1.0.0 does.
1793
+ * test/test_dbi.rb: add testcase to check binding ''(empty string)
1794
+ via dbi as ruby 1.0.0 does.
1795
+ * test/test_oci8.rb: add asserts binding Nan, +Infinity and
1796
+ -Inifinty as ruby 1.0.0 does.
1797
+
1798
+ 2007-11-23 KUBO Takehiro <kubo@jiubao.org>
1799
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/apiwrap.h.tmpl, ext/oci8/apiwrap.rb
1800
+ ext/oci8/apiwrap.yml, ext/oci8/extconf.rb, ext/oci8/oci8.h
1801
+ ext/oci8/oci8lib.c: add a framework to check whether an OCI functions
1802
+ exists at run-time.
1803
+ * ext/oci8/lob.c: check whether OCILobIsTemporary and OCILobLocatorAssign
1804
+ exist at run-time.
1805
+ * ext/oci8/rowid.c: use new framework to check whether OCIRowidToChar
1806
+ exists at run-time.
1807
+
1808
+ 2007-11-20 KUBO Takehiro <kubo@jiubao.org>
1809
+ * ext/oci8/extconf.rb, , ext/oci8/apiwrap.c.tmpl,
1810
+ ext/oci8/apiwrap.h.tmpl, ext/oci8/apiwrap.rb,
1811
+ ext/oci8/apiwrap.yml: add new files for non-blocking
1812
+ executions. These use rb_thread_blocking_region in
1813
+ ruby 1.9.
1814
+ * ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/stmt.c:
1815
+ use new non-blocking execution API for OCI8#exec and
1816
+ OCI8::CUrsor#fetch.
1817
+ * test/test_break.rb: add comment and add sleep to pass
1818
+ test_blocking_mode.
1819
+
1820
+ 2007-11-19 KUBO Takehiro <kubo@jiubao.org>
1821
+ * ext/oci8/ocidatetime.c, test/test_datetime.rb: fix for a change
1822
+ of DateTime#fsec_fractions in ruby 1.9.
1823
+ * ext/oci8/stmt.c: rename OCI8::Cursor#__defineByPos to
1824
+ OCI8::Cursor#__define.
1825
+ * test/test_oci8.rb: add test_select_number.
1826
+ * lib/oci8/oci8.rb: add OCI8::BindType::Base.create which acts as
1827
+ a factory method. move bindtype specific code to create method
1828
+ of OCI8::BindType::Base's subclasses.
1829
+
1830
+ 2007-11-18 KUBO Takehiro <kubo@jiubao.org>
1831
+ * lib/DBD/OCI8/OCI8.rb: add StatementHandle#column_info.
1832
+ refine DatabaseHandle#columns.
1833
+ * test/test_dbi.rb: add a testcase for StatementHandle#column_info
1834
+ and DatabaseHandle#columns.
1835
+
1836
+ 2007-11-17 KUBO Takehiro <kubo@jiubao.org>
1837
+ * ext/oci8/error.c: add OCIError#initialize(msg, code = nil).
1838
+ * ext/oci8/metadata.c, lib/oci8/metadata.rb: rename char_semantics
1839
+ method to "char_used?". change the return value of data_type
1840
+ method when the data_type is NCHAR, NVARCHAR2 or NCLOB.
1841
+ * test/test_all.rb, test/test_metadata.rb: add a testcase for
1842
+ OCI8::Cursor#column_metadata and OCI8#describe_table.
1843
+
1844
+ 2007-11-17 KUBO Takehiro <kubo@jiubao.org>
1845
+ * lib/oci8/oci8.rb: OCI8::Cursor#fetch_hash accepts a block now.
1846
+ * test/test_oci8.rb: add a test for fetch_hash with a block.
1847
+ * ext/oci8/metadata.c: fix for 64-bit windows.
1848
+
1849
+ 2007-11-12 KUBO Takehiro <kubo@jiubao.org>
1850
+ * ext/oci8/stmt.c, lib/oci8/oci8.rb: add OCI8::Cursor#column_metadata.
1851
+ * ext/oci8/metadata.c, ext/oci8/oci8.h, ext/oci8/stmt.c: Change
1852
+ the lifetime of OCI8::Metadata::Base. It depended on the connection,
1853
+ but now it depends on what it describes. For example OCI8::cursor
1854
+ for OCI8::Cursor#column_metadata.
1855
+ * ext/oci8/env.c, ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
1856
+ ext/oci8/oraconf.rb, setup.rb: fix for ruby 1.9. Not full tests are
1857
+ not passed on ruby 1.9.
1858
+
1859
+ 2007-11-11 KUBO Takehiro <kubo@jiubao.org>
1860
+ * ext/oci8/oci8.c, lib/oci8/metadata.rb, test/test_datetime.rb:
1861
+ suppress warnings 'instance variable @xxxx not initialized' when
1862
+ running ruby with '-w' option. (suggested by Daniel Berger.)
1863
+
1864
+ 2007-11-11 KUBO Takehiro <kubo@jiubao.org>
1865
+ * test/config.rb, test/test_dbi.rb, test/test_oci8.rb:
1866
+ add 'purge' option to 'drop table' statement when Oracle 10g
1867
+ or upper.
1868
+ * ext/oci8/bind.c: add OCI8::BindType::BinaryDouble when SQLT_BDOUBLE
1869
+ is defined.
1870
+ * lib/oci8/compat.rb: add OCI8::SQLT_IBFLOAT, OCI8::SQLT_IBDOUBLE and
1871
+ OCI8::SQLT_BFILE for compatibility with 1.0.
1872
+ * lib/oci8/metadata.rb, lib/oci8/object.rb, lib/oci8/oci8.rb:
1873
+ rename :bfloat and :bdouble to :binary_float and :binary_double
1874
+ respectively.
1875
+ * lib/oci8/oci8.rb: use OCI8::BindType::BinaryDouble for :binary_float
1876
+ and :binary_double column when BinaryDouble is available.
1877
+ * test/test_oci8.rb: bind as binary_double explicitly in
1878
+ test_binary_float.
1879
+
1880
+ 2007-10-15 KUBO Takehiro <kubo@jiubao.org>
1881
+ * lib/oci8/object.rb: quick fix to get and set object
1882
+ attributes without explicitly setting default_connection.
1883
+ I am now wavering about what to do.
1884
+
1885
+ 2007-10-14 KUBO Takehiro <kubo@jiubao.org>
1886
+ * ext/oci8/oraconf.rb: fix a problem to compile with a
1887
+ third-party x86_64 rpm package. '--with-instant-client'
1888
+ option become obsolete and is ignored.
1889
+ * ext/oci8/oraconf.rb: fix for FreeBSD oracle8-client port.
1890
+ Not all tests are passed on FreeBSD yet.
1891
+ * lib/oci8/object.rb: fix a problem when convertion ruby class
1892
+ name to oracle object name fails.
1893
+
1894
+ 2007-10-11 KUBO Takehiro <kubo@jiubao.org>
1895
+ * lib/DBD/OCI8/OCI8.rb: add DatabaseHandle#columns for DBI.
1896
+ (suggested by Venkat Pa)
1897
+
1898
+ 2007-10-11 KUBO Takehiro <kubo@jiubao.org>
1899
+ * lib/DBD/OCI8/OCI8.rb: fix external OS authentication.
1900
+ I applied Dan Fitch's patch to improper location.
1901
+
1902
+ 2007-07-24 KUBO Takehiro <kubo@jiubao.org>
1903
+ * ext/oci8/object.c, lib/oci8/object.rb: support binary_double,
1904
+ binary_float and object member of object datatype.
1905
+ * test/setup_test_object.sql, test/test_object.rb: add testcase for
1906
+ binary_double, binary_float, embedded object, array of raw, array
1907
+ of binary_double, array of binary_float, array of object in object
1908
+ datatype.
1909
+
1910
+ 2007-07-07 KUBO Takehiro <kubo@jiubao.org>
1911
+ * ext/oci8/object.c: support array of number in OCI8::NamedCollection.
1912
+ * test/setup_test_object.sql, test/test_object.rb: fix a testcase
1913
+ to test array of number.
1914
+
1915
+ 2007-07-05 KUBO Takehiro <kubo@jiubao.org>
1916
+ * lib/oci8/object.rb, ext/oci8/object.c: add OCI8::NamedCollection
1917
+ to support collection datatypes. add OCI8::NamedType#attributes
1918
+ and #attributes= instead of OCI8::NamedType#copy_attributes_from
1919
+ and #copy_attributes_to. and others.
1920
+ * lib/oci8/oci8.rb: add OCI8#username.
1921
+ * test/test_object.rb: add a testcase for array of varchar2.
1922
+
1923
+ 2007-07-04 KUBO Takehiro <kubo@jiubao.org>
1924
+ * ext/oci8/object.c, lib/oci8/object.rb, lib/oci8/oci8.rb:
1925
+ delete OCI8::NamedType module and OCI8::NamedType::Base class
1926
+ and add OCI8::Object module, OCI8::Object::Base class and
1927
+ OCI8::NamedType class. In the user view, OCI8::NamedType::Base
1928
+ become OCI8::Object::Base. The reason is that 'named type' is used
1929
+ only by OCI documents, and Other Oracle manuals use Oracle Object.
1930
+ * ext/oci8/oci8.c: free all dependent objects in advance to
1931
+ disconnecting a connection.
1932
+ * lib/oci8/metadata.rb: add OCI8::Metadata::Type#type_metadata.
1933
+ fix typos.
1934
+ * test/setup_test_object.sql, test/test_object.rb: add a testcase for
1935
+ Oracle Objects.
1936
+
1937
+ 2007-07-03 KUBO Takehiro <kubo@jiubao.org>
1938
+ * lib/DBD/OCI8/OCI8.rb: fix for external OS authentication.
1939
+ (contributed by Dan Fitch)
1940
+
1941
+ 2007-06-26 KUBO Takehiro <kubo@jiubao.org>
1942
+ * ext/oci8/oci8.c: add external OS authentication. (suggested by Dan Fitch)
1943
+ conn = OCI8.new('/')
1944
+ or
1945
+ conn = OCI8.new(nil, nil)
1946
+ * test/test_connstr.rb: fix a testcase for external OS authentication.
1947
+
1948
+ 2007-06-23 KUBO Takehiro <kubo@jiubao.org>
1949
+ * ext/oci8/oraconf.rb: read a shared library's ELF header to
1950
+ check what cpu is it for. (linux x86, x86_64 and ia64 only)
1951
+
1952
+ 2007-06-05 KUBO Takehiro <kubo@jiubao.org>
1953
+ * ext/oci8/oraconf.rb: copy oraconf.rb of ruby-oci8-1.0 branch.
1954
+ * ext/oci8/lob.c, ext/oci8/oci8.h, ext/oci8/stmt.c: fix to bind
1955
+ an OCI8::NCLOB value on Oralce 9i.
1956
+ * test/test_oci8.rb: add testcases for binary_double datatype
1957
+ and OCI8::NCLOB.new.
1958
+
1959
+ 2007-05-20 KUBO Takehiro <kubo@jiubao.org>
1960
+ * lib/oci8/object.rb, ext/oci8/object.c: add new files.
1961
+ * ext/oci8/bind.c: fix to bind object type.
1962
+ * ext/oci8/extconf.rb: use object.c instead of tdo.c.
1963
+ * ext/oci8/metadata.c: add OCI8::Metadata::Base#tdo_id.
1964
+ * ext/oci8/oci8.h: add new prototypes; oci8_set_ocinumber(),
1965
+ oci8_set_integer() and Init_oci_object(). delete Init_oci_tdo().
1966
+ * ext/oci8/oci8lib.c: use Init_oci_object() instead of Init_oci_tdo().
1967
+ * ext/oci8/ocinumber.c: export oci8_set_ocinumber() and
1968
+ oci8_set_integer().
1969
+ * ext/oci8/stmt.c: fix to bind object type.
1970
+ * lib/oci8.rb.in: add requiring 'oci8/object.rb'.
1971
+ * lib/oci8/metadata.rb: add OCI8::Metadata::TypeMethod#has_result?
1972
+ fix comments.
1973
+ * lib/oci8/oci8.rb: fix to bind object type.
1974
+
1975
+ 2007-05-12 KUBO Takehiro <kubo@jiubao.org>
1976
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h,
1977
+ ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c, ext/oci8/oradate.c,
1978
+ ext/oci8/rowid.c, ext/oci8/stmt.c, ext/oci8/tdo.c:
1979
+ change a callback function's argument type used internally
1980
+ in OCI8::BindType::Base#set().
1981
+ * ext/oci8/metadata.c, lib/oci8/metadata.rb: change the internal
1982
+ structure of OCI8::Metadata::Base.
1983
+
1984
+ 2007-05-10 KUBO Takehiro <kubo@jiubao.org>
1985
+ * lib/oci8/oci8.rb: 1. move the location of setting
1986
+ OCI8::BindType::Mapping to the end of the file.
1987
+ 2. set :xmltype to OCI8::BindType::Mapping's key when
1988
+ the fetched column is XMLTYPE.
1989
+
1990
+ 2007-05-03 KUBO Takehiro <kubo@jiubao.org>
1991
+ * ext/oci8/extconf.rb: add '--with-oracle-version' option to
1992
+ make a binary for the specified oracle version.
1993
+ get the oracle client version from available OCI functions.
1994
+ * ext/oci8/lob.c, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
1995
+ ext/oci8/rowid.c, ext/oci8/tdo.c, ext/oci8/xmldb.c: use
1996
+ BUILD_FOR_ORACLE_major_minor macros instead of HAVE_xxx
1997
+ macros.
1998
+ * ext/oci8/oci8.c: delete unsed code.
1999
+ * dist-files: add ext/oci8/xmldb.c and test/test_connstr.rb.
2000
+
2001
+ 2007-05-01 KUBO Takehiro <kubo@jiubao.org>
2002
+ * ext/oci8/bind.c: fix to return nil for LONG null column.
2003
+ * ext/oci8/env.c: use OCIInitialize() and OCIEnvInit() instead
2004
+ of OCIEnvCreate() on every Oracle version.
2005
+ * ext/oci8/env.c, ext/oci8/error.c, ext/oci8/oci8.h: raise
2006
+ "OCI Library Initialization Error" when Oracle can't supply
2007
+ the error message.
2008
+ * ext/oci8/oci8.c: raise OCIException instead of TypeError.
2009
+ * lib/oci8/metadata.rb: fix typo in comment.
2010
+ * VERSION: change to 2.0-svn.
2011
+
2012
+ 2007-04-30 KUBO Takehiro <kubo@jiubao.org>
2013
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
2014
+ ext/oci8/tdo.c: enable XML support when Oracle 10g.
2015
+ * ext/oci8/xmldb.c: add oci8_make_rexml() to support XML for reading.
2016
+ * ext/oci8/lob.c: fix compiler warnings.
2017
+ * ext/oci8/error.c: fix a bit.
2018
+
2019
+ 2007-04-28 KUBO Takehiro <kubo@jiubao.org>
2020
+ * lib/oci8/oci8.rb: fetch NCLOB column value as an OCI8::NCLOB. fetch
2021
+ BINARY_DOUBLE and BINARY_FLOAT column as a Float.
2022
+ * lib/oci8/metadata.rb: OCI8::Metadata::Column#data_type can return
2023
+ :nclob, :bfloat and :bdouble now.
2024
+ * ext/oci8/extconf.rb: check whether OCILobCreateTemporary exists.
2025
+ * ext/oci8/lob.c: add OCI8::NCLOB.
2026
+ * ext/oci8/oci8.h: add oci8_make_nclob().
2027
+ * ext/oci8/tdo.c: use oci8_make_nclob().
2028
+
2029
+ 2007-04-26 KUBO Takehiro <kubo@jiubao.org>
2030
+ * lib/oci8/oci8.rb: fetch BFILE as OCI8::BFILE.
2031
+ * ext/oci8/lob.c: add OCI8::BFILE.
2032
+ * ext/oci8/oci8.h: add oci8_make_bfile().
2033
+ * ext/oci8/tdo.c: use oci8_make_bfile().
2034
+ * ext/oci8/stmt.c: use oci8_get_error_code().
2035
+
2036
+ 2007-04-21 KUBO Takehiro <kubo@jiubao.org>
2037
+ * ext/oci8/error.c: change a way to set the error line number to the
2038
+ OCIException's backtrace.
2039
+
2040
+ 2007-02-15 KUBO Takehiro <kubo@jiubao.org>
2041
+ no new features. fix to suppress warnings and to compile with ruby 1.9.
2042
+ * ext/oci8/attr.c, ext/oci8/lob.c, ext/oci8/metadata.c, ext/oci8/oci8.c,
2043
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/rowid.c, ext/oci8/stmt.c,
2044
+ ext/oci8/tdo.c: use union to suppress warnings: dereferencing type-punned
2045
+ pointer will break strict-aliasing rules.
2046
+ * ext/oci8/bind.c: change a format string tu suppress a warning.
2047
+ * ext/oci8/error.c: use rb_errinfo() instead of ruby_errinfo to compile with ruby 1.9.
2048
+ * ext/oci8/oci8.h: define rb_errinfo() as ruby_errinfo when compling with ruby 1.8.
2049
+ * ext/oci8/oci8lib.c: delete unused macros OCI_DEFAULT and OCI_COMMIT_ON_SUCCESS.
2050
+ * ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c: fix bugs.
2051
+ * ext/oci8/oraconf.rb: use File.exist? instead of File.exists?. The latter become obsolete on ruby 1.9.
2052
+ * lib/oci8/compat.rb: fix for ruby 1.9. Class.constants returns an array of Symbols in 1.9.
2053
+
2054
+ 2007-02-14 Oracle Corporation (modified for 2.0 by KUBO Takehiro <kubo@jiubao.org>)
2055
+ * ext/oci8/oci8.c: add a private method parse_connect_string to support
2056
+ "username/password[@(tns_name|//host[:port]/service_name)][ as (sysdba|sysoper)]".
2057
+ (The original code, contributed by Oracle, is written
2058
+ for ruby-oci8 1.0. Kubo rewrite it for 2.0.)
2059
+ * test/test_connstr.rb: add test cases for parse_connect_string.
2060
+ * test/test_all.rb: call test cases for parse_connect_string.
2061
+
2062
+ 2007-02-14 KUBO Takehiro <kubo@jiubao.org>
2063
+ * ext/oci8/ocinumber.c: fix a bug created by the previous commit.
2064
+
2065
+ 2007-01-28 KUBO Takehiro <kubo@jiubao.org>
2066
+ * ext/oci8/oci8.h: add TO_ORATEXT, TO_CHARPTR and RSTRING_ORATEXT
2067
+ macros to suppress 'differ in signedness' warinings.
2068
+ * ext/oci8/attr.c, ext/oci8/error.c, ext/oci8/metadata.c,
2069
+ ext/oci8/oci8.c, ext/oci8/ocinumber.c, ext/oci8/rowid.c,
2070
+ ext/oci8/stmt.c, ext/oci8/tdo.c: use TO_ORATEXT, TO_CHARPTR and
2071
+ RSTRING_ORATEXT macros to suppress 'differ in signedness'
2072
+ warinings.
2073
+
2074
+ 2007-01-08 KUBO Takehiro <kubo@jiubao.org>
2075
+ * ext/oci8/oraconf.rb, ext/oci8/extconf.rb: refactor oraconf.rb.
2076
+ check whether Full Client or Instant Client by checking load
2077
+ library path.
2078
+
2079
+ 2006-12-27 KUBO Takehiro <kubo@jiubao.org>
2080
+ * ext/oci8/oci8.c: ignore an exception during GC.
2081
+
2082
+ 2006-12-22 KUBO Takehiro <kubo@jiubao.org>
2083
+ * ext/oci8/oci8.h, ext/oci8/oci8lib.c: add new structure
2084
+ members to oci8_base_t to handle parent-children tree.
2085
+ add new functions oci8_link_to_parent() and
2086
+ oci8_unlink_from_parent().
2087
+ In prior to free the object's content. free all its children.
2088
+ * ext/oci8/bind.c, ext/oci8/stmt.c:
2089
+ use oci8_base_t's structure members instead of oci8_bind_t
2090
+ and oci8_stmt_t's members.
2091
+ * ext/oci8/lob.c, ext/oci8/metadata.c, ext/oci8/tdo.c:
2092
+ link to the connection which creates the LOB, Metadata, TDO objects.
2093
+ These objects are freed when the connection is disconnected.
2094
+ * ext/oci8/oci8.c: call logoff explicitly when the connection object
2095
+ is freed.
2096
+
2097
+ 2006-12-19 KUBO Takehiro <kubo@jiubao.org>
2098
+ * ext/oci8/tdo.c: fix a GC problem.
2099
+ * ext/oci8/stmt.c: add OCI8::Cursor#prefetch_rows=
2100
+ * ext/oci8/oci8.c: add OCI8#prefetch_rows=. add comments for rdoc.
2101
+ * doc/oci8-ja.rb: add comments for rdoc.
2102
+
2103
+ 2006-12-14 KUBO Takehiro <kubo@jiubao.org>
2104
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h,
2105
+ ext/oci8/ocidatetime.c ext/oci8/ocinumber.c, ext/oci8/oradate.c,
2106
+ ext/oci8/rowid.c, ext/oci8/stmt.c, ext/oci8/tdo.c: add PL/SQL
2107
+ table support. unify the variable names of oci8_bind_t.
2108
+ * lib/oci8/oci8.rb: add PL/SQL table support.
2109
+
2110
+ 2006-12-13 KUBO Takehiro <kubo@jiubao.org>
2111
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h, ext/oci8/stmt.c:
2112
+ delete oci8_bind_handle_t and use oci8_hp_obj_t.
2113
+ (prepare to bind an array)
2114
+ * ext/oci8/bind.c: fix for alignment.
2115
+ (prepare to bind an array)
2116
+
2117
+ 2006-12-12 KUBO Takehiro <kubo@jiubao.org>
2118
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h,
2119
+ ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c, ext/oci8/oradate.c,
2120
+ ext/oci8/rowid.c, ext/oci8/stmt.c, ext/oci8/tdo.c, lib/oci8/oci8.rb:
2121
+ change arguments of internal bind-init functions.
2122
+ (refactoring)
2123
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h,
2124
+ ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c, ext/oci8/oradate.c,
2125
+ ext/oci8/rowid.c, ext/oci8/stmt.c, ext/oci8/tdo.c:
2126
+ split bind-init callback to init and init_elem.
2127
+ (prepare to bind an array)
2128
+ * ext/oci8/bind.c, ext/oci8/oci8.h, ext/oci8/stmt.c:
2129
+ change arguments of piece-width-fetch callbacks.
2130
+ (prepare to bind an array)
2131
+
2132
+ 2006-12-07 KUBO Takehiro <kubo@jiubao.org>
2133
+ * ext/oci8/bind.c, ext/oci8/oci8.h, ext/oci8/stmt.c, ext/oci8/tdo.c:
2134
+ delete rlen and use_rlen from oci8_bind_t.
2135
+ * ext/oci8/rowid.c: change the bind type for ROWID not to use rlen.
2136
+
2137
+ 2006-12-05 KUBO Takehiro <kubo@jiubao.org>
2138
+ * ext/oci8/attr.c, ext/oci8/bind.c, ext/oci8/error.c, ext/oci8/lob.c,
2139
+ ext/oci8/metadata.c, ext/oci8/oci8.c, ext/oci8/oci8.h,
2140
+ ext/oci8/ocidatetime.c, ext/oci8/ocinumber.c, ext/oci8/oradate.c,
2141
+ ext/oci8/rowid.c, ext/oci8/stmt.c, ext/oci8/tdo.c:
2142
+ use RSTRING_LEN, RSTRING_PTR, RARRAY_LEN and RARRAY_PTR macros.
2143
+
2144
+ 2006-11-25 KUBO Takehiro <kubo@jiubao.org>
2145
+ * doc/oci8-ja.rb: add a new file for Japanese rdoc document.
2146
+ * ext/oci8/ocidatetime.c: add comments for rdoc.
2147
+ * test/test_datetime.rb: add testcases for OCI8::BindType::DateTime.
2148
+
2149
+ 2006-11-23 KUBO Takehiro <kubo@jiubao.org>
2150
+ * dist-files, ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/oci8lib.c,
2151
+ ext/oci8/oranumber.c: delete OraNumber implemented by C.
2152
+ * ext/oci8/metadata.c: use oci8_make_integer() instead of ora_number_to_str()
2153
+ which was implemented in oranumber.c.
2154
+ * ext/oci8/ocinumber.c: add OCINumber#initialize_copy for OCINumber#copy.
2155
+ * lib/oci8.rb.in: delete "require 'oci8/interval.rb'".
2156
+ * lib/oci8/oci8.rb: remove OraNumber-related code.
2157
+ * lib/oci8/compat.rb: add emulation code of OraNumber by using OCINumber.
2158
+ * test_oranumber.rb: use assert_in_delta when comparing Float value.
2159
+
2160
+ 2006-11-22 KUBO Takehiro <kubo@jiubao.org>
2161
+ * ext/oci8/ocidatetime.c: bind types for interval_ym and interval_ds
2162
+ are now Rational instread of OCI8::IntervalYM and OCI8::IntervalDS.
2163
+ * lib/oci8/interval.rb: delete OCI8::IntervalYM and OCI8::IntervalDS.
2164
+ * lib/oci8/oci8.rb: delete OCI8::IntervalYM and OCI8::IntervalDS.
2165
+ * test/test_all.rb: call testcases for timestamps and intervals.
2166
+ * test/test_datetime.rb: add testcases for timestamps and intervals.
2167
+
2168
+ 2006-11-19 KUBO Takehiro <kubo@jiubao.org>
2169
+ * ext/oci8/oci8.c: fix the default value of OCI8#long_read_len.
2170
+ * ext/oci8/stmt.c: fix bug when execute RENAME statement.
2171
+ * test/test_oci8.rb: add testcases for above two problems.
2172
+ The testcases are contributed by Pete Schwamb.
2173
+
2174
+ 2006-11-18 KUBO Takehiro <kubo@jiubao.org>
2175
+ * ext/oci8/tdo.c: add a new class OCI8::TDO to fetch Oracle's
2176
+ object types.
2177
+ * ext/oci8/bind.c, ext/oci8/extconf.rb, ext/oci8/lob.c,
2178
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/stmt.c,
2179
+ lib/oci8/oci8.rb: use OCI8::TDO to fetch Oracle's object
2180
+ types.
2181
+ * ext/oci8/lob.c: add oci8_make_clob() and oci8_make_blob()
2182
+ for OCI8::TDO.
2183
+ * ext/oci8/metadata.c: export cOCI8MetadataBase for OCI8::TDO.
2184
+ * ext/oci8/error.c: prepend error line in C to the exception's
2185
+ backtrace for debug.
2186
+
2187
+ 2006-11-18 KUBO Takehiro <kubo@jiubao.org>
2188
+ * ext/oci8/oraconf.rb: add check code whether oci.h exists.
2189
+
2190
+ 2006-11-09 KUBO Takehiro <kubo@jiubao.org>
2191
+ * ext/oci8/oci8.h, ext/oci8/ocinumber.c: rename make_oci_number()
2192
+ and make_integer to oci8_make_ocinumber() and oci8_make_integer().
2193
+ add oci8_make_float().
2194
+ * ext/oci8/oci8.h, ext/oci8/ocidatetime.c, lib/oci8/oci8.rb: add
2195
+ oci8_make_datetime_from_ocidate(), oci8_make_datetime_from_ocidatetime(),
2196
+ oci8_make_interval_ym() and oci8_make_interval_ds().
2197
+ OCI8::BindType::IntervalYM#get return an OCI8::IntervalYM instead of an array.
2198
+ OCI8::BindType::IntervalDS#get return an OCI8::IntervalDS instead of an array.
2199
+ OCI8::BindType::DateTime#get return a DateTime instead of an array.
2200
+
2201
+ 2006-11-04 KUBO Takehiro <kubo@jiubao.org>
2202
+ * ext/oci8/oci8.h: add callbacks for piecewise operations.
2203
+ * ext/oci8/oraconf.rb: add an error message for intel mac.
2204
+ * ext/oci8/bind.c: add OCI8::BindType::Long and
2205
+ OCI8::BindType::LongRaw.
2206
+ * ext/oci8/stmt.c: fix OCI8::Cursor#define, OCI8::Cursor#bind_param,
2207
+ OCI8::Cursor#exec and OCI8::Cursor#fetch for piecewise operations.
2208
+ * ext/oci8/lob.c, ext/oci8/oradate.c, ext/oci8/ocinumber.c,
2209
+ ext/oci8/rowid.c, ext/oci8/ocidatetime.c, ext/oci8/oranumber.c:
2210
+ follow up the change of piecewise operations.
2211
+ * lib/oci8/oci8.rb: use OCI8::BindType::Long and
2212
+ OCI8::BindType::LongRaw for LONG and LONG RAW respectively.
2213
+
2214
+ 2006-08-18 KUBO Takehiro <kubo@jiubao.org>
2215
+ * ext/oci8/oradate.c: add OraDate.hash().
2216
+ * ext/oci8/oranumber.c: OraNumber.new() now accepts a String.
2217
+ * lib/oci8/oci8.rb: add YAML support for OraDate and OraNumber.
2218
+ * test/test_oranumber.rb: add testcases for OraNumber.new(aString).
2219
+
2220
+ 2006-08-17 KUBO Takehiro <kubo@jiubao.org>
2221
+ * ext/oci8/bind.c:
2222
+ Use long instead of int to bind Fixnum.
2223
+ * lib/oci8.rb.in: add a workaround code on cygwin version.
2224
+ Cygwin manages environment variables by itself. They don't
2225
+ synchroize with Win32's ones. set some Oracle's environment
2226
+ variables to win32.
2227
+
2228
+ 2006-08-03 KUBO Takehiro <kubo@jiubao.org>
2229
+ * lib/oci8.rb.in: add a workaround code on cygwin version.
2230
+ Cygwin manages environment variables by itself. They don't
2231
+ synchroize with Win32's ones. set some Oracle's environment
2232
+ variables to win32.
2233
+
2234
+ 2006-07-29 KUBO Takehiro <kubo@jiubao.org>
2235
+ * ext/oci8/oradate.c: add OraDate#dup, OraDate#clone, OraDate#_dump
2236
+ and OraDate._load.
2237
+ * ext/oci8/oranumber.c: add OraNumber#dup, OraNumber#clone,
2238
+ OraNumber#_dump and OraNumber._load.
2239
+ * ext/oci8/rowid.c: add OCIRowid#dup, OCIRowid#clone.
2240
+ These methods raise an error when using Oracle 8.x.
2241
+ * test/test_oradate.rb: add tests for OraDate#dup, OraDate#clone,
2242
+ OraDate#_dump and OraDate._load.
2243
+ * test/test_oranumber.rb: add tests for OraNumber#dup,
2244
+ OraNumber#clone, OraNumber#_dump and OraNumber._load.
2245
+
2246
+ 2006-07-22 KUBO Takehiro <kubo@jiubao.org>
2247
+ * ext/oci8/metadata.c, lib/oci8/metadata.rb: add a type_metadata method
2248
+ to OCI8::Metadata::Table, OCI8::Metadata::View, OCI8::Metadata::TypeAttr,
2249
+ OCI8::Metadata::Collection, OCI8::Metadata::Column, OCI8::Metadata::Argument
2250
+ OCI8::Metadata::TypeArgument and OCI8::Metadata::TypeResult.
2251
+
2252
+ 2006-07-21 KUBO Takehiro <kubo@jiubao.org>
2253
+ * ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/bind.c, ext/oci8/stmt.c,
2254
+ lib/oci8/oci8.rb: Support LONG and LONG RAW longer than 65535 bytes.
2255
+ Add OCI8#long_read_len and OCI8#long_read_len= to set max long
2256
+ length.
2257
+ * ext/oci8/oraconf.rb: fix typo.
2258
+
2259
+ 2006-07-20 KUBO Takehiro <kubo@jiubao.org>
2260
+ * ext/oci8/oci8.h, ext/oci8/rowid.c, ext/oci8/oci8lib.c: change
2261
+ Rowid's internal structure when OCIRowidToChar is available.
2262
+ The new structure can be passed to Marshal.
2263
+ * VERSION, Makefile, ext/oci8/extconf.rb:
2264
+ read version string from the VERSION file.
2265
+
2266
+ 2006-06-27 KUBO Takehiro <kubo@jiubao.org>
2267
+ Many method move to C layer. Add support of Timestamp, Interval
2268
+ year to month and Interval day to second. Oracle's Date become
2269
+ DateTime instead of OraDate.
2270
+ * ext/oci8/env.c: 1. delete code registering ruby_xmalloc(),
2271
+ ruby_xrealloc() and ruby_xfree() to OCI library. These
2272
+ API cannot be called only in ruby VM's native thread.
2273
+ 2. add workaround code to avoid breaking ENV.
2274
+ * ext/oci8/oci8.c: move OCI8#parse from ruby to C layer.
2275
+ * ext/oci8/oci8.h, ext/oci8/oci8lib.c: add oci8_id_* variables.
2276
+ * ext/oci8/ocidatetime.c: delete OCIDateTime and OCIInterval.
2277
+ add OCI8::BindType::DateTime, OCI8::BindType::IntervalYM and
2278
+ OCI8::BindType::IntervalDS.
2279
+ * ext/oci8/ocinumber.c: delete OCI8::Math::E, OCINumber#trunc
2280
+ and OCINumber#sign. add OCINumber#truncate and
2281
+ OCI8::BindType::Integer.
2282
+ * ext/oci8/oraconf.rb:fix for OracleXE windows version. OracleXE's
2283
+ registry path is \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_XE.
2284
+ * ext/oci8/oranumber.c: move OCI8::BindType::Integer to ocinumber.c
2285
+ * ext/oci8/stmt.c: OCI8::Cursor#initialize become private.
2286
+ move OCI8::Cursor#fetch, OCI8::Cursor#[], OCI8::Cursor#[]=,
2287
+ OCI8::Cursor#keys from ruby to C layer. add a private method
2288
+ OCI8::Cursor#__defined?
2289
+ * lib/oci8/oci8.rb: many methods move to C layer.
2290
+ * lib/oci8/interval.rb: add OCI8::IntervalYM an OCI8::IntervalDS.
2291
+ * lib/ocidatetime.rb: deleted.
2292
+ * test/test_dbi.rb: fix test script which retrieving Date.
2293
+ * test/test_oci8.rb: fix test script which retrieving Date.
2294
+
2295
+ 2006-03-05 KUBO Takehiro <kubo@jiubao.org>
2296
+ * ext/oci8/oraconf.rb: add check_ruby_header to warn when
2297
+ broken darwin ruby.
2298
+ add export #{ld_path} in check_instant_client().
2299
+
2300
+ 2006-02-25 KUBO Takehiro <kubo@jiubao.org>
2301
+ * ext/oci8/metadata.c: set default value zero in C of private method
2302
+ OCI::Metadata::Base#__get_*. add a private method
2303
+ OCI::Metadata::Base#__charset_name.
2304
+ * lib/DBD/OCI8/OCI8.rb: fix to work with ruby-oci8 0.1 also.
2305
+ * lib/oci8/metadata.rb: refactor and add comments for rdoc.
2306
+
2307
+ 2006-02-11 KUBO Takehiro <kubo@jiubao.org>
2308
+ * lib/oci8.rb.in: require oci8/compat.rb also.
2309
+ * lib/oci8/compat.rb: add a new file. Old version's features
2310
+ are moved from lib/oci8/oci8.rb.
2311
+ * lib/oci8/metadata.rb: data_type's return value become symbol
2312
+ instead of number.
2313
+ * lib/oci8/oci8.rb: Old version's features are moved to
2314
+ lib/oci8/compat.rb.
2315
+
2316
+ 2006-02-09 KUBO Takehiro <kubo@jiubao.org>
2317
+ add OCI8::Metadata module.
2318
+ * ext/oci8/error.c: add oci8_get_error_code().
2319
+ * ext/oci8/extconf.rb: delete param.o and add metadata.o.
2320
+ * ext/oci8/metadata.c: add a new file.
2321
+ * ext/oci8/oci8.h: add oci8_get_error_code(), Init_oci8_metadata(),
2322
+ oci8_metadata_create() and ora_number_to_str().
2323
+ delete and oci8_param_create().
2324
+ * ext/oci8/oci8lib.c: call Init_oci8_metadata() instead of
2325
+ Init_oci8_param().
2326
+ * ext/oci8/oranumber.c: export ora_number_to_str().
2327
+ * ext/oci8/param.c: deleted.
2328
+ * ext/oci8/stmt.c: call oci8_metadata_create instead of
2329
+ oci8_param_create().
2330
+ * lib/oci8.rb.in: require 'oci8/metadata.rb'
2331
+ * lib/oci8/metadata.rb: add a new file.
2332
+
2333
+ 2006-02-08 KUBO Takehiro <kubo@jiubao.org>
2334
+ * lib/oci8.rb: move almost code to lib/oci8/oci8.rb.
2335
+ * lib/oci8/oci8.rb: moved from lib/oci8.rb.
2336
+
2337
+ 2006-02-04 KUBO Takehiro <kubo@jiubao.org>
2338
+ merge OCIStmt to OCi8::Curosr.
2339
+ * ext/oci8/oci8.c: implement OCI8::autocommit? and OCI8::autocommit=
2340
+ in C layer.
2341
+ * ext/oci8/oci8.h: fix oci8_svcctx_t structure to support
2342
+ OCI8::autocommit in C layer. fix Init_oci8_stmt() prototype.
2343
+ * ext/oci8/oci8lib.c: fix Init_oci8_stmt().
2344
+ * ext/oci8/stmt.c: OCIStmt become OCI8::Cursor. Almost OCIStmt's
2345
+ methods become private methods, which are called by ruby layer.
2346
+ * lib/oci8.rb.in: delete OCI8::autocommit?, OCI8::autocommit=,
2347
+
2348
+ 2006-02-02 KUBO Takehiro <kubo@jiubao.org>
2349
+ move non-blocking handling code from oci8.rb to oci8lib.so.
2350
+ * ext/oci8/error.c: add OCIBreak class.
2351
+ * ext/oci8/oci8.c: move oci8_svcctx_t to oci8.h.
2352
+ change oci8_commit(), oci8_rollback(), oci8_non_blocking_p()
2353
+ and oci8_set_non_blocking() to use oci_rc macro.
2354
+ change oci8_break() for oci_rc macro.
2355
+ delete oci8_reset(). OCIReset is called in oci_rc macro now.
2356
+ change oci8_get_svcctx() scope to global.
2357
+ implement OCI8#commit, OCI8#rollback, OCI8#non_blocking?,
2358
+ OCI8#non_blocking=, OCI8#break in C layer.
2359
+ * ext/oci8/oci8.h: move oci8_svcctx_t from oci8.c.
2360
+ implement oci_rc2 and oci_rc macro.
2361
+ * ext/oci8/stmt.c: change oci8_stmt_execute() and oci8_stmt_fetch()
2362
+ to use oci_rc macro.
2363
+ * lib/oci8.rb.in: delete non-blocking handling code.
2364
+ delete OCI8#commit, OCI8#rollback, OCI8#non_blocking?,
2365
+ OCI8#non_blocking=, OCI8#break from ruby layer.
2366
+
2367
+ 2006-01-29 KUBO Takehiro <kubo@jiubao.org>
2368
+ * ext/oci8/oci8lib.c: rename OCI8Base to OCIHandle.
2369
+
2370
+ 2006-01-28 KUBO Takehiro <kubo@jiubao.org>
2371
+ * ext/oci8/const.c: delete this file.
2372
+ delete global constants OCI_TYPECODE_*.
2373
+ * ext/oci8/extconf.rb: delete const.o from compilation objects.
2374
+ * ext/oci8/oci8lib.c: move oci8_id_new, OCI_DEFAULT and
2375
+ OCI_COMMIT_ON_SUCCESS from const.c.
2376
+ rename Init_oci8_svcctx() to Init_oci8().
2377
+ * ext/oci8/oci8.c: rename Init_oci8_svcctx() to Init_oci8().
2378
+ * ext/oci8/oci8.h: rename Init_oci8_svcctx() to Init_oci8() and so on...
2379
+
2380
+ 2006-01-28 KUBO Takehiro <kubo@jiubao.org>
2381
+ * ext/oci8/bind.c, ext/oci8/error.c, ext/oci8/oci8.c,
2382
+ ext/oci8/ocidatetime.c, ext/oci8/oradate.c,
2383
+ ext/oci8/oranumber.c, ext/oci8/param.c, ext/oci8/rowid.c,
2384
+ ext/oci8/stmt.c: fix indentation.
2385
+ * .cvsignore, ext/oci8/.cvsignore: added.
2386
+
2387
+ 2005-10-22 KUBO Takehiro <kubo@jiubao.org>
2388
+ * ext/oci8/oci8lib.c, ext/oci8/oci8.c, ext/oci8/svcctx.c, ext/oci8/extconf.rb:
2389
+ oci8.c is renamed to oci8lib.c.
2390
+ svcctx.c is renamed to oci8.c.
2391
+
2392
+ 2005-10-22 KUBO Takehiro <kubo@jiubao.org>
2393
+ * ext/oci8/ocidatetime.c: fix to bind OCIDateTime.
2394
+ * ext/oci8/oraconf.rb: add -R to linker on Solaris and Linux.
2395
+ http://rubyforge.org/tracker/index.php?func=detail&aid=2148&group_id=256&atid=1051
2396
+ * ext/oci8/svcctx.c: change a setter name. __non_blocking= doesn't work. use
2397
+ __set_non_blocking instead.
2398
+ * lib/oci8.rb.in: add ruby's Datetime support.
2399
+ * lib/ocidatetime.rb: add a ruby's Datetime support file.
2400
+ * test/test_all.rb: fix
2401
+ * test/test_break.rb: add two assesion to check a non_blocking status.
2402
+ * test/test_dbi.rb, test/test_oci8.rb: testcases for DateTime.
2403
+ * test/test_oradate.rb: delete an unsuccessfull testcase, which depends on libc implementation.
2404
+
2405
+ 2005-07-17 KUBO Takehiro <kubo@jiubao.org>
2406
+ * ext/oci8/lob.c, ext/oci8/oci8.c, ext/oci8/oci8.h, lib/oci8.rb.in:
2407
+ delete OCILobLocator. implement OCI8::LOB by C instead of ruby.
2408
+ * ext/oci8/svcctx.c: add more check in oci8_get_svcctx().
2409
+
2410
+ 2005-07-17 KUBO Takehiro <kubo@jiubao.org>
2411
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h, ext/oci8/ocidatetime.c,
2412
+ ext/oci8/ocinumber.c, ext/oci8/oradate.c, ext/oci8/oranumber.c,
2413
+ ext/oci8/rowid.c, ext/oci8/stmt.c, ext/oci8/svcctx.c:
2414
+ change arguments of (oci8_bind_class_t *)->init(). change the return
2415
+ value of oci8_get_svcctx(). add oci8_get_oci_session().
2416
+ * lib/oci8.rb.in: change arguments of OCI8::BindType:Base.new().
2417
+
2418
+ 2005-07-16 KUBO Takehiro <kubo@jiubao.org>
2419
+ * metaconfig: move "require 'base64'" and "require 'zlib'" to the
2420
+ next line of "def get_zcontent(file)" for a ruby which doesn't
2421
+ have 'zlib'.
2422
+
2423
+ 2005-07-10 KUBO Takehiro <kubo@jiubao.org>
2424
+ * ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/svcctx.c, lib/oci8.rb.in:
2425
+ OCISvcCtx class is merged to OCI8 class. OCISvcCtx's public instance
2426
+ methods become OCI8's private instance methods.
2427
+ * ext/oci8/depend: deleted.
2428
+
2429
+ 2005-07-10 KUBO Takehiro <kubo@jiubao.org>
2430
+ * Makefile, ext/oci8/extconf.rb: change version to 0.2.0-alpha.
2431
+ * ext/oci8/extconf.rb: add "ocidatetime.o" to $objs. add '--with-instant-client'
2432
+ to Makefile when setup.rb is called with '--with-instant-client'.
2433
+ * ext/oci8/oci8.c: add oci8_base_class. fix bug in oci8_handle_initialize().
2434
+ call Init_oci_datetime() in Init_oci8().
2435
+ * ext/oci8/oci8.h: add macros oci_lc, CHECK_STRING, TO_STRING_PTR and TO_STRING_LEN.
2436
+ * ext/oci8/ocinumber.c: add oci8_get_ocinumber().
2437
+ * ext/oci8/ocidatetime.c: add a new file for OCIDateTime.
2438
+
2439
+ 2005-07-09 KUBO Takehiro <kubo@jiubao.org>
2440
+ * ext/oci8/bind.c, ext/oci8/lob.c, ext/oci8/oci8.h, ext/oci8/oradate.c,
2441
+ ext/oci8/oranumber.c, ext/oci8/rowid.c, ext/oci8/stmt.c:
2442
+ use doubly linked list to free OCI8::BindType::*.
2443
+ * ext/oci8/extconf.rb, ext/oci8/oci8.c, ext/oci8/ocinumber.c: add OCINumber.
2444
+
2445
+ 2005-07-03 KUBO Takehiro <kubo@jiubao.org>
2446
+ * ext/oci8/*.c, ext/oci8/*.h: remove oci8_handle_t and oci8_base_class_t.
2447
+ use oci8_base_t and oci8_bind_t instead of them. use oci8_base_class_t
2448
+ and oci8_bind_class_t.
2449
+ * ext/oci8/descriptor.c, ext/oci8/handle.c: removed.
2450
+ * ext/oci8/rowid.c: added.
2451
+
2452
+ 2005-07-01 KUBO Takehiro <kubo@jiubao.org>
2453
+ * ext/oci8/oraconf.rb: try default $libs then get from demo_rdbms.mk.
2454
+
2455
+ 2005-06-29 KUBO Takehiro <kubo@jiubao.org>
2456
+ * ext/oci8/oraconf.rb: don't read sysliblist when instant client.
2457
+
2458
+ 2005-06-12 KUBO Takehiro <kubo@jiubao.org>
2459
+ * ext/oci8/const.c: delete unused constants.
2460
+ move some oci_id_* to ext/oci8/error.c.
2461
+ move oci8_sym_*stmt to ext/oci8/stmt.c.
2462
+ * ext/oci8/error.c:
2463
+ move some oci_id_* from ext/oci8/const.c.
2464
+ move subclasses of cOCIException from ext/oci8/oci8.c.
2465
+ * ext/oci8/extconf.rb: add have_func("localtime_r").
2466
+ * ext/oci8/handle.c: delete explicit OCIParam.
2467
+ * ext/oci8/lob.c: delete #ifdef OCI8_USE_CALLBACK_LOB_READ.
2468
+ * ext/oci8/oci8.c:
2469
+ move subclasses of cOCIException to ext/oci8/error.c.
2470
+ move cOraDate to ext/oci8/oradate.c.
2471
+ move cOraNumber to ext/oci8/oranumber.c.
2472
+ * ext/oci8/oci8.h:
2473
+ move ora_date_t to ext/oci8/oradate.c.
2474
+ move ora_number_t and ora_vnumber_t to ext/oci8/oranumber.c.
2475
+ * ext/oci8/oradate.c: fix indentation.
2476
+ move cOraDate from ext/oci8/oci8.c.
2477
+ move ora_date_t from ext/oci8/oci8.h.
2478
+ * ext/oci8/oranumber.c: fix indentation.
2479
+ move cOraNumber from ext/oci8/oci8.c.
2480
+ move ora_number_t and ora_vnumber_t from ext/oci8/oci8.h.
2481
+ * ext/oci8/param.c: delete OCIParam#paramGet().
2482
+ * ext/oci8/stmt.c:
2483
+ move oci8_sym_*stmt from ext/oci8/const.c.
2484
+ fix OCIStmt#prepare() and OCIStmt#execute().
2485
+
2486
+ 2005-06-12 KUBO Takehiro <kubo@jiubao.org>
2487
+ * ext/oci8/bind.c: add oci8_register_bind_type().
2488
+ move bind_rowid* to ext/oci8/descriptor.c.
2489
+ move bind_clob* and bind_blob* to ext/oci8/lob.c.
2490
+ move bind_oradate* to ext/oci8/oradate.c.
2491
+ move bind_oranumber* and bind_integer* to ext/oci8/oranumber.c.
2492
+ move bind_stmt* to ext/oci8/stmt.c.
2493
+ * ext/oci8/const.c: add oci8_sym_*_stmt. delete ruby constants OCI_STMT_*.
2494
+ * ext/oci8/descriptor.c: move bind_rowid* from ext/oci8/bind.c.
2495
+ * ext/oci8/lob.c: move bind_clob* and bind_blob* from ext/oci8/bind.c.
2496
+ * ext/oci8/oci8.c: change initialization order for oci8_register_bind_type().
2497
+ * ext/oci8/oci8.h: add oci8_register_bind_type(). add oci8_sym_*_stmt.
2498
+ * ext/oci8/oradate.c: move bind_oradate* from ext/oci8/bind.c.
2499
+ oci8_set_ora_date() become a static function.
2500
+ delete oci8_get_ora_date().
2501
+ * ext/oci8/oranumber.c: move bind_oranumber* and bind_integer* from ext/oci8/bind.c.
2502
+ * ext/oci8/stmt.c: move bind_stmt* from ext/oci8/bind.c.
2503
+ OCIStmt#stmt_type returns a Symbol instead of a Fixnum.
2504
+ * lib/oci8.rb.in: OCI8::Cursor#type returns a Symbol instead of a Fixnum.
2505
+
2506
+ 2005-06-12 KUBO Takehiro <kubo@jiubao.org>
2507
+ * ext/oci8/extconf.rb: add have_func("OCILobLocatorAssign").
2508
+ * ext/oci8/lob.c: delete OCILobLocator#getChunkSize().
2509
+ use OCILobAssign instead of OCILobLocatorAssign on Oracle 8.
2510
+ * ext/oci8/attr.c, ext/oci8/oci8.h: delete OCI*#attrGet(), OCI*#attrSet().
2511
+ * ext/oci8/const.c: delete OCI_ATTR_* constants.
2512
+ * ext/oci8/descriptor.c: delete OCIDescriptor#attrGet(), OCIDescriptor#attrSet().
2513
+ * ext/oci8/handle.c: delete OCIHandle#attrGet(), OCIHandle#attrSet().
2514
+ * ext/oci8/param.c: add OCIParam#name, OCIParam#data_type, OCIParam#data_size,
2515
+ OCIParam#precision and OCIParam#scale.
2516
+ * ext/oci8/stmt.c: add OCIStmt#stmt_type, OCIStmt#row_count, OCIStmt#rowid and
2517
+ OCIStmt#param_count.
2518
+ * lib/oci8.rb.in: use OCIParam#name, OCIParam#data_type, OCIParam#data_size,
2519
+ OCIParam#precision, OCIParam#scale, OCIStmt#stmt_type, OCIStmt#row_count,
2520
+ OCIStmt#rowid and OCIStmt#param_count instead of OCIHandle#attrGet() and
2521
+ OCIDescriptor#attrGet().
2522
+
2523
+ 2005-06-12 KUBO Takehiro <kubo@jiubao.org>
2524
+ * ext/oci8/oraconf.rb: rewrie OraConf#check_lp64().
2525
+ * ext/oci8/bind.c, ext/oci8/descriptor.c, ext/oci8/env.c,
2526
+ ext/oci8/handle.c, ext/oci8/lob.c, ext/oci8/oci8.h,
2527
+ ext/oci8/stmt.c, ext/oci8/svcctx.c, lib/oci8.rb.in:
2528
+ delete an OCIEnv instance from each instance method's argument.
2529
+ get it from the internal global variable in C.
2530
+ * ext/oci8/oci8.c, lib/DBD/OCI8/OCI8.rb: change the OCIBind class name
2531
+ to OCI8::BindType::Base.
2532
+ * lib/oci8.rb.in: fix typo rb_eArgError to ArgumentError.
2533
+
2534
+ 2005-06-08 KUBO Takehiro <kubo@jiubao.org>
2535
+ * ext/oci8/oraconf.rb: test __64BIT__ to check whether lp64. (for AIX 64bit)
2536
+
2537
+ 2005-05-31 KUBO Takehiro <kubo@jiubao.org>
2538
+ * ext/oci8/oraconf.rb: fix for cygwin. fix for oracle instant client.
2539
+ * metaconfig: add distbin task.
2540
+
2541
+ 2005-05-29 KUBO Takehiro <kubo@jiubao.org>
2542
+ * ext/oci8/oraconf.rb: change the detection logic for Multiple
2543
+ Oracle Homes on Windows.
2544
+
2545
+ 2005-05-24 KUBO Takehiro <kubo@jiubao.org>
2546
+ * ext/oci8/oraconf.rb: use "-L#{@oracle_home}/lib(32) -lclntsh" as
2547
+ a last resort.
2548
+
2549
+ 2005-04-14 KUBO Takehiro <kubo@jiubao.org>
2550
+ * ext/oci8/oraconf.rb: fix for Cygwin with Oracle instant client.
2551
+ add Oraconf#lp64, which is true when long and pointer are 64 bits.
2552
+ improve error message.
2553
+
2554
+ 2005-04-10 KUBO Takehiro <kubo@jiubao.org>
2555
+ * README: change the document format for rdoc.
2556
+ * ext/oci8/bind.c, ext/oci8/descriptor.c, ext/oci8/env.c,
2557
+ ext/oci8/error.c, ext/oci8/const.c, ext/oci8/handle.c
2558
+ ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/stmt.c:
2559
+ change bind_type_t structure. bind_* variables in binc.c
2560
+ become OCI8::BindType::* which are subclasses of OCIBind.
2561
+ add envh member to oci8_handle_t and oci8_bind_handle_t.
2562
+ add OCIRowid#initialize.
2563
+ delete macros to compile on ruby 1.6.
2564
+ * lib/oci8.rb.in: add comments for rdoc.
2565
+ change OCI8::BindType::*.
2566
+ * lib/DBD/OCI8/OCI8.rb
2567
+ change DBI::DBD::OCI8::BindType::*.
2568
+
2569
+ 2005-04-06 KUBO Takehiro <kubo@jiubao.org>
2570
+ * ext/oci8/oci8.h, ext/oci8/handle.c: delete enum oci8_bind_type.
2571
+ add oci8_bind_type_t.
2572
+ * ext/oci8/bind.c: add oci8_bind_type_t structures bind_string, bind_raw,
2573
+ bind_fixnum, bind_float, bind_oradate, bind_integer, bind_oranumber,
2574
+ bind_rowid, bind_clob, bind_blob, and bind_stmt.
2575
+ add oci8_bind_type_set() and oci8_bind_type_get() to get/set
2576
+ an oci8_bind_type_t structure.
2577
+ delete oci8_get_value() and oci8_set_value(), use
2578
+ (oci8_bind_type_t*)->get()/set() instead.
2579
+ * ext/oci8/stmt.c: change check_bind_type() by using oci8_bind_type_t.
2580
+ change oci8_define_by_pos(), oci8_bind_by_pos() and oci8_bind_by_name().
2581
+ * ext/oci8/MANIFEST, ext/oci8/depend, ext/oci8/extconf.rb, ext/oci8/oci8.c,
2582
+ ext/oci8/define.c: delete define.c and Init_define().
2583
+ * lib/oci8.rb.in: change OCI8::BindType::Float, OCI8::BindType::Fixnum,
2584
+ OCI8::BindType::Integer and OCI8::BindType::OraNumber for in-bind.
2585
+
2586
+ 2005-04-03 KUBO Takehiro <kubo@jiubao.org>
2587
+ * ext/oci8/oraconf.rb: improve Oracle instance client check:
2588
+ 1. add more strict libclntsh.so check.
2589
+ 2. change LD_LIBRARY_PATH message by its platform.
2590
+ 3. add '-Wl,-rpath,#{lib_dir}' to $libs when Linux.
2591
+ * ext/oci8/MANIFEST, ext/oci8/depend, ext/oci8/extconf.rb:
2592
+ delete server.c and session.c.
2593
+ * ext/oci8/attr.c: delete OCISvcCtx#attrGet(OCI_ATTR_NONBLOCKING_MODE),
2594
+ OCISvcCtx#attrSet(OCI_ATTR_NONBLOCKING_MODE, nil),
2595
+ OCISvcCtx#attrSet(OCI_ATTR_SERVER, aOCIServer),
2596
+ OCISvcCtx#attrSet(OCI_ATTR_SESSION, aOCISession).
2597
+ * ext/oci8/const.c: delete constants unused by high-level API.
2598
+ delete oci8_id_server, oci8_id_session.
2599
+ * ext/oci8/handle.c, ext/oci8/descriptor.c: use ruby1.8 allocation
2600
+ framework.
2601
+ * ext/oci8/env.c: add OCIEnv.new. delete OCIEnv.initialise(),
2602
+ OCIEnv.init(), OCIEnv.create(), OCIEnv.terminate(),
2603
+ OCIEnv#alloc(), OCIEnv#logon().
2604
+ * ext/oci8/oci8.c, ext/oci8/oci8.h: use ruby1.8 allocation
2605
+ framework. delete OCIServer and OCISession.
2606
+ * ext/oci8/lob.c: add OCILobLocator.new
2607
+ * ext/oci8/stmt.c: add OCIStmt.new
2608
+ * ext/oci8/svcctx.c: add OCISvcCtx.new, OCISvcCtx#non_blocking?,
2609
+ OCISvcCtx#non_blocking=
2610
+ * ext/oci8/server.c, ext/oci8/session.c: deleted.
2611
+ * lib/oci8.rb.in: use OCIEnv.new and OCISvcCtx.new instead of
2612
+ OCIEnv.create, OCIEnv#alloc, OCISession#begin, OCIServer#attach.
2613
+ use OCISvcCtx.logoff instead of OCISession#end, OCIServer#detach,
2614
+ OCISvcCtx.free. use OCISvcCtx#non_blocking? instead of
2615
+ OCISvcCtx#attrGet(OCI_ATTR_NONBLOCKING_MODE).
2616
+ use OCISvcCtx#non_blocking= instead of
2617
+ OCISvcCtx#attrSet(OCI_ATTR_NONBLOCKING_MODE, nil).
2618
+ use <OCICLASS>.new(anOCIEnv) instead of
2619
+ OCIEnv#alloc(<OCIClass>)
2620
+ * lib/DBD/OCI8/OCI8.rb: use OCIStmt.new(env) instead of
2621
+ env.alloc(OCIStmt).
2622
+
2623
+ 2005-03-27 KUBO Takehiro <kubo@jiubao.org>
2624
+ * ext/oci8/server.c: delete OCIServer#version, OCIServer#break, OCIServer#reset.
2625
+ * ext/oci8/stmt.c: OCIStmt#bindByName accepts a symbol as a bind name.
2626
+ * lib/oci8.rb.in: add OCI8::LOB#sync, OCI8::LOB#sync= and OCI8::LOB#flush.
2627
+ * test/test_bind_raw.rb, test/test_bind_time.rb, test/test_clob.rb,
2628
+ test/test_oradate.rb, test/test_oranumber.rb: use OCI8 high-level API
2629
+ instead of low-level API.
2630
+
2631
+ 2005-03-24 KUBO Takehiro <kubo@jiubao.org>
2632
+ * oci8.rb.in: fix bug on binding Time or Date.
2633
+ * support/*: deleted.
2634
+ * test/*.rb: use 'test/unit' instead of runit.
2635
+ ruby 1.6.8 won't be supported by this commit.
2636
+ * ext/oci8/MANIFEST, ext/oci8/depend, ext/oci8/describe.c(deleted),
2637
+ ext/oci8/env.c, ext/oci8/extconf.rb, ext/oci8/handle.c,
2638
+ ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/svcctx.c:
2639
+ delete OCIDescribe and OCISvcCtx#describeAny. OCIDescribe isn't used by
2640
+ oci8 high-level API.
2641
+ * test/test_all.rb, test/test_describe.rb(deleted): delete OCIDescribe
2642
+ test cases.
2643
+
2644
+ 2005-03-23 KUBO Takehiro <kubo@jiubao.org>
2645
+ * oci8.rb.in, OCI8.rb:
2646
+ delete OCI8.register_type_fixer, OCI8::TypeFixer.
2647
+ add OCI8::BindType::* instead.
2648
+
2649
+ 2005-03-21 KUBO Takehiro <kubo@jiubao.org>
2650
+ * oci8.rb.in, OCI8.rb: refactoring OCI8::Cursor#define_a_column
2651
+ * Makefile, ext/oci8/extconf.rb: change version to 0.1.10
2652
+
2653
+ 2005-03-20 KUBO Takehiro <kubo@jiubao.org>
2654
+ * ext/oci8/stmt.c, lib/oci8.rb.in, lib/DBD/OCI8/OCI8.rb, test/test_dbi.rb:
2655
+ enable DATE to be bound as a DBI::Date or a DBI::Timestamp.
2656
+
2657
+ 2005-03-20 KUBO Takehiro <kubo@jiubao.org>
2658
+ * ext/oci8/stmt.c, lib/oci8.rb.in, test/test_oci8.rb:
2659
+ bind a ref cursor as an OCI8::Cursor.
2660
+ apply a patch at <URL:http://rubyforge.org/tracker/index.php?func=detail&aid=1409&group_id=256&atid=1053>.
2661
+
2662
+ 2005-01-16 KUBO Takehiro <kubo@jiubao.org>
2663
+
2664
+ * lib/oci8.rb.in: change default bindtype for NUMBER with
2665
+ unspecified scale.
2666
+ (This problem is reported by William Lawson, Dmitry Maksyoma and Andreas Habel)
2667
+ * lib/oci8.rb.in: add OCI8::Cursor.select_number_as=
2668
+ (for someone who want old bindtype)
2669
+ * lib/oci8.rb.in: add OCI8::Cursor#fetch_hash
2670
+ (contributed by Jason Sweat)
2671
+ * ext/oci8/oci8.h, ext/oci8/stmt.c: don't raise an error when OCI_SUCCESS_WITH_INFO.
2672
+ (suggested by Kenji Nishishiro)
2673
+ * ext/ooi8/oraconf.rb: support Oracle Instant Installer.
2674
+ (suggested by Eustaquio Rangel de Oliveira Jr.)
2675
+ * Makefile, ext/oci8/extconf.rb: change version to 0.1.9
2676
+
2677
+ 2004-10-30 KUBO Takehiro <kubo@jiubao.org>
2678
+
2679
+ * pre-distclean.rb: delete a temporary file made by ext/oci8/oraconf.rb.
2680
+ * ext/oci8/oraconf.rb: 1. change object files to an archive file
2681
+ to work around on Oracle 8.1.7. 2. raise error when OCI.H can't
2682
+ be found on Windows.
2683
+
2684
+ 2004-06-21 KUBO Takehiro <kubo@jiubao.org>
2685
+
2686
+ * Makefile, ext/oci8/extconf.rb: change version to 0.1.8-pre1
2687
+ * lib/DBD/OCI8/OCI8.rb: add DBI::DatabaseHandle#tables. add DBI::StatementHandle#func(:bind_value, ...).
2688
+
2689
+ 2004-03-07 KUBO Takehiro <kubo@jiubao.org>
2690
+
2691
+ * ext/oci8/extconf.rb: fix to use setup.rb.
2692
+ * ext/oci8/oraconf.rb: add support Borland C++ Builder.
2693
+ * lib/oci8.rb.in: support OCI8::CLOB.
2694
+ * test/config.rb: CLOB test file depends on NLS_LANG.
2695
+ * test/test_oci8.rb: fix a test method.
2696
+ * test/test_break.rb: break time depends on OS?...
2697
+ * test/test_dbi_clob.rb: add a new file to test CLOB via DBI.
2698
+
2699
+ 2003-09-20 KUBO Takehiro <kubo@jiubao.org>
2700
+
2701
+ * src/handle.c: fix bug of OCI8::BLOB at running GC.
2702
+ * src/stmt.c: accept Bignum as (({type})) of OCI8::Cursor#define.
2703
+ * src/lib/oci8.rb.in: accept OCI8::BLOB as (({type})) of OCI8::Cursor#define.
2704
+ * src/lib/DBD/OCI8/OCI8.rb: add (({define})) function to DBD::OCI8.
2705
+ * src/oranumber.c, src/oci8.h: use rb_cstr_to_dbl instead of strtod for ruby 1.8.
2706
+ * support/runit/cui/testrunner.rb, support/runit/testcase.rb: fix for ruby 1.8.
2707
+ * test/test_dbi.rb: add a test method.
2708
+ * test/test_oci8.rb: fix a test method.
2709
+
2710
+ 2003-08-03 KUBO Takehiro <kubo@jiubao.org>
2711
+
2712
+ * Makefile: update version to 0.1.5
2713
+ * MANIFEST: add test/test_oci8.rb
2714
+ * src/lib/oci8.rb.in: implement OCI8::Cursor#define, OraDate#to_time and OraDate#to_date.
2715
+ * test/test_oci8.rb: add new tests of OCI8::Cursor#define.
2716
+ * test/test_oradate.rb: add new tests of OraDate#to_time and OraDate#to_date.
2717
+ * test/test_all.rb: call test_oci8.rb.
2718
+
2719
+ 2003-07-20 KUBO Takehiro <kubo@jiubao.org>
2720
+
2721
+ * src/stmt.c: When the error "ORA-01000: maximum open cursors
2722
+ exceeded" happens, run garbage collect to close unused cursors
2723
+ and retry automatically.
2724
+
2725
+ 2003-06-07 KUBO Takehiro <kubo@jiubao.org>
2726
+
2727
+ * Makefile: update version to 0.1.4
2728
+ * src/lob.c: add OCILobLocator#clone()
2729
+ * src/bind.c, src/stmt.c, src/lib/oci8.rb.in: fix BLOB support.
2730
+ * src/lib/DBD/OCI8/OCI8.rb: set the backtrace of an original exception
2731
+ to newly created DBI exception.
2732
+ * src/oraconf.rb: retry get_libs with postfix '32' when compilation
2733
+ failed with Oracle 9i on Solaris.
2734
+ * src/oradate.c: add OraDate#<=> and include 'Comparable'.
2735
+ (contributed by Brian Candler)
2736
+ * test/test_oradate.rb: add test cases of OraDate#<=>.
2737
+
2738
+ 2003-04-27 KUBO Takehiro <kubo@jiubao.org>
2739
+
2740
+ * Makefile: update version to 0.1.3
2741
+ * doc/api.*.rd, doc/api.*.html: update document.
2742
+ * src/lob.c: add new LOB APIs.
2743
+ * src/lib/oci8.rb.in: add BLOB support.
2744
+ * src/lib/DBD/OCI8/OCI8.rb: add 'NonBlocking' support(suggested by Brian Candler).
2745
+ raise subclass of DBI::DatabaseError, which depends on its error code.
2746
+
2747
+ 2003-03-08 KUBO Takehiro <kubo@jiubao.org>
2748
+
2749
+ * Makefile: update version to 0.1.2
2750
+ * src/extconf.rb: use Oraconf#cc_is_gcc.
2751
+ * src/oraconf.rb: support Solaris with gcc.
2752
+ * src/handle.c: suppress warning about uninitialized instance variables.
2753
+ * src/oranumber.c, test/test_oranumber.rb: fix serious bug of
2754
+ conversion routine from Oracle internal number format to string.
2755
+
2756
+ 2003-02-01 KUBO Takehiro <kubo@jiubao.org>
2757
+
2758
+ * Makefile: update version to 0.1.1.
2759
+ * src/oraconf.rb: added. Oracle specific features were moved from
2760
+ src/extconf.rb, src/extunix.rb and src/extwin32.rb
2761
+ * src/extunix.rb, src/extwin32.rb: deleted.
2762
+ * src/extconf.rb: use oraconf.rb.
2763
+ * src/error.c, src/oci8.h: use macro RBOCI_NORETURN not NORETURN.
2764
+ * MANIFEST, Makefile: fix for added and deleted files.
2765
+
2766
+ 2002-09-12 KUBO Takehiro <kubo@jiubao.org>
2767
+
2768
+ * Makefile: update version to 0.1.0.
2769
+ * README: support cygwin and mingw32.
2770
+ * test/test_oradate.rb: delete test_now().
2771
+ * src/extconf.rb: support mingw32.
2772
+
2773
+ 2002-09-12 Hitoshi Endoh <h-endoh@mbf.nifty.com>
2774
+
2775
+ * src/extwin32.rb: support cygwin.
2776
+
2777
+ 2002-09-12 KUBO Takehiro <kubo@jiubao.org>
2778
+
2779
+ * ChangeLog: Added.