ruby-oci8 2.2.7-x64-mingw32 → 2.2.11-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/ChangeLog +115 -0
- data/NEWS +65 -0
- data/README.md +1 -1
- data/dist-files +0 -1
- data/docs/install-instant-client.md +1 -1
- data/docs/install-on-osx.md +29 -116
- data/lib/oci8/check_load_error.rb +1 -1
- data/lib/oci8/version.rb +1 -1
- data/lib/oci8.rb +8 -3
- data/lib/oci8lib_250.so +0 -0
- data/lib/oci8lib_260.so +0 -0
- data/lib/oci8lib_270.so +0 -0
- data/lib/oci8lib_300.so +0 -0
- data/lib/oci8lib_310.so +0 -0
- data/ruby-oci8.gemspec +1 -1
- data/setup.rb +11 -2
- data/test/README.md +3 -6
- data/test/test_break.rb +9 -9
- data/test/test_datetime.rb +8 -3
- data/test/test_oranumber.rb +7 -1
- metadata +23 -24
- data/docs/osx-install-dev-tools.png +0 -0
- data/lib/oci8lib_200.so +0 -0
- data/lib/oci8lib_210.so +0 -0
- data/lib/oci8lib_220.so +0 -0
- data/lib/oci8lib_230.so +0 -0
- data/lib/oci8lib_240.so +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8e2ce479a8ecdfd4bdf6c7d64a9afea01ed021bac819218ef7e9988aa40d0ecd
|
4
|
+
data.tar.gz: 06ef80242421f19f5021968df137dd1f89a3221ac1c4fb520d176db2e655f794
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 24561b3c26a2ed35583de079c1575dac421bd644320275160ae96157bb5c09a5568f477c5401fc5f24d0bf8ff33a76e5e4539924ec9f2d92bd64d8316b300e65
|
7
|
+
data.tar.gz: 730e3b1c126f182b2d1d733ab73328bc2d4694a1fbc4bf7e448cef78da3b695a0a84a7421f084e75f2e95b70b7ad1a687cc0b6229578855d414cc237df38895d
|
data/ChangeLog
CHANGED
@@ -1,3 +1,118 @@
|
|
1
|
+
2020-12-30 Kubo Takehiro <kubo@jiubao.org>
|
2
|
+
* NEWS: Add changes between 2.2.8 and 2.2.9.
|
3
|
+
* lib/oci8/version.rb: Update to 2.2.9.
|
4
|
+
* mkpkg-win32.rb: remove unmaintained ruby versions from binary gems.
|
5
|
+
|
6
|
+
2020-12-29 Kubo Takehiro <kubo@jiubao.org>
|
7
|
+
* ext/oci8/oraconf.rb: Support --with-instant-client-dir along with --with-instant-client-lib/include.
|
8
|
+
(GH-223)
|
9
|
+
|
10
|
+
2020-12-29 Kubo Takehiro <kubo@jiubao.org>
|
11
|
+
* ext/oci8/hook_funcs.c: Fix hooking failure with truffleruby.
|
12
|
+
* test/test_break.rb: Fix to pass tests with truffleruby.
|
13
|
+
|
14
|
+
2020-12-28 Kubo Takehiro <kubo@jiubao.org>
|
15
|
+
* mkpkg-win32.rb: Build binary gems for ruby 3.0 on Windows.
|
16
|
+
|
17
|
+
2020-12-28 Kubo Takehiro <kubo@jiubao.org>
|
18
|
+
* ext/oci8/ocinumber.c: Suppress C compiler warning: enumeration value ‘RUBY_T_NONE’ not handled in switch
|
19
|
+
|
20
|
+
2020-09-10 Kubo Takehiro <kubo@jiubao.org>
|
21
|
+
* ext/oci8/extconf.rb: Fix for TruffleRuby 20.2 or before.
|
22
|
+
|
23
|
+
2020-09-08 Brandon Fish <brandon.j.fish@oracle.com>
|
24
|
+
* ext/oci8/extconf.rb, lib/oci8.rb: Handle truffleruby RUBY_ENGINE in case statements
|
25
|
+
|
26
|
+
2020-01-11 Kubo Takehiro <kubo@jiubao.org>
|
27
|
+
* NEWS: Add changes between 2.2.7 and 2.2.8.
|
28
|
+
* lib/oci8/version.rb: Update to 2.2.8.
|
29
|
+
|
30
|
+
2020-01-11 Kubo Takehiro <kubo@jiubao.org>
|
31
|
+
* ext/oci8/bind.c: Fix warning: comparison between signed and
|
32
|
+
unsigned integer expressions
|
33
|
+
|
34
|
+
2020-01-11 Kubo Takehiro <kubo@jiubao.org>
|
35
|
+
* test/README.md: Update preparation SQL statements for running tests.
|
36
|
+
|
37
|
+
2020-01-11 Kubo Takehiro <kubo@jiubao.org>
|
38
|
+
* test/test_break.rb: Check Oracle server OS where tests run
|
39
|
+
using dbms_utility.port_string. Tests in test_break.rb
|
40
|
+
failed on Windows.
|
41
|
+
|
42
|
+
2020-01-07 Kubo Takehiro <kubo@jiubao.org>
|
43
|
+
* mkpkg-win32.rb: Workarounds for compilation using ruby 2.4 and 2.6 with
|
44
|
+
latest msys2 to avoid 'undefined reference to __chk_fail'
|
45
|
+
|
46
|
+
2020-01-06 Kubo Takehiro <kubo@jiubao.org>
|
47
|
+
* ext/oci8/win32.c: Fix warnings caused by the change of rb_ensure()'s
|
48
|
+
arguments in ruby 2.7.
|
49
|
+
|
50
|
+
2019-12-16 Kubo Takehiro <kubo@jiubao.org>
|
51
|
+
* test/test_datetime.rb: Remove "require 'scanf'" to run tests with Ruby 2.7.
|
52
|
+
The 'scanf' library was removed. https://bugs.ruby-lang.org/issues/16170
|
53
|
+
|
54
|
+
2019-12-15 Kubo Takehiro <kubo@jiubao.org>
|
55
|
+
* ext/oci8/oradate.c: Fix bug of OraDate.now introduced 15 years ago.
|
56
|
+
|
57
|
+
2019-12-15 Kubo Takehiro <kubo@jiubao.org>
|
58
|
+
* ext/oci8/attr.c, ext/oci8/oci8lib.c: Fix warnings caused by the
|
59
|
+
change of rb_ensure()'s arguments in ruby 2.7.
|
60
|
+
|
61
|
+
2019-06-19 Kubo Takehiro <kubo@jiubao.org>
|
62
|
+
* Merge pull request #217 from nathanbwright/patch-1
|
63
|
+
Fix spelling in install-instant-client.md
|
64
|
+
(GH-217)
|
65
|
+
|
66
|
+
2019-06-18 Nathan Wright <nathanbwright@users.noreply.github.com>
|
67
|
+
* docs/install-instant-client.md: Fix spelling in install-instant-client.md
|
68
|
+
(GH-217)
|
69
|
+
|
70
|
+
2019-04-24 Kubo Takehiro <kubo@jiubao.org>
|
71
|
+
* Merge pull request #212 from tomasjura/master
|
72
|
+
Compilation fix for Windows ( and some small cleanups )
|
73
|
+
(GH-212)
|
74
|
+
|
75
|
+
2019-04-23 Tomas Jura <tomas.jura1@gmail.com>
|
76
|
+
* ext/oci8/oci8.h: eliminate compiler warning
|
77
|
+
(GH-212)
|
78
|
+
|
79
|
+
2019-04-20 Tomas Jura <tomas.jura1@gmail.com>
|
80
|
+
* ext/oci8/bind.c: compiler warning eliminated
|
81
|
+
(GH-212)
|
82
|
+
|
83
|
+
2019-04-20 Tomas Jura <tomas.jura1@gmail.com>
|
84
|
+
* setup.rb: use splat operator instead dummy variables
|
85
|
+
(GH-212)
|
86
|
+
|
87
|
+
2019-04-20 Tomas Jura <tomas.jura1@gmail.com>
|
88
|
+
* lib/oci8.rb: use fiddler instead obsolete Win32API
|
89
|
+
(GH-212)
|
90
|
+
|
91
|
+
2019-04-20 Tomas Jura <tomas.jura1@gmail.com>
|
92
|
+
* ext/oci8/oraconf.rb: fix typo in windows compilation
|
93
|
+
(GH-212)
|
94
|
+
|
95
|
+
2019-03-23 Kubo Takehiro <kubo@jiubao.org>
|
96
|
+
* Merge pull request #210 from dminuoso/allow-custom
|
97
|
+
(Nix) Allow for specifying include/library paths
|
98
|
+
(GH-210)
|
99
|
+
|
100
|
+
2019-03-23 Victor Nawothnig <Victor.Nawothnig@gmail.com>
|
101
|
+
* ext/oci8/oraconf.rb: Fix missing support for full client
|
102
|
+
(GH-210)
|
103
|
+
|
104
|
+
2019-03-22 Victor Nawothnig <Victor.Nawothnig@gmail.com>
|
105
|
+
* ext/oci8/oraconf.rb: fixup! Allow overriding library/include paths
|
106
|
+
(GH-210)
|
107
|
+
|
108
|
+
2019-03-21 Victor Nawothnig <Victor.Nawothnig@gmail.com>
|
109
|
+
* setup.rb: Add documentation for new flags
|
110
|
+
(GH-210)
|
111
|
+
|
112
|
+
2019-03-21 Victor Nawothnig <Victor.Nawothnig@gmail.com>
|
113
|
+
* ext/oci8/oraconf.rb: Allow overriding library/include paths
|
114
|
+
(GH-210)
|
115
|
+
|
1
116
|
2019-01-06 Kubo Takehiro <kubo@jiubao.org>
|
2
117
|
* NEWS: Add changes between 2.2.6.1 and 2.2.7.
|
3
118
|
* lib/oci8/version.rb: Update to 2.2.7
|
data/NEWS
CHANGED
@@ -1,5 +1,70 @@
|
|
1
1
|
# @markup markdown
|
2
2
|
|
3
|
+
2.2.11 (2022-02-22)
|
4
|
+
===================
|
5
|
+
|
6
|
+
- Fix "No DLL is not foud to hook" when `OCI8.properties[:tcp_keepalive_time]` is set and Oracle client is 21c on Windows.
|
7
|
+
|
8
|
+
(reported at rsim/oracle-enhanced#2262)
|
9
|
+
|
10
|
+
- Fix "OCI8.properties[:tcp_keepalive_time] isn't available" error when ruby version is 3.1 on Windows.
|
11
|
+
|
12
|
+
2.2.10 (2022-01-12)
|
13
|
+
===================
|
14
|
+
|
15
|
+
- Use `File.exist?` instead of removed `File.exists?` in Ruby 3.2 (GH-242)
|
16
|
+
|
17
|
+
(contributed by Yasuo Honda)
|
18
|
+
|
19
|
+
- Support ruby 3.1 distributed by rubyinstaller.org
|
20
|
+
|
21
|
+
- Remove code for obsolete platforms
|
22
|
+
- Ruby compiled by Borland C++
|
23
|
+
- macOS released several years ago
|
24
|
+
|
25
|
+
- Detect arm64 macOS shared library in oraconf.rb in preparation for Instant Client for Apple Silicon release.
|
26
|
+
|
27
|
+
2.2.9 (2020-12-30)
|
28
|
+
==================
|
29
|
+
|
30
|
+
- Support [TruffleRuby](https://github.com/oracle/truffleruby). (GH-225)
|
31
|
+
|
32
|
+
(contributed by Brandon Fish)
|
33
|
+
|
34
|
+
- Remove extension libraries for unmaintained ruby versions from binary gems.
|
35
|
+
|
36
|
+
Fixed issue
|
37
|
+
-----------
|
38
|
+
|
39
|
+
- Allow --with-instant-client-dir along with --with-instant-client-lib/include. (GH-223)
|
40
|
+
|
41
|
+
(reported by Victor Nawothnig)
|
42
|
+
|
43
|
+
2.2.8 (2020-01-11)
|
44
|
+
==================
|
45
|
+
|
46
|
+
New features
|
47
|
+
------------
|
48
|
+
|
49
|
+
* Add support to specify include and lib directories of Oracle library on installation. (GH-210)
|
50
|
+
|
51
|
+
The following three flags are added.
|
52
|
+
|
53
|
+
* --with-instant-client-dir
|
54
|
+
* --with-instant-client-include
|
55
|
+
* --with-instant-client-lib
|
56
|
+
|
57
|
+
Fixed issue
|
58
|
+
-----------
|
59
|
+
|
60
|
+
- Suppress warnings compiling oci8lib.so (GH-212 and others)
|
61
|
+
|
62
|
+
- Fix compilation and tests on Windows.
|
63
|
+
|
64
|
+
- Fix spelling in install-instant-client.md (GH-217)
|
65
|
+
|
66
|
+
- Use fiddler instead obsolete Win32API on Windows (GH-212)
|
67
|
+
|
3
68
|
2.2.7 (2019-01-06)
|
4
69
|
==================
|
5
70
|
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@ Ruby-oci8
|
|
2
2
|
=========
|
3
3
|
|
4
4
|
[![Gem Version](https://badge.fury.io/rb/ruby-oci8.svg)](http://badge.fury.io/rb/ruby-oci8)
|
5
|
-
[![
|
5
|
+
[![Tests](https://github.com/kubo/ruby-oci8/actions/workflows/tests.yml/badge.svg)](https://github.com/kubo/ruby-oci8/actions/workflows/tests.yml)
|
6
6
|
|
7
7
|
What is ruby-oci8
|
8
8
|
-----------------
|
data/dist-files
CHANGED
@@ -19,7 +19,6 @@ docs/install-instant-client.md
|
|
19
19
|
docs/install-on-osx.md
|
20
20
|
docs/ldap-auth-and-function-interposition.md
|
21
21
|
docs/number-type-mapping.md
|
22
|
-
docs/osx-install-dev-tools.png
|
23
22
|
docs/platform-specific-issues.md
|
24
23
|
docs/report-installation-issue.md
|
25
24
|
docs/timeout-parameters.md
|
@@ -18,7 +18,7 @@ Look at {file:docs/install-on-osx.md} for OS X.
|
|
18
18
|
Install Oracle Instant Client Packages
|
19
19
|
--------------------------------------
|
20
20
|
|
21
|
-
###
|
21
|
+
### Download Instant Client Packages
|
22
22
|
|
23
23
|
Download the following packages from [Oracle Technology Network](http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html).
|
24
24
|
|
data/docs/install-on-osx.md
CHANGED
@@ -1,133 +1,46 @@
|
|
1
|
-
# @title Install ruby-oci8 on
|
1
|
+
# @title Install ruby-oci8 on macOS
|
2
2
|
|
3
|
-
Install ruby-oci8 on
|
3
|
+
Install ruby-oci8 on macOS
|
4
4
|
=========================
|
5
5
|
|
6
|
-
|
6
|
+
**Note: Ruby-oci8 doesn't run on Apple Silicon because Oracle instant client
|
7
|
+
for Apple Silicon has not been released yet.**
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
Install C compiler
|
12
|
-
------------------
|
13
|
-
|
14
|
-
You need to install the command line developer tools or the Xcode.
|
15
|
-
(The latter includes the former.)
|
16
|
-
|
17
|
-
Run `"cc --version"` in a terminal to check whether they are installed.
|
18
|
-
|
19
|
-
If the cc version is printed, the tools are installed.
|
20
|
-
|
21
|
-
If the follwoing dialog is displayed, click its Install button to
|
22
|
-
install the tools.
|
23
|
-
You have no need to install the Xcode to compile ruby-oci8.
|
24
|
-
It requires command line tools, not an IDE such as the Xcode.
|
25
|
-
|
26
|
-
![dialog](osx-install-dev-tools.png)
|
9
|
+
Prerequisite
|
10
|
+
------------
|
27
11
|
|
28
|
-
|
29
|
-
please re-run as root via sudo."` is printed, you need to run
|
30
|
-
`"sudo cc --version"`, enter your password, look at the license
|
31
|
-
and type `"agree"`.
|
12
|
+
* Command line tools for Xcode or Xcode (by executing `xcode-select --install`) or [Xcode]
|
32
13
|
|
33
14
|
Install Oracle Instant Client Packages
|
34
15
|
--------------------------------------
|
35
16
|
|
36
|
-
|
37
|
-
|
38
|
-
Download the following packages from [Oracle Technology Network][]
|
39
|
-
|
40
|
-
* Instant Client Package - Basic (`instantclient-basic-macos.x64-12.1.0.2.0.zip`) or Basic Lite (`instantclient-basiclite-macos.x64-12.1.0.2.0.zip`)
|
41
|
-
* Instant Client Package - SDK (`instantclient-sdk-macos.x64-12.1.0.2.0.zip`)
|
42
|
-
* Instant Client Package - SQL*Plus (`instantclient-sqlplus-macos.x64-12.1.0.2.0.zip`) (optionally)
|
43
|
-
|
44
|
-
### Install Oracle Instant Client Packages via Homebrew
|
45
|
-
|
46
|
-
To install `Oracle Instant Client Basic` via [Homebrew][]
|
47
|
-
|
48
|
-
* Copy downloaded zip files to `/Library/Caches/Homebrew`
|
49
|
-
(if the environment variable `HOMEBREW_CACHE`
|
50
|
-
is not set and `$HOME/Library/Caches/Homebrew` doesn't exist.)
|
51
|
-
|
52
|
-
* Run the followining commands:
|
53
|
-
|
54
|
-
brew tap InstantClientTap/instantclient
|
55
|
-
brew install instantclient-basic
|
56
|
-
brew install instantclient-sdk
|
57
|
-
brew install instantclient-sqlplus # (optionally)
|
58
|
-
|
59
|
-
* Set the environment variable `OCI_DIR` while performing the following installation steps
|
60
|
-
if Homebrew is installed outside `/usr/local`.
|
61
|
-
|
62
|
-
export OCI_DIR=$(brew --prefix)/lib
|
63
|
-
|
64
|
-
To install `Oracle Instant Client Basic Lite` via [Homebrew][]
|
65
|
-
|
66
|
-
* Copy downloaded zip files to `/Library/Caches/Homebrew`
|
67
|
-
(if the environment variable `HOMEBREW_CACHE`
|
68
|
-
is not set and `$HOME/Library/Caches/Homebrew` doesn't exist.)
|
69
|
-
|
70
|
-
* Run the followining commands:
|
71
|
-
|
72
|
-
brew tap InstantClientTap/instantclient
|
73
|
-
brew install instantclient-basiclite
|
74
|
-
brew install instantclient-sdk
|
75
|
-
brew install instantclient-sqlplus --with-basiclite # (optionally)
|
76
|
-
|
77
|
-
* Set the environment variable `OCI_DIR` while performing the following installation steps
|
78
|
-
if Homebrew is installed outside `/usr/local`.
|
79
|
-
|
80
|
-
export OCI_DIR=$(brew --prefix)/lib
|
81
|
-
|
82
|
-
### Install Oracle Instant Client Manually
|
83
|
-
|
84
|
-
If you don't use [Homebrew][], do the following:
|
85
|
-
|
86
|
-
Unzip the packages as follows:
|
87
|
-
|
88
|
-
mkdir -p /opt/oracle
|
89
|
-
cd /opt/oracle
|
90
|
-
|
91
|
-
Copy downloaded files to /opt/oracle before running the following commands.
|
92
|
-
|
93
|
-
unzip instantclient-basic-macos.x64-12.1.0.2.0.zip
|
94
|
-
unzip instantclient-sdk-macos.x64-12.1.0.2.0.zip
|
95
|
-
unzip instantclient-sqlplus-macos.x64-12.1.0.2.0.zip
|
96
|
-
|
97
|
-
Make a symbolic link to link the library.
|
98
|
-
|
99
|
-
cd /opt/oracle/instantclient_12_1
|
100
|
-
ln -s libclntsh.dylib.12.1 libclntsh.dylib
|
101
|
-
|
102
|
-
Set the environment variable OCI_DIR while performing the following installation steps.
|
103
|
-
|
104
|
-
export OCI_DIR=/opt/oracle/instantclient_12_1
|
105
|
-
|
106
|
-
Installation
|
107
|
-
------------
|
108
|
-
|
109
|
-
If you get a problem in the following steps, look at {file:docs/report-installation-issue.md}.
|
110
|
-
|
111
|
-
### gem package
|
112
|
-
|
113
|
-
Run the following command.
|
17
|
+
If you have installed [Homebrew], use the following command:
|
114
18
|
|
115
|
-
|
19
|
+
```shell
|
20
|
+
$ brew tap InstantClientTap/instantclient
|
21
|
+
$ brew install instantclient-basic # or instantclient-basiclite
|
22
|
+
$ brew install instantclient-sdk
|
23
|
+
$ brew install instantclient-sqlplus # (optionally)
|
24
|
+
```
|
116
25
|
|
117
|
-
|
26
|
+
Otherwise, look at this [page][OTN] and set the environment variable
|
27
|
+
`OCI_DIR` to point the the directory where instant client is installed.
|
28
|
+
Ruby-oci8 installation script checks the directory.
|
118
29
|
|
119
|
-
|
30
|
+
```shell
|
31
|
+
export OCI_DIR=$HOME/Downloads/instantclient_19_8 # for example
|
32
|
+
```
|
120
33
|
|
121
|
-
|
34
|
+
Install ruby-oci8
|
35
|
+
-----------------
|
122
36
|
|
123
|
-
|
37
|
+
Note that `/usr/bin/ruby` isn't available. You need to use [`rbenv`] or so.
|
124
38
|
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
make install
|
39
|
+
```shell
|
40
|
+
$ gem install ruby-oci8
|
41
|
+
```
|
129
42
|
|
130
|
-
[download page]: https://bintray.com/kubo/generic/ruby-oci8
|
131
43
|
[Homebrew]: http://brew.sh/
|
132
|
-
[
|
133
|
-
[
|
44
|
+
[OTN]: https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html#ic_osx_inst
|
45
|
+
[Xcode]: https://apps.apple.com/us/app/xcode/id497799835
|
46
|
+
[`rbenv`]: https://github.com/rbenv/rbenv
|
data/lib/oci8/version.rb
CHANGED
data/lib/oci8.rb
CHANGED
@@ -11,8 +11,11 @@ if RUBY_PLATFORM =~ /cygwin/
|
|
11
11
|
# Cygwin manages environment variables by itself.
|
12
12
|
# They don't synchroize with Win32's ones.
|
13
13
|
# This set some Oracle's environment variables to win32's enviroment.
|
14
|
-
require '
|
15
|
-
win32setenv =
|
14
|
+
require 'fiddle'
|
15
|
+
win32setenv = Fiddle::Function.new( Fiddle.dlopen('Kernel32.dll')['SetEnvironmentVariableA'],
|
16
|
+
[Fiddle::TYPE_VOIDP,Fiddle::TYPE_VOIDP],
|
17
|
+
Fiddle::TYPE_INT )
|
18
|
+
|
16
19
|
['NLS_LANG', 'TNS_ADMIN', 'LOCAL'].each do |name|
|
17
20
|
val = ENV[name]
|
18
21
|
win32setenv.call(name, val && val.dup)
|
@@ -63,6 +66,8 @@ when 'rbx'
|
|
63
66
|
so_basename += 'rbx'
|
64
67
|
when 'jruby'
|
65
68
|
raise "Ruby-oci8 doesn't support jruby because its C extension support is in development in jruby 1.6 and deprecated in jruby 1.7."
|
69
|
+
when 'truffleruby'
|
70
|
+
so_basename += 'truffleruby'
|
66
71
|
else
|
67
72
|
raise 'unsupported ruby engine: ' + RUBY_ENGINE
|
68
73
|
end
|
@@ -105,7 +110,7 @@ end
|
|
105
110
|
|
106
111
|
begin
|
107
112
|
require so_basename
|
108
|
-
rescue LoadError
|
113
|
+
rescue LoadError
|
109
114
|
require 'oci8/check_load_error'
|
110
115
|
OCI8::Util::check_load_error($!)
|
111
116
|
raise
|
data/lib/oci8lib_250.so
CHANGED
Binary file
|
data/lib/oci8lib_260.so
CHANGED
Binary file
|
data/lib/oci8lib_270.so
ADDED
Binary file
|
data/lib/oci8lib_300.so
ADDED
Binary file
|
data/lib/oci8lib_310.so
ADDED
Binary file
|
data/ruby-oci8.gemspec
CHANGED
@@ -50,7 +50,7 @@ EOS
|
|
50
50
|
# add map files to analyze a core (minidump) file.
|
51
51
|
so_vers.each do |ver|
|
52
52
|
map_file = 'ext/oci8/oci8lib_#{ver}.map'
|
53
|
-
so_files << map_file if File.
|
53
|
+
so_files << map_file if File.exist? map_file
|
54
54
|
end
|
55
55
|
|
56
56
|
# least version in so_vers
|
data/setup.rb
CHANGED
@@ -189,7 +189,16 @@ class ConfigTable
|
|
189
189
|
'the make program to compile ruby extentions' ] ],
|
190
190
|
[ 'without-ext', [ 'no',
|
191
191
|
'yes/no',
|
192
|
-
'does not compile/install ruby extentions' ] ]
|
192
|
+
'does not compile/install ruby extentions' ] ],
|
193
|
+
[ 'with-instant-client-dir', ['',
|
194
|
+
'path',
|
195
|
+
'path to the Oracle instant client directory'] ],
|
196
|
+
[ 'with-instant-client-lib', ['',
|
197
|
+
'path',
|
198
|
+
'path to the Oracle instant client libraries'] ],
|
199
|
+
[ 'with-instant-client-include', ['',
|
200
|
+
'path',
|
201
|
+
'path to the Oracle instant client header files'] ]
|
193
202
|
]
|
194
203
|
multipackage_descripters = [
|
195
204
|
[ 'with', [ '',
|
@@ -277,7 +286,7 @@ class ConfigTable
|
|
277
286
|
|
278
287
|
def initialize_from_table
|
279
288
|
@table = {}
|
280
|
-
DESCRIPTER.each do |k, (default,
|
289
|
+
DESCRIPTER.each do |k, (default, *)|
|
281
290
|
@table[k] = default
|
282
291
|
end
|
283
292
|
end
|
data/test/README.md
CHANGED
@@ -7,12 +7,8 @@ Before running unit test:
|
|
7
7
|
```
|
8
8
|
2. Create user ruby
|
9
9
|
```sql
|
10
|
-
SQL> CREATE USER ruby IDENTIFIED BY oci8;
|
11
|
-
|
12
|
-
or
|
13
|
-
```sql
|
14
|
-
SQL> CREATE USER ruby IDENTIFIED BY oci8
|
15
|
-
2 DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
|
10
|
+
SQL> CREATE USER ruby IDENTIFIED BY oci8 DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
|
11
|
+
SQL> alter user ruby quota unlimited on users;
|
16
12
|
```
|
17
13
|
3. Grant the privilege to connect and execute.
|
18
14
|
```sql
|
@@ -27,6 +23,7 @@ Before running unit test:
|
|
27
23
|
5. Create object types
|
28
24
|
```sql
|
29
25
|
SQL> @test/setup_test_object.sql
|
26
|
+
SQL> @test/setup_test_package.sql
|
30
27
|
```
|
31
28
|
6. change $dbname in test/config.rb.
|
32
29
|
|
data/test/test_break.rb
CHANGED
@@ -22,9 +22,8 @@ class TestBreak < Minitest::Test
|
|
22
22
|
@@server_is_runing_on_windows = nil
|
23
23
|
def server_is_runing_on_windows?
|
24
24
|
if @@server_is_runing_on_windows.nil?
|
25
|
-
|
26
|
-
|
27
|
-
@@server_is_runing_on_windows = true if row[0].include? 'Windows'
|
25
|
+
@conn.exec('select dbms_utility.port_string from dual') do |row|
|
26
|
+
@@server_is_runing_on_windows = row[0].include? '/WIN'
|
28
27
|
end
|
29
28
|
end
|
30
29
|
@@server_is_runing_on_windows
|
@@ -63,7 +62,7 @@ class TestBreak < Minitest::Test
|
|
63
62
|
expect = []
|
64
63
|
expect[PLSQL_DONE] = TIME_IN_PLSQL
|
65
64
|
expect[OCIBREAK] = "Invalid status"
|
66
|
-
if defined? Rubinius and Rubinius::VERSION >= "2.0"
|
65
|
+
if (defined? Rubinius and Rubinius::VERSION >= "2.0") || (defined? RUBY_ENGINE and RUBY_ENGINE == "truffleruby")
|
67
66
|
# Rubinius 2.0.0.
|
68
67
|
# DBMS_LOCK.SLEEP blocks ruby threads which try to call C-API.
|
69
68
|
expect[SEND_BREAK] = TIME_TO_BREAK
|
@@ -100,6 +99,11 @@ class TestBreak < Minitest::Test
|
|
100
99
|
def test_timeout
|
101
100
|
@conn.non_blocking = true
|
102
101
|
start_time = Time.now
|
102
|
+
if server_is_runing_on_windows?
|
103
|
+
end_time = start_time + 5
|
104
|
+
else
|
105
|
+
end_time = start_time + 1
|
106
|
+
end
|
103
107
|
|
104
108
|
if defined? Rubinius and Rubinius::VERSION < "2.0"
|
105
109
|
# Rubinius 1.2.4
|
@@ -113,12 +117,8 @@ class TestBreak < Minitest::Test
|
|
113
117
|
@conn.exec("BEGIN DBMS_LOCK.SLEEP(5); END;")
|
114
118
|
end
|
115
119
|
end
|
116
|
-
if server_is_runing_on_windows?
|
117
|
-
end_time = start_time + 5
|
118
|
-
else
|
119
|
-
end_time = start_time + 1
|
120
|
-
end
|
121
120
|
assert_in_delta(Time.now, end_time, 1)
|
121
|
+
sleep(0.01) # for truffleruby. Is truffleruby too fast?
|
122
122
|
@conn.exec("BEGIN NULL; END;")
|
123
123
|
assert_in_delta(Time.now, end_time, 1)
|
124
124
|
end
|
data/test/test_datetime.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'oci8'
|
2
2
|
require File.dirname(__FILE__) + '/config'
|
3
|
-
require 'scanf'
|
4
3
|
|
5
4
|
class TestDateTime < Minitest::Test
|
6
5
|
|
@@ -28,6 +27,12 @@ class TestDateTime < Minitest::Test
|
|
28
27
|
convert_to_datetime($1.to_i, $2.to_i, $3.to_i, $4.to_i, $5.to_i, $6.to_i, subsec, $8)
|
29
28
|
end
|
30
29
|
|
30
|
+
# 'YYYY-MM-DD HH24:MI:SS' or 'YYYY-MM-DD HH24:MI:SS.FF6' to array
|
31
|
+
def string_to_array(str)
|
32
|
+
/(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)(?:\.(\d+))?/ =~ str
|
33
|
+
[$1.to_i, $2.to_i, $3.to_i, $4.to_i, $5.to_i, $6.to_i, $7 ? $7.to_i / 1000 : 0]
|
34
|
+
end
|
35
|
+
|
31
36
|
def setup
|
32
37
|
@conn = get_oci8_connection
|
33
38
|
end
|
@@ -43,7 +48,7 @@ class TestDateTime < Minitest::Test
|
|
43
48
|
@conn.exec(<<-EOS) do |row|
|
44
49
|
SELECT TO_DATE('#{date}', 'YYYY-MM-DD HH24:MI:SS') FROM dual
|
45
50
|
EOS
|
46
|
-
assert_equal(Time.local(*date
|
51
|
+
assert_equal(Time.local(*string_to_array(date)), row[0])
|
47
52
|
end
|
48
53
|
end
|
49
54
|
end
|
@@ -94,7 +99,7 @@ EOS
|
|
94
99
|
@conn.exec(<<-EOS) do |row|
|
95
100
|
SELECT TO_TIMESTAMP('#{date}', 'YYYY-MM-DD HH24:MI:SS.FF') FROM dual
|
96
101
|
EOS
|
97
|
-
assert_equal(Time.local(*date
|
102
|
+
assert_equal(Time.local(*string_to_array(date)), row[0])
|
98
103
|
end
|
99
104
|
end
|
100
105
|
end
|
data/test/test_oranumber.rb
CHANGED
@@ -215,9 +215,15 @@ EOS
|
|
215
215
|
end
|
216
216
|
|
217
217
|
def test_yaml
|
218
|
+
# Use the permitted_classes keyword parameter if it is supported by YAML.load
|
219
|
+
keyword_params = if YAML.method(:load).parameters.any? { |key, value| value == :permitted_symbols }
|
220
|
+
{permitted_classes: [OraNumber]}
|
221
|
+
else
|
222
|
+
{}
|
223
|
+
end
|
218
224
|
(LARGE_RANGE_VALUES + ['~', '-~']).each do |x|
|
219
225
|
n = OraNumber.new(x)
|
220
|
-
assert_equal(n, YAML.load(YAML.dump(n)))
|
226
|
+
assert_equal(n, YAML.load(YAML.dump(n), **keyword_params))
|
221
227
|
end
|
222
228
|
end
|
223
229
|
|
metadata
CHANGED
@@ -1,24 +1,26 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-oci8
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.11
|
5
5
|
platform: x64-mingw32
|
6
6
|
authors:
|
7
7
|
- Kubo Takehiro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description:
|
14
|
-
|
13
|
+
description: 'ruby-oci8 is a ruby interface for Oracle using OCI8 API. It is available
|
14
|
+
with Oracle 10g or later including Oracle Instant Client.
|
15
|
+
|
16
|
+
'
|
15
17
|
email: kubo@jiubao.org
|
16
18
|
executables: []
|
17
19
|
extensions: []
|
18
20
|
extra_rdoc_files:
|
19
21
|
- README.md
|
20
22
|
files:
|
21
|
-
- .yardopts
|
23
|
+
- ".yardopts"
|
22
24
|
- COPYING
|
23
25
|
- COPYING_old
|
24
26
|
- ChangeLog
|
@@ -26,10 +28,6 @@ files:
|
|
26
28
|
- NEWS
|
27
29
|
- README.md
|
28
30
|
- dist-files
|
29
|
-
- metaconfig
|
30
|
-
- pre-distclean.rb
|
31
|
-
- ruby-oci8.gemspec
|
32
|
-
- setup.rb
|
33
31
|
- docs/bind-array-to-in_cond.md
|
34
32
|
- docs/conflicts-local-connections-and-processes.md
|
35
33
|
- docs/hanging-after-inactivity.md
|
@@ -39,13 +37,12 @@ files:
|
|
39
37
|
- docs/install-on-osx.md
|
40
38
|
- docs/ldap-auth-and-function-interposition.md
|
41
39
|
- docs/number-type-mapping.md
|
42
|
-
- docs/osx-install-dev-tools.png
|
43
40
|
- docs/platform-specific-issues.md
|
44
41
|
- docs/report-installation-issue.md
|
45
42
|
- docs/timeout-parameters.md
|
46
43
|
- lib/.document
|
47
|
-
- lib/oci8.rb
|
48
44
|
- lib/dbd/OCI8.rb
|
45
|
+
- lib/oci8.rb
|
49
46
|
- lib/oci8/.document
|
50
47
|
- lib/oci8/bindtype.rb
|
51
48
|
- lib/oci8/check_load_error.rb
|
@@ -62,7 +59,16 @@ files:
|
|
62
59
|
- lib/oci8/oracle_version.rb
|
63
60
|
- lib/oci8/properties.rb
|
64
61
|
- lib/oci8/version.rb
|
62
|
+
- lib/oci8lib_250.so
|
63
|
+
- lib/oci8lib_260.so
|
64
|
+
- lib/oci8lib_270.so
|
65
|
+
- lib/oci8lib_300.so
|
66
|
+
- lib/oci8lib_310.so
|
65
67
|
- lib/ruby-oci8.rb
|
68
|
+
- metaconfig
|
69
|
+
- pre-distclean.rb
|
70
|
+
- ruby-oci8.gemspec
|
71
|
+
- setup.rb
|
66
72
|
- test/README.md
|
67
73
|
- test/config.rb
|
68
74
|
- test/setup_test_object.sql
|
@@ -72,18 +78,18 @@ files:
|
|
72
78
|
- test/test_array_dml.rb
|
73
79
|
- test/test_bind_array.rb
|
74
80
|
- test/test_bind_boolean.rb
|
81
|
+
- test/test_bind_integer.rb
|
75
82
|
- test/test_bind_raw.rb
|
76
83
|
- test/test_bind_string.rb
|
77
84
|
- test/test_bind_time.rb
|
78
|
-
- test/test_bind_integer.rb
|
79
85
|
- test/test_break.rb
|
80
86
|
- test/test_clob.rb
|
81
87
|
- test/test_connection_pool.rb
|
82
88
|
- test/test_connstr.rb
|
83
|
-
- test/test_encoding.rb
|
84
89
|
- test/test_datetime.rb
|
85
90
|
- test/test_dbi.rb
|
86
91
|
- test/test_dbi_clob.rb
|
92
|
+
- test/test_encoding.rb
|
87
93
|
- test/test_error.rb
|
88
94
|
- test/test_metadata.rb
|
89
95
|
- test/test_object.rb
|
@@ -94,13 +100,6 @@ files:
|
|
94
100
|
- test/test_package_type.rb
|
95
101
|
- test/test_properties.rb
|
96
102
|
- test/test_rowid.rb
|
97
|
-
- lib/oci8lib_200.so
|
98
|
-
- lib/oci8lib_210.so
|
99
|
-
- lib/oci8lib_220.so
|
100
|
-
- lib/oci8lib_230.so
|
101
|
-
- lib/oci8lib_240.so
|
102
|
-
- lib/oci8lib_250.so
|
103
|
-
- lib/oci8lib_260.so
|
104
103
|
homepage: http://www.rubydoc.info/github/kubo/ruby-oci8
|
105
104
|
licenses:
|
106
105
|
- BSD-2-Clause
|
@@ -111,17 +110,17 @@ require_paths:
|
|
111
110
|
- lib
|
112
111
|
required_ruby_version: !ruby/object:Gem::Requirement
|
113
112
|
requirements:
|
114
|
-
- -
|
113
|
+
- - ">="
|
115
114
|
- !ruby/object:Gem::Version
|
116
|
-
version: 2.
|
115
|
+
version: 2.5.0
|
117
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
117
|
requirements:
|
119
|
-
- -
|
118
|
+
- - ">="
|
120
119
|
- !ruby/object:Gem::Version
|
121
120
|
version: '0'
|
122
121
|
requirements: []
|
123
122
|
rubyforge_project:
|
124
|
-
rubygems_version: 2.
|
123
|
+
rubygems_version: 2.7.3
|
125
124
|
signing_key:
|
126
125
|
specification_version: 4
|
127
126
|
summary: Ruby interface for Oracle using OCI8 API
|
Binary file
|
data/lib/oci8lib_200.so
DELETED
Binary file
|
data/lib/oci8lib_210.so
DELETED
Binary file
|
data/lib/oci8lib_220.so
DELETED
Binary file
|
data/lib/oci8lib_230.so
DELETED
Binary file
|
data/lib/oci8lib_240.so
DELETED
Binary file
|