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

Sign up to get free protection for your applications and to get access to all the features.
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