ruby-oci8 2.0.6 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. data/ChangeLog +366 -19
  2. data/Makefile +2 -8
  3. data/NEWS +111 -0
  4. data/README +4 -85
  5. data/VERSION +1 -1
  6. data/dist-files +9 -2
  7. data/ext/oci8/.document +1 -0
  8. data/ext/oci8/apiwrap.c.tmpl +12 -2
  9. data/ext/oci8/apiwrap.yml +37 -21
  10. data/ext/oci8/attr.c +23 -74
  11. data/ext/oci8/bind.c +93 -225
  12. data/ext/oci8/connection_pool.c +201 -0
  13. data/ext/oci8/encoding.c +117 -24
  14. data/ext/oci8/env.c +5 -10
  15. data/ext/oci8/error.c +171 -189
  16. data/ext/oci8/extconf.rb +6 -2
  17. data/ext/oci8/lob.c +81 -79
  18. data/ext/oci8/metadata.c +42 -177
  19. data/ext/oci8/object.c +55 -28
  20. data/ext/oci8/oci8.c +426 -294
  21. data/ext/oci8/oci8.h +84 -51
  22. data/ext/oci8/oci8lib.c +75 -53
  23. data/ext/oci8/ocidatetime.c +67 -88
  24. data/ext/oci8/ocihandle.c +78 -37
  25. data/ext/oci8/ocinumber.c +166 -109
  26. data/ext/oci8/oraconf.rb +68 -157
  27. data/ext/oci8/oradate.c +2 -7
  28. data/ext/oci8/stmt.c +40 -183
  29. data/ext/oci8/thread_util.c +85 -0
  30. data/ext/oci8/thread_util.h +30 -0
  31. data/lib/oci8.rb.in +19 -13
  32. data/lib/oci8/.document +2 -0
  33. data/lib/oci8/bindtype.rb +62 -45
  34. data/lib/oci8/connection_pool.rb +118 -0
  35. data/lib/oci8/datetime.rb +304 -320
  36. data/lib/oci8/encoding-init.rb +62 -30
  37. data/lib/oci8/encoding.yml +3 -3
  38. data/lib/oci8/metadata.rb +552 -497
  39. data/lib/oci8/object.rb +9 -9
  40. data/lib/oci8/oci8.rb +161 -2
  41. data/lib/oci8/ocihandle.rb +427 -0
  42. data/lib/oci8/properties.rb +31 -1
  43. data/ruby-oci8.gemspec +10 -3
  44. data/test/README +41 -3
  45. data/test/config.rb +16 -0
  46. data/test/test_all.rb +3 -0
  47. data/test/test_bind_string.rb +106 -0
  48. data/test/test_break.rb +33 -7
  49. data/test/test_clob.rb +13 -10
  50. data/test/test_connection_pool.rb +125 -0
  51. data/test/test_connstr.rb +2 -2
  52. data/test/test_datetime.rb +26 -66
  53. data/test/test_encoding.rb +7 -3
  54. data/test/test_error.rb +88 -0
  55. data/test/test_metadata.rb +1356 -204
  56. data/test/test_oci8.rb +27 -8
  57. data/test/test_oranumber.rb +41 -0
  58. metadata +34 -9
  59. data/ext/oci8/xmldb.c +0 -383
data/ChangeLog CHANGED
@@ -1,6 +1,263 @@
1
+ 2011-12-13 KUBO Takehiro <kubo@jiubao.org>
2
+ * VERSION: update to 2.1.0.
3
+ * ext/oci8/error.c, ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/ocidatetime.c,
4
+ ext/oci8/ocinumber.c, ext/oci8/stmt.c: suppress gcc-4.6 warnings.
5
+
6
+ 2011-12-11 KUBO Takehiro <kubo@jiubao.org>
7
+ * ext/oci8/connection_pool.c: fix a buffer overrun in oci8_cpool_initialize().
8
+
9
+ 2011-12-11 KUBO Takehiro <kubo@jiubao.org>
10
+ * NEWS: add changes between 2.0.6 and 2.1.0.
11
+ * README, test/README: rewritten.
12
+ * ext/oci8/connection_pool.c: add a note.
13
+
14
+ 2011-12-10 KUBO Takehiro <kubo@jiubao.org>
15
+ * test/test_bind_string.rb: suppress "No tests were specified" when
16
+ the client character set is not UTF-8.
17
+
18
+ 2011-12-10 KUBO Takehiro <kubo@jiubao.org>
19
+ * lib/oci8/oci8.rb, lib/oci8/properties.rb, test/test_datetime.rb:
20
+ revert OCI8.properties[:time_zone] which was added 5 days ago.
21
+ * lib/oci8.rb.in: use ENV['ORA_SDTZ'] instead of 'alter session set time_zone = ...'
22
+ to set Oracle session time zone. On cygwin, explicitly set
23
+ environments variables which start with 'ORA_' to WIN32 environments.
24
+
25
+ 2011-12-10 KUBO Takehiro <kubo@jiubao.org>
26
+ * test/test_oci8.rb: fix test_select when TZ set to daylight saving time.
27
+ (reported by Yasuo Honda)
28
+
29
+ 2011-12-06 KUBO Takehiro <kubo@jiubao.org>
30
+ * ext/oci8/oci8.c: raise a RuntimeError when non-blocking mode is set to a connection
31
+ allocated from OCI8::ConnectionPool on ruby 1.8.
32
+ Ruby 1.9.x and rubinius don't have the limitation.
33
+ * test/test_connection_pool.rb: fix for ruby 1.8.
34
+ * test/test_oranumber.rb: fix for ruby 1.9.1 and 1.8.
35
+
36
+ 2011-12-05 KUBO Takehiro <kubo@jiubao.org>
37
+ * lib/oci8/oci8.rb, lib/oci8/properties.rb, test/test_datetime.rb.
38
+ add OCI8.properties[:time_zone] and use ENV['TZ'] or the time_zone
39
+ propery to set Oracle session time zone.
40
+ Fix #2 at http://github.com/kubo/ruby-oci8.
41
+ (reported by Yasuo Honda)
42
+
43
+ 2011-12-05 KUBO Takehiro <kubo@jiubao.org>
44
+ * lib/oci8/encoding-init.rb, lib/oci8/oci8.rb: add OCI8.client_charset_name.
45
+ * test/config.rb: use OCI8.client_charset_name instead of OCI8.encoding.
46
+ Ruby-oci8 compiled for ruby 1.8 doesn't has the latter.
47
+ * lib/oci8/properties.rb, test/test_all.rb, test/test_bind_string.rb,
48
+ test/test_encoding.rb: add a test for OCI8.properties[:lenght_semantics]
49
+ and move the test for OCI8.properties[:bind_string_as_nchar] from
50
+ test/test_encoding.rb to test/test_bind_string.rb.
51
+
52
+ 2011-12-04 KUBO Takehiro <kubo@jiubao.org>
53
+ * test/config.rb, test/test_encoding.rb: add tests for bind_string_as_nchar
54
+ property.
55
+ * ext/oci8/metadata.c, lib/oci8/metadata.rb: delete the internally used
56
+ OCI8::Metadata::Base#__charset_name method.
57
+ * lib/oci8/oci8.rb: add OCI8#database_charset_name. (added to test
58
+ bind_string_as_nchar.)
59
+
60
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
61
+ * lib/oci8.rb.in: fix to work with ruby 2.0.
62
+
63
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
64
+ * test/test_connection_pool.rb: fix to pass a connection pool test.
65
+ OCI8::ConnectionPool#open_count after decrement depends on
66
+ Oracle version. (reported by Yasuo Honda)
67
+
68
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
69
+ * test/test_metadata.rb: Check object type availability by querying
70
+ all_objects data dictionary. Fix #3 at http://github.com/kubo/ruby-oci8.
71
+ (reported by Yasuo Honda)
72
+
73
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
74
+ * ruby-oci8.gemspec: Use Gem::Command.build_args to get arguments
75
+ after '--'. This may solve issues #4 at http://github.com/kubo/ruby-oci8.
76
+ (reported by jbirdjavi)
77
+
78
+ 2011-12-03 KUBO Takehiro <kubo@jiubao.org>
79
+ * ext/oci8/apiwrap.yml: fix for run-time Oracle function checking.
80
+ * ext/oci8/oraconf.rb: fix a bug not to compile for full client on
81
+ Windows. The bug was caused by the commit at 2011-10-17.
82
+ * lib/oci8/connection_pool.rb, lib/oci8/properties.rb: fix rdoc
83
+ comments.
84
+
85
+ 2011-11-27 KUBO Takehiro <kubo@jiubao.org>
86
+ * test/test_break.rb: fix test_timeout test for an Oracle server
87
+ on Windows.
88
+ * test/test_all.rb, test/test_connection_pool.rb: add testcases
89
+ of OCI8::ConnectionPool.
90
+ * test/test_oci8.rb: add a testcase for OCI8#last_error.
91
+ * test/test_oranumber.rb: add a testcase for OCI8.properties[:float_conversion_type].
92
+
93
+ 2011-11-26 KUBO Takehiro <kubo@jiubao.org>
94
+ * ext/oci8/object.c, test/test_object.rb: fix a bug that an array is
95
+ always bound as null. This bug was introduced in ruby-oci8 2.0.5.
96
+ (reported by Leoš Bitto)
97
+
98
+ 2011-11-23 KUBO Takehiro <kubo@jiubao.org>
99
+ * ext/oci8/oci8.c, lib/oci8/oci8.rb, lib/oci8/ocihandle.rb,
100
+ test/test_connstr.rb: support sysasm privilege.
101
+ OCI8.new('username/password as sysasm')
102
+ or
103
+ OCI8.new('username', 'password', nil, :SYSASM)
104
+
105
+ 2011-11-04 KUBO Takehiro <kubo@jiubao.org>
106
+ * lib/oci8/encoding.yml: fix the mapping from Oracle NLS chacacter set
107
+ to ruby encoding to use CP950 and CP951, which are new encodings
108
+ in ruby 1.9.3.
109
+
110
+ 2011-11-04 KUBO Takehiro <kubo@jiubao.org>
111
+ * ext/oci8/ocinumber.c: add a workaround to avoid a gcc internal
112
+ compiler error when using ruby 1.9.2-p290 on ubuntu 11.10 (64bit).
113
+ (reported by Bob Saveland.)
114
+
115
+ 2011-11-04 KUBO Takehiro <kubo@jiubao.org>
116
+ * ext/oci8/extconf.rb, ext/oci8/oci8.c, ext/oci8/oci8.h,
117
+ test/test_datetime.rb, test/test_metadata.rb: fix to pass tests
118
+ on Oracle 9i.
119
+
120
+ 2011-10-29 KUBO Takehiro <kubo@jiubao.org>
121
+ * ext/oci8/error.c, ext/oci8/oci8.c, lib/oci8/object.rb, lib/oci8/oci8.rb:
122
+ reset OCI8#last_error when OCI8#parse or OCI8#exec is called.
123
+ fix bugs added by the last commit but one.
124
+
125
+ 2011-10-29 KUBO Takehiro <kubo@jiubao.org>
126
+ * ext/oci8/oraconf.rb: use RbConfig::CONFIG instead of obsolete
127
+ Config::CONFIG.
128
+
129
+ 2011-10-22 KUBO Takehiro <kubo@jiubao.org>
130
+ * ext/oci8/attr.c, ext/oci8/bind.c, ext/oci8/connection_pool.c,
131
+ ext/oci8/error.c, ext/oci8/lob.c, ext/oci8/metadata.c,
132
+ ext/oci8/object.c, ext/oci8/oci8.c, ext/oci8/oci8.h,
133
+ ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c, ext/oci8/ocihandle.c,
134
+ ext/oci8/ocinumber.c, ext/oci8/stmt.c: add OCI8#last_error and
135
+ OCI8#last_error=. When an exception is raised associated with a
136
+ connection, the exception is set to OCI8#last_error.
137
+ No OCISuccessWithInfo excpetion is raised from now on. It is
138
+ set to OCI8#last_error instead.
139
+
140
+ 2011-10-22 KUBO Takehiro <kubo@jiubao.org>
141
+ * ext/oci8/error.c, test/test_break.rb, test/test_error.rb: change the super
142
+ class of OCINoData from OCIException to OCIError and fix testcases for
143
+ OCIError and its subclasses.
144
+
145
+ 2011-10-22 KUBO Takehiro <kubo@jiubao.org>
146
+ * ext/oci8/lob.c, ext/oci8/oci8.c, ext/oci8/ocinumber.c:
147
+ delete code for Oracle 8 and Oracle 8i.
148
+
149
+ 2011-10-21 KUBO Takehiro <kubo@jiubao.org>
150
+ * ext/oci8/error.c, ext/oci8/oci8.h: refactor OCIException and its
151
+ subclasses. OCIError#codes and OCIError#messages are deleted.
152
+ * test/test_all.rb, test/test_error.rb: add a testcase to check
153
+ OCIException's methods.
154
+
155
+ 2011-10-21 KUBO Takehiro <kubo@jiubao.org>
156
+ * ext/oci8/oraconf.rb: fix checking code whether 'sys/types.h' is
157
+ available for Ubuntu 11.10 where sys/types.h is not right under
158
+ /usr/include.
159
+
160
+ 2011-10-21 KUBO Takehiro <kubo@jiubao.org>
161
+ * ext/oci8/oraconf.rb: remove code to get linker options for Oracle 8
162
+ and Oracle 8i.
163
+
164
+ 2011-10-17 KUBO Takehiro <kubo@jiubao.org>
165
+ * ext/oci8/oraconf.rb: embed a run-time loading path to the extention
166
+ library oci8lib_*.so compiled for not only full clients, but also
167
+ instant clients on Linux and Solaris.
168
+ (suggested by d c and others.)
169
+
170
+ 2011-10-09 KUBO Takehiro <kubo@jiubao.org>
171
+ * ext/oci8/ocidatetime.c, lib/oci8/datetime.rb, lib/oci8/object.rb:
172
+ add OCI8::BindType::OCITimestamp, OCI8::BindType::LocalDateTime,
173
+ OCI8::BindType::UTCDateTime, OCI8::BindType::LocalTime and
174
+ OCI8::BindType::UTCTime. The first is used for internal use.
175
+ The others are used for timestamp (without time zone) datatype.
176
+
177
+ 2011-10-01 KUBO Takehiro <kubo@jiubao.org>
178
+ * ext/oci8/attr.c, ext/oci8/ocidatetime.c, ext/oci8/oradate.c: delete
179
+ subversion keywords.
180
+ * ext/oci8/env.c, ext/oci8/oci8.h, ext/oci8/thread_util.c,
181
+ ext/oci8/thread_util.h: use thread-local errhp not only at ruby 1.9
182
+ and rubinius, but also ruby 1.8 configured with --enable-pthread.
183
+
184
+ 2011-10-01 KUBO Takehiro <kubo@jiubao.org>
185
+ * ext/oci8/bind.c, ext/oci8/connection_pool.c, ext/oci8/lob.c,
186
+ ext/oci8/metadata.c, ext/oci8/object.c, ext/oci8/oci8.c, ext/oci8/oci8.h,
187
+ ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c, ext/oci8/ocihandle.c,
188
+ ext/oci8/ocinumber.c, ext/oci8/oradate.c, ext/oci8/stmt.c:
189
+ rename oci8_*_class to oci8_*_vtable because they correspond to
190
+ virtual method tables (vtable) in C++.
191
+
192
+ 2011-09-30 KUBO Takehiro <kubo@jiubao.org>
193
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/oci8lib.c, test/test_break.rb:
194
+ clear an executuing thread information in a connection when a SQL
195
+ executions is canceled by Thread#kill or Timeout::timeout.
196
+ (reported by Aaron Qian)
197
+ See: http://rubyforge.org/forum/forum.php?thread_id=50112&forum_id=1078
198
+
199
+ 2011-09-30 KUBO Takehiro <kubo@jiubao.org>
200
+ * ext/oci8/connection_pool.c: run connection-pool cleanup functions
201
+ in a native thread not to block GC.
202
+ * ext/oci8/oci8.c: use xfree() instead of free() to release memory
203
+ allocated by xmalloc().
204
+
205
+ 2011-08-31 KUBO Takehiro <kubo@jiubao.org>
206
+ * ext/oci8/env.c, ext/oci8/extconf.rb, ext/oci8/oci8.c, ext/oci8/oci8.h,
207
+ ext/oci8/oci8lib.c, ext/oci8/thread_util.c, ext/oci8/thread_util.h:
208
+ run connection-cleanup functions in a native thread to correctly
209
+ release connections in GC.
210
+
211
+ 2011-08-27 KUBO Takehiro <kubo@jiubao.org>
212
+ * ext/oci8/oci8.c, ext/oci8/oci8.h: refactoring for prior arrangement to
213
+ properly release garbage sessions.
214
+
215
+ 2011-08-27 KUBO Takehiro <kubo@jiubao.org>
216
+ * ext/oci8/bind.c, ext/oci8/extconf.rb, ext/oci8/lob.c, ext/oci8/object.c,
217
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c,
218
+ ext/oci8/ocinumber.c, ext/oci8/oradate.c, ext/oci8/stmt.c,
219
+ ext/oci8/xmldb.c: delete unused and unworkable features: dynamic fetch
220
+ and xmldb.
221
+
222
+ 2011-08-27 KUBO Takehiro <kubo@jiubao.org>
223
+ * ext/oci8/bind.c, lib/oci8/bindtype.rb, lib/oci8/properties.rb: add
224
+ OCI8.properties[:length_semantics].
225
+
226
+ 2011-08-23 KUBO Takehiro <kubo@jiubao.org>
227
+ * ext/oci8/oraconf.rb: warn when the Oracle instant client is
228
+ 64-bit on OS X Lion.
229
+
230
+ 2011-08-19 KUBO Takehiro <kubo@jiubao.org>
231
+ * ext/oci8/bind.c, ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/ocinumber.c,
232
+ lib/oci8/properties.rb: Decimal to float and float to decimal conversions
233
+ are done as exactly ruby does by default. The behavior is customizable by
234
+ OCI8.properties[:float_conversion_type].
235
+
236
+ 2011-08-19 KUBO Takehiro <kubo@jiubao.org>
237
+ * ext/oci8/oraconf.rb: fix a bug not to find the OCI library location listed in
238
+ 'ldconfig -p' when LD_LIBRARY_PATH is set.
239
+ (Reported by Edgars Beigarts.)
240
+
241
+ 2011-07-16 KUBO Takehiro <kubo@jiubao.org>
242
+ * ext/oci8/extconf.rb, ext/oci8/oci8.h: fix for Solaris compiler.
243
+ (Reported by Sanjiv Patel.)
244
+
245
+ 2011-07-16 KUBO Takehiro <kubo@jiubao.org>
246
+ * ext/oci8/oraconf.rb: Fix for Oracle 11g solaris-sparc32 instant client.
247
+ The machine type of Oracle 10g solaris-sparc32 instant client was
248
+ sparc but that of oracle 11g is sparc32plus.
249
+ (Reported by Sanjiv Patel.)
250
+
251
+ 2011-06-15 KUBO Takehiro <kubo@jiubao.org>
252
+ * ext/oci8/apiwrap.yml, ext/oci8/bind.c, ext/oci8/oci8.c, ext/oci8/oci8lib.c,
253
+ lib/oci8/bindtype.rb: drop Oracle 8i support.
254
+ * ext/oci8/ocidatetime.c: OCI8::BindType::OCIDate was deleted.
255
+ * lib/oci8/datetime.rb, test/test_datetime.rb: OCI8::BindType::DateTimeViaOCIDate,
256
+ OCI8::BindType::TimeViaOCIDate, OCI8::BindType::DateTimeViaOCITimestampTZ
257
+ and OCI8::BindType::TimeViaOCITimestampTZ were deleted.
258
+
1
259
  2011-06-14 KUBO Takehiro <kubo@jiubao.org>
2
260
  * NEWS: add changes between 2.0.5 and 2.0.6.
3
- * VERSION: change the version to 2.0.6.
4
261
  * ext/oci8/apiwrap.yml, ext/oci8/lob.c: fix SEGV when freeing a temporary
5
262
  LOB during GC on rubinius 1.2.3.
6
263
  * ext/oci8/oci8lib.c: revert the exception type from RuntimeError to
@@ -9,7 +266,6 @@
9
266
 
10
267
  2011-06-12 KUBO Takehiro <kubo@jiubao.org>
11
268
  * NEWS: add changes between 2.0.4 and 2.0.5.
12
- * VERSION: change the version to 2.0.5.
13
269
 
14
270
  2011-06-12 KUBO Takehiro <kubo@jiubao.org>
15
271
  * ext/oci8/oci8lib.c: add __declspec(dllexport) to Init_oci8lib(). The mingw32
@@ -28,16 +284,6 @@
28
284
  * ext/oci8/extconf.rb, ext/oci8/oci8.h, ext/oci8/ocihandle.c: fix to
29
285
  work with ruby 1.9.3dev.
30
286
 
31
- 2011-06-10 KUBO Takehiro <kubo@jiubao.org>
32
- * ext/oci8/oci8.c: prevent GC on failed-logon connections from freeing
33
- alive connections when the service context handle addresses are
34
- accidentally same.
35
- * ext/oci8/ocidatetime.c: raise "OCIError: ORA-01805: possible error in
36
- date/time operation" when Oracle 11gR2's client and server timezone versions
37
- are not same instead of raising a exception "undefined method `*' for
38
- nil:NilClass." This is a temporary fix.
39
- See: http://rubyforge.org/forum/forum.php?thread_id=49102&forum_id=1078
40
-
41
287
  2011-06-10 KUBO Takehiro <kubo@jiubao.org>
42
288
  * ext/oci8/env.c, ext/oci8/oci8.h: Free OCI error handles on the
43
289
  native thread termination, not on the ruby thread termination.
@@ -57,6 +303,7 @@
57
303
  used for timestamp without time zone.
58
304
 
59
305
  2011-01-30 KUBO Takehiro <kubo@jiubao.org>
306
+ * ext/oci8/oci8.c: fix SEGV which depends on GC order.
60
307
  * ext/oci8/oraconf.rb: check Oracle client's cpu type on Solaris as
61
308
  on Linux and Mac OS X. change error messages on Mac OS X to suggest
62
309
  to set RC_ARCHS=x86_64 when mkmf.log contains messages such as
@@ -84,6 +331,10 @@
84
331
  * ext/oci8/oranumber_util.c, test/test_oranumber.rb:
85
332
  suppress warning: unknown conversion type character 'h' in format
86
333
 
334
+ 2010-12-04 KUBO Takehiro <kubo@jiubao.org>
335
+ * VERSION, ext/oci8/encoding.c, ext/oci8/ocihandle.c: change
336
+ the version number to 2.1.
337
+
87
338
  2010-09-18 KUBO Takehiro <kubo@jiubao.org>
88
339
  * ext/oci8/win32.c: undefine boolean to pass compilation on
89
340
  Cygwin. (reported by Don Hill).
@@ -105,6 +356,12 @@
105
356
  rb_set_end_proc() when it isn't available.
106
357
  * ext/oci8/extconf.rb, lib/oci8.rb.in: add RUBY_ENGINE to
107
358
  the C extension library name when RUBY_ENGINE is not "ruby."
359
+ * ext/oci8/oci8.c: fix for ruby 1.8.
360
+ * test/test_clob.rb: change a temporarily used table name for test
361
+ from 'test_clob' to 'test_table.'
362
+ * test/test_metadata.rb: delete ruby 1.9 feature to work on ruby 1.8.
363
+ * test/config.rb: add a support function 'drop_type' for future test
364
+ cases.
108
365
  * test/test_array_dml.rb: skip test_array_insert1 on rubinius.
109
366
  This will be enabled after the rubinius issue #445 is fixed.
110
367
 
@@ -126,6 +383,10 @@
126
383
  2010-08-23 KUBO Takehiro <kubo@jiubao.org>
127
384
  * lib/oci8/object.rb: fix an error when SDO_GEOMETRY is used
128
385
  and $VERBOSE is set.
386
+ * test/test_metadata.rb: (1) fix errors caused by String + Symbol.
387
+ They worked on ruby 1.9.2 but not on 1.8.7 and 1.9.2.
388
+ (2) replace "assert_equal(class, object.class)" with
389
+ "assert_instance_of(class, object)."
129
390
  * test/test_oranumber.rb: change a testcase for ruby 1.9.2.
130
391
  Math::atan2(0, 0) behaviour was changed in 1.9.2.
131
392
 
@@ -140,13 +401,99 @@
140
401
  * ext/oci8/apiwrap.yml, ext/oci8/lob.c: fix memory leak when temporary
141
402
  lobs are used.
142
403
 
143
- 2010-08-14 KUBO Takehiro <kubo@jiubao.org>
144
- * ext/oci8/bind.c: fix a bug that a string is bound to RAW.
145
- Its encoding had been convertd to OCI.encoding incorrectly.
146
- (backport from the trunk)
147
- * ext/oci8/stmt.c: fix SEGV when an exception is raised while
148
- a bind value is deallocated.
149
- (backport from the trunk)
404
+ 2010-06-15 KUBO Takehiro <kubo@jiubao.org>
405
+ * lib/oci8/metadata.rb: rename OCI8::Metadata::Column#type_string
406
+ to #data_type_string and add an alias from the former to the
407
+ latter. fix a return value of OCI8::Metadata::Column#data_type_string
408
+ of REF datatype.
409
+ * test/test_metadata.rb: rename a test method test_metadata to
410
+ test_column_metadata and do refactoring to make test data
411
+ reusable for other metadata classes in future.
412
+
413
+ 2010-06-13 KUBO Takehiro <kubo@jiubao.org>
414
+ * ext/oci8/metadata.c: fix a private method
415
+ OCI8::Metadata::Base#__param to return nil when the specified
416
+ attribute is NULL.
417
+ * lib/oci8/metadata.rb: add rdoc comment of OCI8::Metadata::Type
418
+ and fix other typos. change OCI8::Metadata::Schema#all_objects
419
+ not to raise "ORA-24372: invalid object for describe" by
420
+ invalid objects.
421
+ * test/test_metadata.rb: add tests for OCI8::Metadata::Type.
422
+
423
+ 2010-06-11 KUBO Takehiro <kubo@jiubao.org>
424
+ * lib/oci8/metadata.rb: rename OCI8::Metabase::ProcBase to
425
+ OCI8::Metabase::Subprogram, add #is_standalone? and change
426
+ #obj_id, #obj_name and #obj_schema to work for packaged
427
+ subprograms. Fix rdoc comments.
428
+ * test/test_metadata.rb: add tests for OCI8::Metadata::Function,
429
+ OCI8::Metadata::Procedure and OCI8::Metadata::Package.
430
+
431
+ 2010-06-10 KUBO Takehiro <kubo@jiubao.org>
432
+ * lib/oci8/metadata.rb: revice rdoc comments of OCI8::Metadata::Table
433
+ and OCI8::Metadata::View and delete some unavailable methods
434
+ of OCI8::Metadata::View.
435
+ * test/test_metadata.rb: add tests for OCI8::Metadata::Table and
436
+ OCI8::Metadata::View.
437
+ * README: change the description about the privilege to run tests.
438
+ 'create view' privilege is needed to test OCI8::Metadata::View.
439
+
440
+ 2010-06-01 KUBO Takehiro <kubo@jiubao.org>
441
+ * ext/oci8/extconf.rb, ext/oci8/oci8.c, lib/oci8.rb.in: move
442
+ the location where OCI8::VERSION is defined from oci8.rb to
443
+ oci8lib_*.so. Add code to check the version of oci8.rb and
444
+ oci8lib_*.so.
445
+ * test/test_clob.rb: create test_clob table while executing
446
+ tests.
447
+ * README: delete the instruction to create test_clob before
448
+ executing tests.
449
+
450
+ 2010-05-17 KUBO Takehiro <kubo@jiubao.org>
451
+ * ext/oci8/metadata.c: delete OCI8::Metadata::Base's methods which
452
+ get and set OCI handle attributes.
453
+ * ext/oci8/ocihandle.c: add OCIHandle#attr_get_oradate.
454
+ * lib/oci8/metadata.rb: use OCIHandle#attr_get_* instead of
455
+ obsolete OCI8::Metadata::Base#__*.
456
+
457
+ 2010-05-07 KUBO Takehiro <kubo@jiubao.org>
458
+ * dist-files, ext/oci8/.document, ext/oci8/apiwrap.yml,
459
+ ext/oci8/connection_pool.c, ext/oci8/extconf.rb,ext/oci8/oci8.c,
460
+ ext/oci8/oci8.h, ext/oci8/oci8lib.c, lib/oci8.rb.in,
461
+ lib/oci8/.document, lib/oci8/connection_pool.rb, lib/oci8/oci8.rb,
462
+ lib/oci8/ocihandle.rb: add a new feature OCI8::ConnectionPool.
463
+
464
+ 2010-05-04 KUBO Takehiro <kubo@jiubao.org>
465
+ * ext/oci8/bind.c: fix a bug that a string is bound to RAW,
466
+ its encoding was convertd to OCI.encoding.
467
+ * ext/oci8/encoding.c: delete an unused strcuture.
468
+ * ext/oci8/oci8.c, ext/oci8/oci8.h, ext/oci8/ocihandle.c,
469
+ lib/oci8/oci8.rb: do refactering to make it easy to
470
+ implement new authentication features.
471
+ * lib/oci8.rb.in, lib/oci8/metadata.rb, lib/oci8/ocihandle.rb:
472
+ move constant definitions from metadata.rb to ocihandle.rb.
473
+
474
+ 2010-05-03 KUBO Takehiro <kubo@jiubao.org>
475
+ * ext/oci8/bind.c, ext/oci8/oci8.h, lib/oci8/bindtype.rb:
476
+ change the length semantics from byte to char for string
477
+ bind variables when the Oracle client is 9i or upper.
478
+
479
+ 2010-05-02 KUBO Takehiro <kubo@jiubao.org>
480
+ * lib/oci8/encoding-init.rb: fix for zero-length NLS_LANG.
481
+ fix AL32UTF8's nls_ratio.
482
+ * ext/oci8/stmt.c: fix SEGV when an exception is raised in
483
+ post_bind_hook().
484
+
485
+ 2010-04-27 KUBO Takehiro <kubo@jiubao.org>
486
+ * ext/oci8/lob.c, ext/oci8/object.c, ext/oci8/oci8.h,
487
+ ext/oci8/stmt.c: refactor code to prepare character length
488
+ semantics support.
489
+
490
+ 2010-04-27 KUBO Takehiro <kubo@jiubao.org>
491
+ * ext/oci8/encoding.c: add new methods OCI8.nls_ratio
492
+ and OCI8.nls_ratio=. Comments for rdoc are added and
493
+ revised for OCI8#charset_name2id, OCI8#charset_name2id=,
494
+ OCI8.encoding and OCI8.encoding=.
495
+ * lib/oci8.rb.in, lib/oci8/encoding-init.rb: set
496
+ OCI8.nls_ratio on initialization.
150
497
 
151
498
  2010-04-23 KUBO Takehiro <kubo@jiubao.org>
152
499
  * ext/oci8/oranumber_util.c, test/test_oranumber.rb:
data/Makefile CHANGED
@@ -29,15 +29,9 @@ format_c_source:
29
29
  astyle --options=none --style=linux --indent=spaces=4 --brackets=linux --suffix=none ext/oci8/*.[ch]
30
30
 
31
31
  # internal use only
32
- .PHONY: rdoc check-rdoc-version run-rdoc
32
+ .PHONY: rdoc run-rdoc
33
33
 
34
- rdoc: check-rdoc-version run-rdoc
35
-
36
- check-rdoc-version:
37
- @echo check rdoc version
38
- @expr match "`$(RDOC) --version`" '^rdoc 2\.4' > /dev/null || (echo 'rdoc version is not 2.4.'; exit 1)
39
-
40
- run-rdoc:
34
+ rdoc:
41
35
  TZ= $(RDOC) -o rdoc -c us-ascii --threads=1 -W http://ruby-oci8.rubyforge.org/svn/trunk/ruby-oci8/ ext/oci8 lib
42
36
 
43
37
  dist: