ruby-oci8 2.1.8-x86-mingw32 → 2.2.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
data/.yardopts CHANGED
@@ -13,5 +13,6 @@ COPYING_old
13
13
  docs/install-full-client.md
14
14
  docs/install-instant-client.md
15
15
  docs/install-binary-package.md
16
+ docs/install-on-osx.md
16
17
  docs/platform-specific-issues.md
17
18
  docs/report-installation-issue.md
data/ChangeLog CHANGED
@@ -1,3 +1,163 @@
1
+ 2015-10-04 Kubo Takehiro <kubo@jiubao.org>
2
+ * NEWS: Add changes between 2.1.8 and 2.2.0.
3
+
4
+ 2015-10-04 Kubo Takehiro <kubo@jiubao.org>
5
+ * ext/oci8/oci8lib.c: Fix compilation errors when --with-runtime-check
6
+ is passed to extconf.rb.
7
+
8
+ 2015-10-04 Kubo Takehiro <kubo@jiubao.org>
9
+ * ext/oci8/apiwrap.yml, ext/oci8/stmt.c: Use OCIStmtPrepare2 as
10
+ a local function, which doesn't require a server round-trip.
11
+ Local functions are executed without releasing the GVL.
12
+
13
+ 2015-10-04 Kubo Takehiro <kubo@jiubao.org>
14
+ * docs/install-on-osx.md: Add notice that OCI_DIR is necessary
15
+ when Homebrew is installed outside /usr/local.
16
+ * README.md: Add a link to install-on-osx.md.
17
+
18
+ 2015-10-03 Kubo Takehiro <kubo@jiubao.org>
19
+ * docs/install-on-osx.md: Merge GH-95: Add OCI_DIR export to
20
+ Homebrew Installation Steps
21
+
22
+ 2015-09-29 Kubo Takehiro <kubo@jiubao.org>
23
+ * docs/install-on-osx.md, .yardopts: Add a new file for
24
+ installation on OS X.
25
+ * docs/install-instant-client.md: Delete installation steps
26
+ on OS X.
27
+
28
+ 2015-09-26 Kubo Takehiro <kubo@jiubao.org>
29
+ * lib/oci8/check_load_error.rb: Refactoring.
30
+
31
+ 2015-09-26 Kubo Takehiro <kubo@jiubao.org>
32
+ * ext/dist-files, ext/oci8/extconf.rb, ext/oci8/oci8.h,
33
+ ext/oci8/oci8lib.c, ext/oci8/osx.c: Revert the previous commit.
34
+
35
+ 2015-09-19 Kubo Takehiro <kubo@jiubao.org>
36
+ * ext/dist-files, ext/oci8/extconf.rb, ext/oci8/oci8.h,
37
+ ext/oci8/oci8lib.c, ext/oci8/osx.c: Intercept dlopen issued
38
+ by libclntsh.dylib to make OCIEnvCreate() work without
39
+ setting rpath to ruby itself.
40
+ ** This commit was reverted. **
41
+
42
+ 2015-09-19 Kubo Takehiro <kubo@jiubao.org>
43
+ * ext/oci8/oraconf.rb: Use OCI_DIR environmant variable also
44
+ to check instant client directory on OS X.
45
+ (github issue #89)
46
+
47
+ 2015-09-19 Kubo Takehiro <kubo@jiubao.org>
48
+ * ext/oci8/oci8.h: Define STRINGIZE macro for rubinius.
49
+
50
+ 2015-09-19 Kubo Takehiro <kubo@jiubao.org>
51
+ * README.md: Update supported Oracle version.
52
+ * dist-files: Add lib/oci8/check_load_error.rb.
53
+ * ext/oci8/extconf.rb: Reduce the number of #define values.
54
+
55
+ 2015-09-17 Kubo Takehiro <kubo@jiubao.org>
56
+ * lib/oci8/oci8.rb: Change the driver name displayed in
57
+ V$SESSION_CONNECT_INFO.CLIENT_DRIVER from "rubyoci8 : VERSION" to
58
+ "ruby-oci8 : VERSION".
59
+ * test/test_oci8.rb: Fix a test checking the driver name.
60
+ (github issue #93)
61
+
62
+ 2015-09-13 Kubo Takehiro <kubo@jiubao.org>
63
+ * NEWS, docs/report-installation-issue.md, ext/oci8/oraconf.rb,
64
+ lib/oci8/properties.rb, ruby-oci8.gemspec: Fix links to rubyforge.
65
+
66
+ 2015-09-13 Kubo Takehiro <kubo@jiubao.org>
67
+ * ruby-oci8.gemspec: Use Kernel.load instead of load not to use Gem::Specification.load.
68
+
69
+ 2015-09-13 Kubo Takehiro <kubo@jiubao.org>
70
+ * .gitignore: Ignore ext/oci8/*.bundle.
71
+
72
+ 2015-09-12 Kubo Takehiro <kubo@jiubao.org>
73
+ * ext/oci8/lob.c: Add notice that OCI8::LOB is an I/O object and is closed
74
+ when a associating connection is closed.
75
+
76
+ 2015-09-12 Kubo Takehiro <kubo@jiubao.org>
77
+ * lib/oci8/oci8.rb: Add ruby-oci8 version to
78
+ V$SESSION_CONNECT_INFO.CLIENT_DRIVER for Oracle 12.1.0.2 or later.
79
+ (suggested by Christopher Jones)
80
+
81
+ 2015-08-24 Kubo Takehiro <kubo@jiubao.org>
82
+ * ext/oci8/apiwrap.yml, ext/oci8/lob.c: Support LOB whose size is
83
+ over 4G.
84
+
85
+ 2015-08-23 Kubo Takehiro <kubo@jiubao.org>
86
+ * dist-files: Add ext/oci8/util.c.
87
+
88
+ 2015-07-12 Kubo Takehiro <kubo@jiubao.org>
89
+ * docs/install-instant-client.md: Add instant client installation
90
+ instructions on OS X using homebrew.
91
+
92
+ 2015-07-12 Kubo Takehiro <kubo@jiubao.org>
93
+ * ext/oci8/oci8.rb: Check DYLD_FALLBACK_LIBRARY_PATH also on
94
+ installation. (OS X only)
95
+
96
+ 2015-07-11 Kubo Takehiro <kubo@jiubao.org>
97
+ * ext/oci8/error.c, ext/oci8/extconf.rb, ext/oci8/oci8.h,
98
+ ext/oci8/oci8lib.c, ext/oci8/util.c, ext/oci8/win32.c,
99
+ lib/oci8/encoding-init.rb: Delete OCI8::Win32Util.dll_path
100
+ and add OCI8::Util.dll_path, which works on Linux, Solaris,
101
+ OS X and HP-UX in addition to Windows.
102
+
103
+ 2015-06-26 Kubo Takehiro <kubo@jiubao.org>
104
+ * lib/oci8.rb, lib/oci8/check_load_error.rb: Check the message of
105
+ LoadError and raise more user-friendly message.
106
+
107
+ 2015-06-23 Kubo Takehiro <kubo@jiubao.org>
108
+ * ruby-oci8.gemspec: Load oci8/version.rb temporarily and delete OCI8.
109
+ Some 'bundler' tasks load 'ruby-oci8.gemspec' before 'require "oci8"'
110
+ and fail with 'TypeError: superclass mismatch for class OCI8.'
111
+ (github issue #80)
112
+
113
+ 2015-06-21 Kubo Takehiro <kubo@jiubao.org>
114
+ * ruby-oci8.gemspec: Use ruby-oci8 version in lib/oci8/version.rb
115
+ instead of VERSION file to generate gem.
116
+ (github issue #79)
117
+
118
+ 2015-06-21 Kubo Takehiro <kubo@jiubao.org>
119
+ * Makefile, dist-files, ext/oci8/extconf.rb, ext/oci8/oci8.c: Use
120
+ ruby-oci8 version in lib/oci8/version.rb instead of VERSION file.
121
+ * VERSION: Deleted
122
+ * lib/oci8/version.rb: Added
123
+ * lib/oci8.rb, lib/oci8.rb.in: Renamed lib/oci8.rb to lib/oci8.rb.in.
124
+
125
+ 2015-06-21 Kubo Takehiro <kubo@jiubao.org>
126
+ * lib/oci8/encoding-init.rb: Get Oracle client charset name from
127
+ the environment handle instead of NLS_LANG.
128
+
129
+ 2015-06-20 Kubo Takehiro <kubo@jiubao.org>
130
+ * ext/oci8/oci8.h: Fix a compilation error.
131
+
132
+ 2015-06-20 Kubo Takehiro <kubo@jiubao.org>
133
+ * lib/oci8/oci8.rb: Change the default prefetch rows size 100.
134
+
135
+ 2015-06-20 Kubo Takehiro <kubo@jiubao.org>
136
+ * ext/oci8/extconf.rb: Delete an object file created by extconf.rb
137
+ before compilation.
138
+ (github issue #75)
139
+
140
+ 2015-06-20 Kubo Takehiro <kubo@jiubao.org>
141
+ * ext/oci8/apiwrap.yml, ext/oci8/stmt.c:
142
+ Delete unreachable code which was created when Oracle 9i support was dropped.
143
+
144
+ 2015-05-24 Kubo Takehiro <kubo@jiubao.org>
145
+ * ext/oci8/encoding.c: Add OCI8.charset_name2id and OCI8.charset_id2name.
146
+ Mark OCI8#charset_name2id and OCI8#charset_id2name as deprecated.
147
+
148
+ 2015-05-23 Kubo Takehiro <kubo@jiubao.org>
149
+ * ext/oci8/bind.c, ext/oci8/encoding.c, ext/oci8/error.c, ext/oci8/oci8.c,
150
+ ext/oci8/oci8lib.c, ext/oci8/ocidatetime.c, ext/oci8/stmt.c,
151
+ lib/oci8/metadata.rb, lib/oci8/properties.rb:
152
+ Drop Oracle 9i support.
153
+
154
+ 2015-05-22 Kubo Takehiro <kubo@jiubao.org>
155
+ * ext/oci8/apiwrap.c.tmpl, ext/oci8/encoding.c, ext/oci8/env.c,
156
+ ext/oci8/extconf.rb, ext/oci8/lob.c, ext/oci8/oci8.c, ext/oci8/oci8.h,
157
+ ext/oci8/oci8lib.c, ext/oci8/ocinumber.c, ext/oci8/thread_util.c,
158
+ ext/oci8/thread_util.h, lib/oci8/bindtype.rb, lib/oci8/encoding-init.rb,
159
+ lib/oci8/oci8.rb: Drop ruby 1.8 support.
160
+
1
161
  2015-04-04 Kubo Takehiro <kubo@jiubao.org>
2
162
  * NEWS: add changes between 2.1.7 and 2.1.8.
3
163
  * VERSION: update to 2.1.8.
data/Makefile CHANGED
@@ -1,9 +1,9 @@
1
- VERSION = `cat VERSION`
1
+ VERSION = `$(RUBY) -I. -rlib/oci8/version.rb -e "print OCI8::VERSION"`
2
2
  RUBY = ruby -w
3
3
 
4
4
  all: build
5
5
 
6
- config.save: lib/oci8.rb.in
6
+ config.save:
7
7
  $(RUBY) setup.rb config
8
8
 
9
9
  build: config.save
data/NEWS CHANGED
@@ -1,5 +1,47 @@
1
1
  # @markup markdown
2
2
 
3
+ 2.2.0
4
+ =====
5
+
6
+ ### Drop ruby 1.8 support
7
+
8
+ Use ruby-oci8 2.1.8 for ruby 1.8.
9
+
10
+ ### Drop Oracle 9i support
11
+
12
+ Use ruby-oci8 2.1.8 for Oracle 9i.
13
+
14
+ New Features
15
+ ------------
16
+
17
+ ### Support LOB over 4G
18
+
19
+ ### Fix to install ruby-oci8 on OS X 10.11 El Capitan.
20
+
21
+ `DYLD_LIBRARY_PATH` is unset for security reasons on OS X 10.11.
22
+ The installtion script was changed to work without `DYLD_LIBRARY_PATH`
23
+ and check the environment variable `OCI_DIR` also to tell instant
24
+ client directory.
25
+
26
+ Other Changes
27
+ -------------
28
+
29
+ - Change the default prefetch row size to 100.
30
+
31
+ - Add notice that OCI8::LOB is an I/O object and is closed
32
+ when a associating connection is closed.
33
+
34
+ - Add ruby-oci8 version the driver name, which is displayed in
35
+ `V$SESSION_CONNECT_INFO.CLIENT_DRIVER` for Oracle 12.1.0.2 or later.
36
+ (suggested by Christopher Jones)
37
+
38
+ - Use `Kernel.load` in ruby-oci8.gemspec instead of `load`.
39
+ `load`, without the module name, is used as `Gem::Specification.load`
40
+ by some ruby installations.
41
+
42
+ - Add OCI8.charset_name2id and OCI8.charset_id2name.
43
+ Mark OCI8#charset_name2id and OCI8#charset_id2name as deprecated.
44
+
3
45
  2.1.8
4
46
  =====
5
47
 
@@ -250,7 +292,7 @@ Fixed Issues
250
292
  ------------
251
293
 
252
294
  - delete code which overwrites signal handlers registered by ruby.
253
- See: [rubyforge thread 50690](http://rubyforge.org/forum/forum.php?thread_id=50690&forum_id=1078)
295
+ See: [rubyforge thread 50690](https://web.archive.org/web/20140521194940/https://rubyforge.org/forum/forum.php?thread_id=50690&forum_id=1078)
254
296
 
255
297
  - fix internal heap error in OCI.
256
298
  See: [github issue #12](https://github.com/kubo/ruby-oci8/issues/12)
@@ -463,7 +505,7 @@ You need to set "`OCI8.properties[:bind_string_as_nchar] = true`"
463
505
  if the database character set is not UTF-8 and 'NCHAR'/'NVARCHAR2' columns
464
506
  contain characters which cannot be converted to the database character set.
465
507
 
466
- See: {http://rubyforge.org/forum/forum.php?thread\_id=48838&forum\_id=1078}
508
+ See: [rubyforge thread 48838](https://web.archive.org/web/20140519033641/http://rubyforge.org/forum/forum.php?thread_id=48838&forum_id=1078)
467
509
 
468
510
  Fixed issues
469
511
  ------------
@@ -472,13 +514,13 @@ Fixed issues
472
514
 
473
515
  (reported by Jordan Curzon and Aaron Qian)
474
516
 
475
- See: {http://rubyforge.org/forum/forum.php?thread\_id=49751&forum\_id=1078}
517
+ See: [rubyforge thread 49751](https://web.archive.org/web/20140519033653/http://rubyforge.org/forum/forum.php?thread_id=49751&forum_id=1078)
476
518
 
477
519
  - Raise "OCIError: ORA-01805: possible error in date/time operation"
478
520
  when Oracle 11gR2's client and server timezone versions are not same
479
521
  instead of raising a exception "undefined method `*' for nil:NilClass."
480
522
 
481
- See: {http://rubyforge.org/forum/forum.php?thread\_id=49102&forum\_id=1078}
523
+ See: [rubyforge thread 49102](https://web.archive.org/web/20140521194951/https://rubyforge.org/forum/forum.php?thread_id=49102&forum_id=1078)
482
524
 
483
525
  - Fix unexpectedly disconnect when failed-logon connections is GC'ed
484
526
  and the connection object's address is accidentally same with
@@ -756,7 +798,7 @@ Fixed installation issues
756
798
 
757
799
  * fix an error when executing "select NULL from dual".
758
800
 
759
- {http://rubyforge.org/forum/forum.php?thread\_id=32468&forum\_id=1078}
801
+ [rubyforge thread 32468](https://web.archive.org/web/20140521152939/http://rubyforge.org/forum/forum.php?thread_id=32468&forum_id=1078)
760
802
  (contributed by Raimonds Simanovskis)
761
803
 
762
804
  * [ruby 1.9] fix OCI8::BLOB to read/write binary. Prior to 2.0.1,
data/README.md CHANGED
@@ -2,10 +2,10 @@ What is ruby-oci8
2
2
  =================
3
3
 
4
4
  Ruby-oci8 is a ruby interface for Oracle Database. The latest version
5
- is available for all Oracle versions after Oracle 9i including Oracle
5
+ is available for all Oracle versions after Oracle 10g including Oracle
6
6
  Instant Client.
7
7
 
8
- If you need to use Oracle 8, use ruby-oci8 2.0.6.
8
+ Use ruby-oci8 2.0.6 for Oracle 8 or use ruby-oci8 2.1.8 for Oracle 9i.
9
9
 
10
10
  What's new
11
11
  ==========
@@ -32,6 +32,7 @@ Installation
32
32
  * {file:docs/install-full-client.md Install for Oracle Full Client}
33
33
  * {file:docs/install-instant-client.md Install for Oracle Instant Client}
34
34
  * {file:docs/install-binary-package.md Install Binary Package}
35
+ * {file:docs/install-on-osx.md Install on OS X}
35
36
 
36
37
  Report issues
37
38
  =============
data/dist-files CHANGED
@@ -5,7 +5,6 @@ ChangeLog
5
5
  Makefile
6
6
  NEWS
7
7
  README.md
8
- VERSION
9
8
  dist-files
10
9
  metaconfig
11
10
  pre-distclean.rb
@@ -51,12 +50,14 @@ ext/oci8/post-config.rb
51
50
  ext/oci8/stmt.c
52
51
  ext/oci8/thread_util.c
53
52
  ext/oci8/thread_util.h
53
+ ext/oci8/util.c
54
54
  ext/oci8/win32.c
55
55
  lib/.document
56
- lib/oci8.rb.in
56
+ lib/oci8.rb
57
57
  lib/dbd/OCI8.rb
58
58
  lib/oci8/.document
59
59
  lib/oci8/bindtype.rb
60
+ lib/oci8/check_load_error.rb
60
61
  lib/oci8/compat.rb
61
62
  lib/oci8/connection_pool.rb
62
63
  lib/oci8/cursor.rb
@@ -69,6 +70,7 @@ lib/oci8/oci8.rb
69
70
  lib/oci8/ocihandle.rb
70
71
  lib/oci8/oracle_version.rb
71
72
  lib/oci8/properties.rb
73
+ lib/oci8/version.rb
72
74
  test/README
73
75
  test/config.rb
74
76
  test/setup_test_object.sql
@@ -93,4 +95,5 @@ test/test_oci8.rb
93
95
  test/test_oracle_version.rb
94
96
  test/test_oradate.rb
95
97
  test/test_oranumber.rb
98
+ test/test_package_type.rb
96
99
  test/test_rowid.rb
@@ -5,10 +5,13 @@ Introduction
5
5
 
6
6
  This page explains the way to install ruby-oci8 for Oracle Instant Client.
7
7
 
8
- For Oracle Full Client, look at {file:docs/install-full-client.md}.
9
- For Windows, look at {file:docs/install-binary-package.md} unless you
8
+ Look at {file:docs/install-full-client.md} for Oracle Full Client.
9
+
10
+ Look at {file:docs/install-binary-package.md} for Windows unless you
10
11
  have a special need to compile ruby-oci8 by yourself.
11
12
 
13
+ Look at {file:docs/install-on-osx.md} for OS X.
14
+
12
15
  Install Oracle Instant Client Packages
13
16
  ======================================
14
17
 
@@ -43,7 +46,6 @@ a symbolic link to link the library.
43
46
  Note:
44
47
 
45
48
  * use libclntsh.sl instead of libclntsh.so on HP-UX PA-RISC.
46
- * use libclntsh.dylib instead of libclntsh.so on Mac OS X.
47
49
  * skip this step for AIX.
48
50
  * run `yum install libaio` also on Redhat.
49
51
  * run `apt-get install libaio1` also on Ubuntu.
@@ -62,10 +64,10 @@ the installed directory.
62
64
  <tr><td> HP-UX PA-RISC 32-bit ruby </td><td> SHLIB_PATH </td></tr>
63
65
  <tr><td> HP-UX PA-RISC 64-bit ruby </td><td> LD_LIBRARY_PATH </td></tr>
64
66
  <tr><td> HP-UX IA64 </td><td> LD_LIBRARY_PATH </td></tr>
65
- <tr><td> Mac OS X </td><td> DYLD_LIBRARY_PATH </td></tr>
66
67
  <tr><td> AIX </td><td> LIBPATH </td></tr>
67
68
  </tbody>
68
69
  </table>
70
+ Note: Look at {file:docs/install-on-osx.md} for OS X.
69
71
 
70
72
  For example:
71
73
 
@@ -105,7 +107,7 @@ Oracle installation
105
107
  -------------------
106
108
 
107
109
  Run the following command and confirm it works fine. If it doesn't
108
- work well, check LD\_LIBRARY\_PATH or PATH.
110
+ work well, check `LD_LIBRARY_PATH` or PATH.
109
111
 
110
112
  sqlplus USERNAME/PASSWORD
111
113
 
@@ -1,13 +1,10 @@
1
1
  # @title Report Installation Issues
2
2
 
3
- Look at {file:docs/platform-specific-issues.md},
4
- [the issues page on github][github] and [the ruby-oci8 help forum on rubyforge][rubyforge]
5
- to check whether your issue is fixed or not.
3
+ Look at {file:docs/platform-specific-issues.md} and [the issues page on github][github] to check whether your issue is fixed or not.
6
4
 
7
5
  If it is a new one, post the following information to [github][].
8
6
 
9
7
  [github]: https://github.com/kubo/ruby-oci8/issues
10
- [rubyforge]: http://rubyforge.org/forum/forum.php?forum_id=1078
11
8
 
12
9
  * Messages printed out to the console
13
10
 
@@ -67,12 +67,20 @@ when 'jruby'
67
67
  else
68
68
  raise 'unsupported ruby engine: ' + RUBY_ENGINE
69
69
  end
70
- require so_basename
71
70
 
72
- if OCI8::VERSION != '2.1.8'
71
+ begin
72
+ require so_basename
73
+ rescue LoadError, OCIError
74
+ require 'oci8/check_load_error'
75
+ OCI8::Util::check_load_error($!)
76
+ raise
77
+ end
78
+
79
+ require 'oci8/version.rb'
80
+ if OCI8::VERSION != OCI8::LIB_VERSION
73
81
  require 'rbconfig'
74
82
  so_name = so_basename + "." + RbConfig::CONFIG['DLEXT']
75
- raise "VERSION MISMATCH! #{so_name} version is #{OCI8::VERSION}, but oci8.rb version is 2.1.8."
83
+ raise "VERSION MISMATCH! #{so_name} version is #{OCI8::LIB_VERSION}, but oci8.rb version is #{OCI8::VERSION}."
76
84
  end
77
85
 
78
86
  require 'oci8/encoding-init.rb'
@@ -115,18 +115,12 @@ class OCI8
115
115
  param[:length] = val.size
116
116
  else
117
117
  # byte semantics
118
- if OCI8.respond_to? :encoding and OCI8.encoding != val.encoding
118
+ if OCI8.encoding != val.encoding
119
119
  # If the string encoding is different with NLS_LANG character set,
120
120
  # convert it to get the length.
121
121
  val = val.encode(OCI8.encoding)
122
122
  end
123
- if val.respond_to? :bytesize
124
- # ruby 1.8.7 or upper
125
- param[:length] = val.bytesize
126
- else
127
- # ruby 1.8.6 or lower
128
- param[:length] = val.size
129
- end
123
+ param[:length] = val.bytesize
130
124
  end
131
125
  else
132
126
  param[:length] = @@minimum_bind_length
@@ -166,11 +160,7 @@ class OCI8
166
160
  unless param[:length]
167
161
  if val.respond_to? :to_str
168
162
  val = val.to_str
169
- if val.respond_to? :bytesize
170
- param[:length] = val.bytesize
171
- else
172
- param[:length] = val.size
173
- end
163
+ param[:length] = val.bytesize
174
164
  else
175
165
  param[:length] = 400
176
166
  end