[ruby-oci8-commit] [563] trunk/ruby-oci8: Update the version to 2.1.5 with minor fixes.

nobody at rubyforge.org nobody at rubyforge.org
Sat Mar 9 11:05:23 UTC 2013


Revision: 563
Author:   kubo
Date:     2013-03-09 11:05:23 +0000 (Sat, 09 Mar 2013)
Log Message:
-----------
Update the version to 2.1.5 with minor fixes.

Modified Paths:
--------------
    trunk/ruby-oci8/ChangeLog
    trunk/ruby-oci8/NEWS
    trunk/ruby-oci8/VERSION
    trunk/ruby-oci8/docs/platform-specific-issues.md
    trunk/ruby-oci8/ext/oci8/extconf.rb
    trunk/ruby-oci8/ext/oci8/oraconf.rb
    trunk/ruby-oci8/ruby-oci8.gemspec
    trunk/ruby-oci8/test/test_connection_pool.rb

Modified: trunk/ruby-oci8/ChangeLog
===================================================================
--- trunk/ruby-oci8/ChangeLog	2013-03-05 14:16:06 UTC (rev 562)
+++ trunk/ruby-oci8/ChangeLog	2013-03-09 11:05:23 UTC (rev 563)
@@ -1,3 +1,14 @@
+2013-03-09  KUBO Takehiro  <kubo at jiubao.org>
+	* NEWS: add changes between 2.1.5 and 2.1.4
+	* VERSION: change the version to 2.1.5.
+	* docs/platform-specific-issues.md: remove obsolete description.
+	* ext/oci8/extconf.rb, ext/oci8/oraconf.rb: fix to compile for
+	    Windows x64 client.
+	* ruby-oci8.gemspec: change required_ruby_version range
+	    when a binary gem includes more than one compiled object.
+	* test/test_connection_pool.rb: fix to pass tests on slow
+	    machines.
+
 2013-03-05  KUBO Takehiro  <kubo at jiubao.org>
 	* ext/oci8/oci8.c, lib/oci8/oci8.rb, lib/oci8/oracle_version.rb:
 	    refactoring.

Modified: trunk/ruby-oci8/NEWS
===================================================================
--- trunk/ruby-oci8/NEWS	2013-03-05 14:16:06 UTC (rev 562)
+++ trunk/ruby-oci8/NEWS	2013-03-09 11:05:23 UTC (rev 563)
@@ -1,5 +1,26 @@
 # @markup markdown
 
+2.1.5
+=====
+
+New Features
+------------
+
+### V$SESSION_CONNECT_INFO.CLIENT_DRIVER.
+
+'rubyoci8' is set as the driver name, which is displayed in
+V$SESSION_CONNECT_INFO.CLIENT_DRIVER when both the client and
+the server are Oracle 11g or upper.
+
+Fixed Issues
+------------
+
+-   fix segmentation fault when the process exits on rubinius.
+
+-   fix "OCI Library Initialization Error" only when the Oracle
+    instant client is 11.2.0.3 for Solaris x86 32-bit, the ruby
+    version is 1.9.3 or upper and the ruby is compiled by gcc.
+
 2.1.4
 =====
 

Modified: trunk/ruby-oci8/VERSION
===================================================================
--- trunk/ruby-oci8/VERSION	2013-03-05 14:16:06 UTC (rev 562)
+++ trunk/ruby-oci8/VERSION	2013-03-09 11:05:23 UTC (rev 563)
@@ -1 +1 @@
-2.1.4
+2.1.5

Modified: trunk/ruby-oci8/docs/platform-specific-issues.md
===================================================================
--- trunk/ruby-oci8/docs/platform-specific-issues.md	2013-03-05 14:16:06 UTC (rev 562)
+++ trunk/ruby-oci8/docs/platform-specific-issues.md	2013-03-09 11:05:23 UTC (rev 563)
@@ -69,12 +69,6 @@
 For example, if the ruby is compiled by gcc, you need gcc. If it is compiled by Oracle Solaris Studio
 (formerly called as Sun Studio), you need Oracle Solaris Studio.
 
-If "require 'oci8'" raises "OCI Library Initialization Error", ruby-oci8 version is 2.1.4 or lower,
-ruby version is 1.9.3 or upper, and ruby is compiled as an x86 32-bit executable by gcc, you may need
-to add the following code to ext/oci8/oci8lib.c to export a symbol `main`.
-
-    int main() { return 0; }
-
 If you use Blastwave.org's ruby and want not to install Sun Studio,
 you can edit rbconfig.rb by your self. [(look at here)](http://forum.textdrive.com/viewtopic.php?id=12630)
 

Modified: trunk/ruby-oci8/ext/oci8/extconf.rb
===================================================================
--- trunk/ruby-oci8/ext/oci8/extconf.rb	2013-03-05 14:16:06 UTC (rev 562)
+++ trunk/ruby-oci8/ext/oci8/extconf.rb	2013-03-09 11:05:23 UTC (rev 563)
@@ -225,11 +225,12 @@
   if RbConfig::MAKEFILE_CONFIG["LDSHARED"].gsub!(/-s\b/, '')
     alias :oci8_configuration_orig :configuration
     def configuration(*args)
+      prefix = [nil].pack('P').size == 4 ? '_' : ''
       oci8_configuration_orig(*args) << <<EOS
 
 # Dirty hack to get the map file.
 all__: all
-	nm $(DLLIB) | grep ' [TtBb] _[A-Za-z]' > $(TARGET).map
+	nm $(DLLIB) | grep ' [TtBb] #{prefix}[A-Za-z]' > $(TARGET).map
 	strip -s $(DLLIB)
 EOS
     end

Modified: trunk/ruby-oci8/ext/oci8/oraconf.rb
===================================================================
--- trunk/ruby-oci8/ext/oci8/oraconf.rb	2013-03-05 14:16:06 UTC (rev 562)
+++ trunk/ruby-oci8/ext/oci8/oraconf.rb	2013-03-09 11:05:23 UTC (rev 563)
@@ -394,6 +394,7 @@
       nls_data_basename = ['oraociei11', 'oraociicus11', 'oraociei10', 'oraociicus10']
       @@ld_envs = %w[PATH]
       so_ext = 'dll'
+      check_proc = make_proc_to_check_cpu(is_32bit ? :i386 : :x86_64)
     when /i.86-linux/
       check_proc = make_proc_to_check_cpu(:i386)
     when /ia64-linux/

Modified: trunk/ruby-oci8/ruby-oci8.gemspec
===================================================================
--- trunk/ruby-oci8/ruby-oci8.gemspec	2013-03-05 14:16:06 UTC (rev 562)
+++ trunk/ruby-oci8/ruby-oci8.gemspec	2013-03-09 11:05:23 UTC (rev 563)
@@ -45,9 +45,9 @@
     end
 
     # least version in so_vers
-    so_vermin = so_vers.collect do |ver|
+    dotted_vers = so_vers.collect do |ver|
       "#$1.#$2.#{$3||'0'}" if /^(?:rbx)?(\d)(\d)(\d)?/ =~ ver
-    end.sort.first
+    end.sort
 
     case so_vers.length
     when 0
@@ -55,13 +55,18 @@
     when 1
       puts "Binary gem for ruby #{so_vers.first}"
       if so_vers[0] < '2.0.0'
-        s.required_ruby_version = "~> #{so_vermin}"
+        s.required_ruby_version = "~> #{dotted_vers.first}"
       else
-        s.required_ruby_version = "= #{so_vermin}"
+        s.required_ruby_version = "= #{dotted_vers.first}"
       end
     else
       puts "Binary gem for ruby #{so_vers.join(', ')}"
-      s.required_ruby_version = ">= #{so_vermin}"
+      s.required_ruby_version = [">= #{dotted_vers.first}",
+                                 case dotted_vers.last
+                                 when '1.9.0', '1.9.1' then '< 2.0.0'
+                                 else "<= #{dotted_vers.last}"
+                                 end
+                                ]
     end
 
     FileUtils.copy so_files, 'lib', :preserve => true

Modified: trunk/ruby-oci8/test/test_connection_pool.rb
===================================================================
--- trunk/ruby-oci8/test/test_connection_pool.rb	2013-03-05 14:16:06 UTC (rev 562)
+++ trunk/ruby-oci8/test/test_connection_pool.rb	2013-03-09 11:05:23 UTC (rev 563)
@@ -76,7 +76,7 @@
     threads = []
     (min_cnt + 1).times do |n|
       threads << Thread.start do
-        conns[n].exec "BEGIN DBMS_LOCK.SLEEP(2); END;"
+        conns[n].exec "BEGIN DBMS_LOCK.SLEEP(5); END;"
       end
     end
     sleep(0.5)
@@ -86,7 +86,7 @@
     # Execute blocking SQL statements parallel up to maximum.
     (min_cnt + 1).upto(max_cnt - 1) do |n|
       threads << Thread.start do
-        conns[n].exec "BEGIN DBMS_LOCK.SLEEP(1); END;"
+        conns[n].exec "BEGIN DBMS_LOCK.SLEEP(4); END;"
       end
     end
     sleep(0.5)



More information about the ruby-oci8-commit mailing list