Forum: Ruby ruby-oci8 1.0.0-rc3

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
6ece05caebbfa91944047629101bc5ea?d=identicon&s=25 Takehiro Kubo (kubo)
on 2007-07-01 16:00
(Received via mailing list)
ruby-oci8 1.0.0-rc3 is released. This is a Oracle module using OCI8 API.

What's new.

1. support external OS authentication.
   (suggested by Dan Fitch)

      conn ='/')
      conn =, nil)

2. incompatible change on connect string.

   You need to pass only one argument to to parse the
   first argument as a SQL*Plus-like connect string.

   For example,'scott/tiger', nil) was parsed as the
   username is 'scott' and the password is 'tiger' in 1.0.0-rc2.
   But from now on, it is treated as the username is 'scott/tiger'
   and the password is nil because it has two arguments. You need
   to use'scott/tiger') instead.

3. fix NCLOB support on Oracle 9i.
   (reported by Matthew Noble)

   1.0.0-rc2's NCLOB support worked on Oracle 10g only.

4. fix a problem to compile with a third-party x86_64 rpm package.
   (contributed by Jeff Abbott)

   The x86_64 source rpm packages are found on the following URLs.

5. '--with-instant-client' option become obsolete and is ignored.

   Use LD_LIBRARY_PATH(Linux), PATH(Windows), etc. to indicate
   the instant client's location.

6. fix some other minor problems.

What will be new in the next release.

1. The vesion will be 1.0.0.

2. No data rounding between ruby's Float and Oracle's
   BINARY_DOUBLE when using bind variables.

   In ruby-oci8 1.0.0-rc3 and earlier, even though an Oracle's
   column is defined as BINARY_DOUBLE, there are data convertions
   between the server and the client. That's because the network
   data representation is not BINARY_DOUBLE but Oracle's NUMBER
   datatype. The client-side's ruby Float become Oracle NUMBER
   on the network and become BINARY_DOUBLE on the server. Ruby's
   Flaot and Oracle's BINARY_DOUBLE are both IEEE 754 double
   precision floating number, but Oracle NUMBER is base-100
   floating number. It causes rounding problems. You can store
   almost same but not exactly same values to the server.

   In ruby-oci8 1.0.0, the network data representation will be
   same with BINARY_DOUBLE if the client and server's version is
   Oracle 10g. There will be no data conversion except changing
   byte order.

   Note: Rails cannot store exactly same Float values to the server
         even though after ruby-oci8 1.0.0 is released. That's
         because rails doesn't use real bind variables.
This topic is locked and can not be replied to.