ruby-oci8 2.1.5.1-x64-mingw32 → 2.1.7-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 08f373fec89b7637d74339e008c02034b14c09d5
4
- data.tar.gz: 7cdf8e2fc6430bc526dbc0f093de208f34618282
3
+ metadata.gz: 4517d7b8e77041f98b00d928bccfc654f9d903bd
4
+ data.tar.gz: ff271cc4dd36ca154b53c3b1cc8591e5c7e8830a
5
5
  SHA512:
6
- metadata.gz: a07739478f1665bb3d018c6348156fca9a911f76bc8a74279260982abd97ed0010d8b74e833b2d9b14e59e17597f7bef78ef142a43d32a758e9c7d21b10a62a2
7
- data.tar.gz: ea6bff76e9569e68bd1ef4d6859a36408c508ce874c6b773df6c409de58ece416c9bbcb07b193abe7f6197c7a8b3ac71fd2cc7bdaf4420558503cb2c2a1beaeb
6
+ metadata.gz: d349a3f2c65eae827c449a588c7bd2de29d3b66deafc91edadef333fd0ae7553b313c18384fcbb37c1164d1e90a9846c394b45afa66c986e95748bee814307b6
7
+ data.tar.gz: 75a567db4eb5d22aeaf852b9235294edbf632166f92e32e94173595cfbc2439926a39c7cbb6f70eda783dbe66e5820caaf51d91d1265f91b2caaf34648339d4f
data/ChangeLog CHANGED
@@ -1,3 +1,126 @@
1
+ 2014-02-02 Kubo Takehiro <kubo@jiubao.org>
2
+ * NEWS: add changes between 2.1.7 and 2.1.6.
3
+ * VERSION: change the version to 2.1.7.
4
+
5
+ 2014-01-25 Kubo Takehiro <kubo@jiubao.org>
6
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: Follow ABI versioning after ruby 2.1.0.
7
+
8
+ 2014-01-19 Kubo Takehiro <kubo@jiubao.org>
9
+ * docs/install-full-client.md, docs/install-instant-client.md: Change down
10
+ load URL and filenames in examples.
11
+
12
+ 2014-01-06 Kubo Takehiro <kubo@jiubao.org>
13
+ * README.md, docs/install-full-client.md, docs/install-instant-client.md,
14
+ docs/report-installation-issue.md, ext/oci8/oraconf.rb, ruby-oci8.gemspec:
15
+ Move the project page and download URL to github.
16
+
17
+ 2014-01-05 KUBO Takehiro <kubo@jiubao.org>
18
+ * ext/oci8/metadata.c, ext/oci8/oci8.h, lib/oci8/metadata.rb:
19
+ Fix OCI8#describe_table to follow synonyms in a remote database.
20
+ Add OCI8::Metadata::Base#obj_link.
21
+
22
+ 2013-12-29 KUBO Takehiro <kubo@jiubao.org>
23
+ * NEWS: add changes between 2.1.6 and 2.1.5.
24
+ * VERSION: change the version to 2.1.6.
25
+
26
+ 2013-12-28 KUBO Takehiro <kubo@jiubao.org>
27
+ * ext/oci8/oraconf.rb: fix for Windows x64. OCI.lib for MSVC doesn't
28
+ work with mingw64 compilers. fix URL in the error message.
29
+
30
+ 2013-12-14 KUBO Takehiro <kubo@jiubao.org>
31
+ * lib/oci8/metadata.rb, test/test_metadata.rb: fix
32
+ OCI8::Metadata::Synonym#schema_name and #translated_name
33
+ for synonyms with a database link and without schema_name.
34
+
35
+ 2013-12-14 KUBO Takehiro <kubo@jiubao.org>
36
+ * test/*.rb: suppress warnings "MiniTest::Unit::TestCase is now Minitest::Test"
37
+ when minitest gem is installed.
38
+
39
+ 2013-12-14 KUBO Takehiro <kubo@jiubao.org>
40
+ * test/test_metadata.rb: fix tests in an environment where
41
+ the data size of "CAST('1' AS CHAR(1 char))" is wrong.
42
+
43
+ 2013-11-18 KUBO Takehiro <kubo@jiubao.org>
44
+ * ext/oci8/oraconf.rb: support cygwin x86_64.
45
+
46
+ 2013-11-10 KUBO Takehiro <kubo@jiubao.org>
47
+ * ext/oci8/error.c, ext/oci8/lob.c, ext/oci8/object.c, ext/oci8/oci8.h,
48
+ ext/oci8/oci8lib.c, ext/oci8/ocihandle.c, ext/oci8/stmt.c:
49
+ use rb_class_new_instance() instead of rb_funcall() with rb_intern("new").
50
+
51
+ 2013-11-09 KUBO Takehiro <kubo@jiubao.org>
52
+ * ext/oci8/error.c, ext/oci8/extconf.rb, ext/oci8/oci8.h:
53
+ append the full path of the Oracle client library when OCIEnvCreate
54
+ is failed such as "OCI Library Initialization Error - /path/to/libclntsh.so.12.1".
55
+
56
+ 2013-11-09 KUBO Takehiro <kubo@jiubao.org>
57
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: support rubinius 2.x whose
58
+ RUBY_VERSION is 2.1.0.
59
+ * ext/oci8/oraconf.rb: reduce the size of libOCI.a created for cygwin.
60
+
61
+ 2013-11-09 KUBO Takehiro <kubo@jiubao.org>
62
+ * ext/oci8/extconf.rb, lib/oci8.rb.in: support ruby 2.1.0-preview1.
63
+ (requested by Yasuo Honda)
64
+
65
+ 2013-08-24 KUBO Takehiro <kubo@jiubao.org>
66
+ * ext/oci8/oraconf.rb: Use Dir.glob to find the Oracle instant client
67
+ NLS data file. Its name depends on the Oracle major version on
68
+ Windows.
69
+
70
+ 2013-08-03 KUBO Takehiro <kubo@jiubao.org>
71
+ * lib/oci8/metadata.rb: fix undefined method 'char_used?' when
72
+ OCI8::Metadata::Argument#inspect is called.
73
+ * test/test_metadata.rb: refactor and add tests for #inspect methods.
74
+ * test/test_package_type.rb: add some test data.
75
+
76
+ 2013-07-30 KUBO Takehiro <kubo@jiubao.org>
77
+ * ext/oci8/metadata.c, ext/oci8/ocihandle.c, test/test_metadata.rb:
78
+ Fix segmentation fault when metadata are accessed after the
79
+ session is disconnected.
80
+
81
+ 2013-07-24 KUBO Takehiro <kubo@jiubao.org>
82
+ * lib/oci8/metadata.rb, test/test_package_type.rb:
83
+ Add OCI8::Metadata::Type#package_name and
84
+ OCI8::Metadata::ArgBase#has_default?.
85
+
86
+ 2013-07-22 KUBO Takehiro <kubo@jiubao.org>
87
+ * ext/oci8/oci8lib.c, lib/oci8.rb.in, lib/oci8/metadata.rb: Add
88
+ OCI8::Metadata::Package:types to support package type
89
+ description. It is a new feature of Oracle 12c.
90
+ * test/setup_test_package.sql, test/test_all.rb,
91
+ test/test_package_type.rb: Add tests for package type description.
92
+
93
+ 2013-07-15 KUBO Takehiro <kubo@jiubao.org>
94
+ * test/*.rb: Use MiniTest instead of Test::Unit.
95
+
96
+ 2013-06-23 KUBO Takehiro <kubo@jiubao.org>
97
+ * lib/oci8/cursor.rb, lib/oci8/object.rb: fix to bind object types by
98
+ name as OCI8::Cursor#bind_param(pos, val, :named_type, typename).
99
+ * test/test_object.rb: fix to test OCI8::Cursor#bind_param(pos, val,
100
+ :named_type, typename).
101
+
102
+ 2013-06-23 KUBO Takehiro <kubo@jiubao.org>
103
+ * lib/oci8/metadata.rb: OCI8#describe_synonym and OCI8#describe_any
104
+ accept 'PUBLIC.XXX' as a public synonym name.
105
+ * test/test_metadata.rb: add tests for OCI8#describe_synonym.
106
+
107
+ 2013-06-11 KUBO Takehiro <kubo@jiubao.org>
108
+ * ruby-oci8.gemspec: fix ruby version checking in binary gem.
109
+ Gem::ruby_version of ruby 2.0.0p195 is 2.0.0.195, which
110
+ doesn't match '= 2.0.0'.
111
+ (github issue #36 reported by sodonnel)
112
+
113
+ 2013-03-30 KUBO Takehiro <kubo@jiubao.org>
114
+ * ext/oci8/oci8lib.c: fix potential SEGV when one connection
115
+ is used by more than two threads and temporary lobs are
116
+ freed by GC.
117
+
118
+ 2013-03-16 KUBO Takehiro <kubo@jiubao.org>
119
+ * ext/oci8/apiwrap.yml, ext/oci8/stmt.c: call OCIStmtPrepare2()
120
+ without GVL to prevent OCI8#parse from blocking ruby itself
121
+ while the connection is used by another thread even though
122
+ non-blocking mode is set.
123
+
1
124
  2013-03-09 KUBO Takehiro <kubo@jiubao.org>
2
125
  * ruby-oci8.gemspec: revert the previous commit because old
3
126
  rubygems doesn't support:
data/NEWS CHANGED
@@ -1,5 +1,59 @@
1
1
  # @markup markdown
2
2
 
3
+ 2.1.7
4
+ =====
5
+
6
+ New Features
7
+ ------------
8
+
9
+ ### Add OCI8::Metadata::Base#obj_link.
10
+
11
+ Fixed Issues
12
+ ------------
13
+
14
+ - Fix OCI8#describe_table to follow synonyms in a remote database.
15
+
16
+ 2.1.6
17
+ =====
18
+
19
+ New Features
20
+ ------------
21
+
22
+ ### Support ruby 2.1.0
23
+
24
+ ### Support cygwin x86_64
25
+
26
+ ### OCI8#describe_synonym and OCI8#describe_any accept 'PUBLIC.XXX' as a public synonym name.
27
+
28
+ Fixed Issues
29
+ ------------
30
+
31
+ - fix wrong return valus of OCI8::Metadata::Synonym#schema_name
32
+ and #translated_name for synonyms with a database link but
33
+ without schema_name.
34
+
35
+ - fix ruby version checking in binary gem. Gem::ruby_version of
36
+ ruby 2.0.0p195 is 2.0.0.195, which doesn't match '= 2.0.0'.
37
+
38
+ (github issue #36 reported by sodonnel)
39
+
40
+ - fix SEGV when metadata are accessed after the session is disconnected.
41
+
42
+ - fix undefined method 'char_used?' when OCI8::Metadata::Argument#inspect is called.
43
+
44
+ - fix tests in an environment where the data size of "CAST('1' AS CHAR(1 char))"
45
+ is wrong.
46
+
47
+ - suppress warnings "MiniTest::Unit::TestCase is now Minitest::Test"
48
+ when minitest gem is installed.
49
+
50
+ - fix SEGV when oci8lib.so is compiled by mingw64 without runtime-check option.
51
+ Note that binary gems are compiled with runtime-check to check available Oracle
52
+ client features at runtime.
53
+
54
+ - fix SEGV when one connection is used by more than two threads and temporary
55
+ lobs are freed by GC.
56
+
3
57
  2.1.5
4
58
  =====
5
59
 
data/README.md CHANGED
@@ -21,20 +21,23 @@ Connect to scott/tiger, select `emp` and print as CSV format.
21
21
 
22
22
  If you install a ruby-oci8 gem package, you may need to add `-rubygems` before `-r oci8`.
23
23
 
24
- Documantation
24
+ API Reference
25
25
  =============
26
26
 
27
- * [Reference Manual](http://ruby-oci8.rubyforge.org/en/)
28
- * {file:docs/install-full-client.md}
29
- * {file:docs/install-instant-client.md}
30
- * {file:docs/install-binary-package.md}
27
+ * http://rubydoc.info/gems/ruby-oci8/frames/file/README.md
28
+
29
+ Installation
30
+ ============
31
+
32
+ * {file:docs/install-full-client.md Install for Oracle Full Client}
33
+ * {file:docs/install-instant-client.md Install for Oracle Instant Client}
34
+ * {file:docs/install-binary-package.md Install Binary Package}
31
35
 
32
36
  Report issues
33
37
  =============
34
38
 
35
39
  * {file:docs/report-installation-issue.md}
36
40
  * [The issues page on github](https://github.com/kubo/ruby-oci8/issues)
37
- * [The ruby-oci8 help forum on rubyforge](http://rubyforge.org/forum/forum.php?forum_id=1078)
38
41
 
39
42
  License
40
43
  =======
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.1.5.1
1
+ 2.1.7
@@ -90,8 +90,7 @@ tar.gz package
90
90
 
91
91
  ### Download the source code
92
92
 
93
- Download the latest tar.gz package such as ruby-oci8 2.1.0.tar.gz,
94
- which is the latest version at the time of writing, from [rubyforge][].
93
+ Download the latest tar.gz package from [download page][].
95
94
 
96
95
  ### Run make and install
97
96
 
@@ -107,10 +106,9 @@ note: If you use '`sudo`', use it only when running '`make install`'.
107
106
 
108
107
  #### Windows(mswin32)
109
108
 
110
-
111
109
  gzip -dc ruby-oci8-VERSION.tar.gz | tar xvf -
112
110
  cd ruby-oci8-VERSION
113
111
  nmake
114
112
  nmake install
115
113
 
116
- [rubyforge]: http://rubyforge.org/frs/?group_id=256
114
+ [download page]: https://bintray.com/kubo/generic/ruby-oci8
@@ -34,11 +34,11 @@ Unzip the packages as follows:
34
34
  unzip path/to/instantclient-sdk-OS-VERSION.zip
35
35
  unzip path/to/instantclient-sqlplus-OS-VERSION.zip
36
36
 
37
- If /opt/oracle/instantclient10_1/libclntsh.so is not found, make
37
+ If /opt/oracle/instantclient12_1/libclntsh.so is not found, make
38
38
  a symbolic link to link the library.
39
39
 
40
- cd /opt/oracle/instantclient10_1
41
- ln -s libclntsh.so.10.1 libclntsh.so
40
+ cd /opt/oracle/instantclient12_1
41
+ ln -s libclntsh.so.12.1 libclntsh.so
42
42
 
43
43
  Note:
44
44
 
@@ -66,9 +66,15 @@ the installed directory.
66
66
  </table>
67
67
 
68
68
  For example:
69
- $ LD_LIBRARY_PATH=/opt/oracle/instantclient_10_2
69
+
70
+ $ LD_LIBRARY_PATH=/opt/oracle/instantclient_12_1
70
71
  $ export LD_LIBRARY_PATH
71
72
 
73
+ Though many instant client pages indicate that the environment varialbe
74
+ `ORACLE_HOME` should be set, it isn't necessary unless Oracle Net
75
+ configuration files such as `tnsnames.ora` and `sqlnet.ora` are in
76
+ `$ORACLE_HOME/network/admin/`.
77
+
72
78
  Linux rpm packages
73
79
  ------------------
74
80
 
@@ -81,7 +87,8 @@ Install the downloaded packages as follows:
81
87
  Set LD_LIBRARY_PATH to point to the directory where libclntsh.so is installed.
82
88
 
83
89
  For example:
84
- $ LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.3/client/lib
90
+
91
+ $ LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client/lib
85
92
  $ export LD_LIBRARY_PATH
86
93
 
87
94
  Windows
@@ -138,8 +145,7 @@ tar.gz package
138
145
 
139
146
  ### Download the source code
140
147
 
141
- Download the latest tar.gz package such as ruby-oci8 2.1.0.tar.gz,
142
- which is the latest version at the time of writing, from [rubyforge][].
148
+ Download the latest tar.gz package from [download page][].
143
149
 
144
150
  Note: if you are using Windows and you have no special need to compile
145
151
  it by yourself, look at {file:docs/install-binary-packge.md}.
@@ -158,10 +164,9 @@ note: If you use '`sudo`', use it only when running '`make install`'.
158
164
 
159
165
  #### Windows(mswin32)
160
166
 
161
-
162
167
  gzip -dc ruby-oci8-VERSION.tar.gz | tar xvf -
163
168
  cd ruby-oci8-VERSION
164
169
  nmake
165
170
  nmake install
166
171
 
167
- [rubyforge]: http://rubyforge.org/frs/?group_id=256
172
+ [download page]: https://bintray.com/kubo/generic/ruby-oci8
@@ -4,7 +4,7 @@ Look at {file:docs/platform-specific-issues.md},
4
4
  [the issues page on github][github] and [the ruby-oci8 help forum on rubyforge][rubyforge]
5
5
  to check whether your issue is fixed or not.
6
6
 
7
- If it is a new one, post the following information to [github][] or [rubyforge][].
7
+ If it is a new one, post the following information to [github][].
8
8
 
9
9
  [github]: https://github.com/kubo/ruby-oci8/issues
10
10
  [rubyforge]: http://rubyforge.org/forum/forum.php?forum_id=1078
@@ -43,15 +43,14 @@ when 'ruby'
43
43
  # 1.9.3 | 1.9.1
44
44
  # --------------+--------------
45
45
  # 2.0.0 | 2.0.0
46
- # 2.0.1 | 2.0.1 (See: [ruby-core:49578])
46
+ # --------------+--------------
47
+ # 2.1.0 | 2.1.0
47
48
  # ... | ...
48
49
  #
49
- # Note: The ruby ABI version is same with RbConfig::CONFIG['ruby_version']
50
- # if it wasn't explicitly changed by the configure option --with-ruby-version.
50
+ # The ABI version of ruby 2.1.1 will be 2.1.0.
51
+ # See "ABI Compatibility" in <URL:http://www.ruby-lang.org/en/news/2013/12/21/semantic-versioning-after-2-1-0/>.
51
52
  #
52
53
  case RUBY_VERSION
53
- when /^2\.0/
54
- so_basename += RUBY_VERSION.gsub(/\W/, '')
55
54
  when /^1\.9\.0/
56
55
  raise 'unsupported ruby version: 1.9.0'
57
56
  when /^1\.9/
@@ -59,20 +58,10 @@ when 'ruby'
59
58
  when /^1\.8/
60
59
  so_basename += '18'
61
60
  else
62
- raise 'unsupported ruby version: ' + RUBY_VERSION
61
+ so_basename += RUBY_VERSION.gsub(/(\d+)\.(\d+).(.*)/, '\1\20')
63
62
  end
64
63
  when 'rbx'
65
- # "rbx -X18" and "rbx -X19" use different C header files.
66
- case RUBY_VERSION
67
- when /^2\.0/
68
- so_basename += 'rbx20'
69
- when /^1\.9/
70
- so_basename += 'rbx19'
71
- when /^1\.8/
72
- so_basename += 'rbx18'
73
- else
74
- raise 'unsupported language mode: ' + RUBY_VERSION
75
- end
64
+ so_basename += 'rbx'
76
65
  when 'jruby'
77
66
  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."
78
67
  else
@@ -80,10 +69,10 @@ else
80
69
  end
81
70
  require so_basename
82
71
 
83
- if OCI8::VERSION != '2.1.5'
72
+ if OCI8::VERSION != '2.1.7'
84
73
  require 'rbconfig'
85
74
  so_name = so_basename + "." + RbConfig::CONFIG['DLEXT']
86
- raise "VERSION MISMATCH! #{so_name} version is #{OCI8::VERSION}, but oci8.rb version is 2.1.5."
75
+ raise "VERSION MISMATCH! #{so_name} version is #{OCI8::VERSION}, but oci8.rb version is 2.1.7."
87
76
  end
88
77
 
89
78
  require 'oci8/encoding-init.rb'
@@ -104,6 +93,8 @@ class OCI8
104
93
  ORAVER_10_2 = OCI8::OracleVersion.new(10, 2)
105
94
  # @private
106
95
  ORAVER_11_1 = OCI8::OracleVersion.new(11, 1)
96
+ # @private
97
+ ORAVER_12_1 = OCI8::OracleVersion.new(12, 1)
107
98
 
108
99
  # @private
109
100
  @@oracle_client_version = OCI8::OracleVersion.new(self.oracle_client_vernum)
@@ -43,15 +43,14 @@ when 'ruby'
43
43
  # 1.9.3 | 1.9.1
44
44
  # --------------+--------------
45
45
  # 2.0.0 | 2.0.0
46
- # 2.0.1 | 2.0.1 (See: [ruby-core:49578])
46
+ # --------------+--------------
47
+ # 2.1.0 | 2.1.0
47
48
  # ... | ...
48
49
  #
49
- # Note: The ruby ABI version is same with RbConfig::CONFIG['ruby_version']
50
- # if it wasn't explicitly changed by the configure option --with-ruby-version.
50
+ # The ABI version of ruby 2.1.1 will be 2.1.0.
51
+ # See "ABI Compatibility" in <URL:http://www.ruby-lang.org/en/news/2013/12/21/semantic-versioning-after-2-1-0/>.
51
52
  #
52
53
  case RUBY_VERSION
53
- when /^2\.0/
54
- so_basename += RUBY_VERSION.gsub(/\W/, '')
55
54
  when /^1\.9\.0/
56
55
  raise 'unsupported ruby version: 1.9.0'
57
56
  when /^1\.9/
@@ -59,20 +58,10 @@ when 'ruby'
59
58
  when /^1\.8/
60
59
  so_basename += '18'
61
60
  else
62
- raise 'unsupported ruby version: ' + RUBY_VERSION
61
+ so_basename += RUBY_VERSION.gsub(/(\d+)\.(\d+).(.*)/, '\1\20')
63
62
  end
64
63
  when 'rbx'
65
- # "rbx -X18" and "rbx -X19" use different C header files.
66
- case RUBY_VERSION
67
- when /^2\.0/
68
- so_basename += 'rbx20'
69
- when /^1\.9/
70
- so_basename += 'rbx19'
71
- when /^1\.8/
72
- so_basename += 'rbx18'
73
- else
74
- raise 'unsupported language mode: ' + RUBY_VERSION
75
- end
64
+ so_basename += 'rbx'
76
65
  when 'jruby'
77
66
  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."
78
67
  else
@@ -104,6 +93,8 @@ class OCI8
104
93
  ORAVER_10_2 = OCI8::OracleVersion.new(10, 2)
105
94
  # @private
106
95
  ORAVER_11_1 = OCI8::OracleVersion.new(11, 1)
96
+ # @private
97
+ ORAVER_12_1 = OCI8::OracleVersion.new(12, 1)
107
98
 
108
99
  # @private
109
100
  @@oracle_client_version = OCI8::OracleVersion.new(self.oracle_client_vernum)
@@ -478,6 +478,8 @@ class OCI8
478
478
  elsif key.class == Class && key < OCI8::Object::Base
479
479
  param = @con.get_tdo_by_class(key)
480
480
  key = :named_type
481
+ elsif key == :named_type
482
+ param = @con.get_tdo_by_typename(param[:length])
481
483
  end
482
484
  when OCI8::Metadata::Base
483
485
  key = param.data_type