[ruby-oci8-commit] [260] branches/ruby-oci8-1.0: * NEWS: add changes between 1.0.0 and 1.0.1.

nobody at rubyforge.org nobody at rubyforge.org
Sun Apr 27 08:04:08 EDT 2008


Revision: 260
Author:   kubo
Date:     2008-04-27 08:04:07 -0400 (Sun, 27 Apr 2008)

Log Message:
-----------
* NEWS: add changes between 1.0.0 and 1.0.1.
* VERSION: update to 1.0.1.
* ext/oci8/extconf.rb: raise error if the ruby is 1.9.
* ext/oci8/oraconf.rb: fix for intel mac instant client.

Modified Paths:
--------------
    branches/ruby-oci8-1.0/ChangeLog
    branches/ruby-oci8-1.0/NEWS
    branches/ruby-oci8-1.0/VERSION
    branches/ruby-oci8-1.0/ext/oci8/extconf.rb
    branches/ruby-oci8-1.0/ext/oci8/oraconf.rb

Modified: branches/ruby-oci8-1.0/ChangeLog
===================================================================
--- branches/ruby-oci8-1.0/ChangeLog	2008-04-08 06:49:49 UTC (rev 259)
+++ branches/ruby-oci8-1.0/ChangeLog	2008-04-27 12:04:07 UTC (rev 260)
@@ -1,3 +1,9 @@
+2008-04-27  KUBO Takehiro  <kubo at jiubao.org>
+	* NEWS: add changes between 1.0.0 and 1.0.1.
+	* VERSION: update to 1.0.1.
+	* ext/oci8/extconf.rb: raise error if the ruby is 1.9.
+	* ext/oci8/oraconf.rb: fix for intel mac instant client.
+
 2008-04-08  KUBO Takehiro  <kubo at jiubao.org>
 	* ext/oci8/oraconf.rb: add error messages for the beta
 	    version of intel mac oracle instant client. But the production

Modified: branches/ruby-oci8-1.0/NEWS
===================================================================
--- branches/ruby-oci8-1.0/NEWS	2008-04-08 06:49:49 UTC (rev 259)
+++ branches/ruby-oci8-1.0/NEWS	2008-04-27 12:04:07 UTC (rev 260)
@@ -1,3 +1,45 @@
+1.0.1:
+
+1. [SPEC CHANGE] OCI8#exec and OCI8::Cursor#exec's return value is changed
+   for statement except select, insert, update and delete statement.
+
+   It had been true. But now it is the number of rows processed for all
+   non-select statements.
+
+   For example:
+
+     # 1.0.0 or before
+     conn = OCI8.new('user/pass')
+     conn.exec('rename FOO_TABLE to BAR_TABLE') # => true
+
+     # 1.0.1
+     conn = OCI8.new('user/pass')
+     conn.exec('rename FOO_TABLE to BAR_TABLE') # => 0
+
+2. fix a bug that OraDate.new made a core dump on x86_64 linux.
+  (reported by Alun Eyre)
+
+3. fix OCI8#non_blocking = false problem.
+  Once the connection became non-bocking mode, it could
+  not be reset to blocking mode. Now it can be reset.
+  (reported by Cagdas Gerede)
+
+4. support cursors in a result set.
+   (contributed by Randy Gordon)
+
+   For example:
+      conn = OCI8.new('ruby/oci8')
+      sql = 'SELECT CURSOR(SELECT * FROM foo where foo.c1 = bar.c1 ) FROM bar'
+      conn.exec(sql) do |row|
+        cursor_in_result_set = row[0]
+        cursor_in_result_set.fetch do |row|
+          puts row.join(',')
+        end
+      end
+
+5. fix oraconf.rb for official x86_64 linux rpms.
+   (contributed by Pat)
+
 1.0.0:
 
 1. fix a BUG when binding a Bignum. This bug was added in

Modified: branches/ruby-oci8-1.0/VERSION
===================================================================
--- branches/ruby-oci8-1.0/VERSION	2008-04-08 06:49:49 UTC (rev 259)
+++ branches/ruby-oci8-1.0/VERSION	2008-04-27 12:04:07 UTC (rev 260)
@@ -1 +1 @@
-1.0.0
\ No newline at end of file
+1.0.1
\ No newline at end of file

Modified: branches/ruby-oci8-1.0/ext/oci8/extconf.rb
===================================================================
--- branches/ruby-oci8-1.0/ext/oci8/extconf.rb	2008-04-08 06:49:49 UTC (rev 259)
+++ branches/ruby-oci8-1.0/ext/oci8/extconf.rb	2008-04-27 12:04:07 UTC (rev 260)
@@ -1,3 +1,11 @@
+raise <<EOS if RUBY_VERSION.index("1.9") == 0
+---------------------------------------------------
+error message:
+ruby-oci8 1.0 is not supported by ruby #{RUBY_VERSION}.
+Use ruby-oci8 2.0 in SVN trunk.
+---------------------------------------------------
+EOS
+
 begin
   require 'mkmf'
 rescue LoadError

Modified: branches/ruby-oci8-1.0/ext/oci8/oraconf.rb
===================================================================
--- branches/ruby-oci8-1.0/ext/oci8/oraconf.rb	2008-04-08 06:49:49 UTC (rev 259)
+++ branches/ruby-oci8-1.0/ext/oci8/oraconf.rb	2008-04-27 12:04:07 UTC (rev 260)
@@ -939,16 +939,32 @@
         while line = f.gets
           # universal-darwin8.0 (Mac OS X 10.4?)
           if line.include? 'cputype (18, architecture ppc) does not match cputype (7)'
+            # try to link an i386 library but the instant client is ppc.
             arch_i386_error = true
           end
           if line.include? 'cputype (7, architecture i386) does not match cputype (18)'
+            # try to link a ppc library but the instant client is i386.
             arch_ppc_error = true
           end
+          if line.include? '/libclntsh.dylib load command 8 unknown cmd field'
+            raise <<EOS
+Intel mac instant client is for Mac OS X 10.5.
+It doesn't work on Mac OS X 10.4 or before.
+
+You have three workarounds.
+  1. Compile ruby as ppc binary and use it with ppc instant client.
+  2. Use JRuby and JDBC
+  3. Use a third-party ODBC driver and ruby-odbc.
+EOS
+            # '
+          end
           # universal-darwin9.0 (Mac OS X 10.5?)
           if line.include? 'Undefined symbols for architecture i386:'
+            # try to link an i386 library but the instant client is ppc.
             arch_i386_error = true
           end
           if line.include? 'Undefined symbols for architecture ppc:'
+            # try to link a ppc library but the instant client is i386.
             arch_ppc_error = true
           end
 
@@ -957,13 +973,7 @@
               # intel mac and '-arch i386' error
               raise <<EOS
 Could not compile with Oracle instant client.
-Use intel mac client, which will be released in a couple of weeks.
-   http://forums.oracle.com/forums/thread.jspa?threadID=634246
-
-If it has not been released yet, you have three workarounds.
-  1. Compile ruby as ppc binary.
-  2. Use JRuby and JDBC
-  3. Use a third-party ODBC driver and ruby-odbc.
+Use intel mac instant client.
 EOS
             else
               # ppc mac and '-arch i386' error




More information about the ruby-oci8-commit mailing list