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 +1 -0
- data/ChangeLog +160 -0
- data/Makefile +2 -2
- data/NEWS +47 -5
- data/README.md +3 -2
- data/dist-files +5 -2
- data/docs/install-instant-client.md +7 -5
- data/docs/report-installation-issue.md +1 -4
- data/lib/oci8.rb +11 -3
- data/lib/oci8/bindtype.rb +3 -13
- data/lib/oci8/check_load_error.rb +99 -0
- data/lib/oci8/encoding-init.rb +27 -61
- data/lib/oci8/metadata.rb +27 -57
- data/lib/oci8/oci8.rb +17 -18
- data/lib/oci8/properties.rb +1 -9
- data/lib/oci8/version.rb +3 -0
- data/lib/oci8lib_191.so +0 -0
- data/lib/oci8lib_200.so +0 -0
- data/lib/oci8lib_210.so +0 -0
- data/lib/oci8lib_220.so +0 -0
- data/ruby-oci8.gemspec +12 -2
- data/test/test_connection_pool.rb +1 -1
- data/test/test_oci8.rb +14 -2
- data/test/test_package_type.rb +967 -0
- metadata +14 -14
- data/VERSION +0 -1
- data/lib/oci8.rb.in +0 -138
- data/lib/oci8lib_18.so +0 -0
data/.yardopts
CHANGED
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
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](
|
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:
|
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:
|
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:
|
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
|
-
|
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
|
5
|
+
is available for all Oracle versions after Oracle 10g including Oracle
|
6
6
|
Instant Client.
|
7
7
|
|
8
|
-
|
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
|
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
|
-
|
9
|
-
|
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
|
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
|
|
data/lib/oci8.rb
CHANGED
@@ -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
|
-
|
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::
|
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'
|
data/lib/oci8/bindtype.rb
CHANGED
@@ -115,18 +115,12 @@ class OCI8
|
|
115
115
|
param[:length] = val.size
|
116
116
|
else
|
117
117
|
# byte semantics
|
118
|
-
if OCI8.
|
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
|
-
|
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
|
-
|
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
|