Sorry. Some bugs was found in ruby-oci8 0.1.10.
I've released ruby-oci8 0.1.10.1.
Please use it instead of 0.1.10.

KUBO Takehiro <kubo / jiubao.org> writes:

> Hi,
>
> I've released ruby-oci8 0.1.10.
> This is a Oracle module using OCI8 API.
>
> URL:http://rubyforge.org/projects/ruby-oci8/
>
> What's new:
>
> 1. bind a ref cursor as an OCI8::Cursor or a DBI::StatementHandle.
>    (requested by Stephen Flinter and Jason Sweat.)
>
>   Example:
>
>     # parse PL/SQL
>     plsql = conn.parse("BEGIN OPEN :cursor FOR SELECT * FROM emp; END;")
>     # bind :cursor as OCI8::Cursor
>     plsql.bind_param(':cursor', OCI8::Cursor)
>     # execute
>     plsql.exec
>     # get a bind value, which is an OCI8::Cursor.
>     cursor = plsql[':cursor']
>     # fetch results from the cursor.
>     while r = cursor.fetch()
>       puts r.join(',')
>     end
>
>   or
>
>     # parse/bind/execute PL/SQL
>     sth1 = dbh.execute("BEGIN OPEN ? FOR SELECT * FROM emp; END;", DBI::StatementHandle)
>     # get a bind value, which is a DBI::StatementHandle.
>     sth2 = sth1.func(:bind_value, 1)
>     # fetch results from the statement handle.
>     while r = sth2.fetch()
>       puts r.join(',')
>     end
>
>   Restriction:
>     * bind a ref cursor as output, but not as input.
>       That means you can get it from a pl/sql block, can't pass it to
>       the block.
>
> 2. bind LONG / LONG RAW as 65535-byte String.
>    (suggested by Graham Jenkins.)
>
>   Restriction:
>     * If the length is longer than 65535, I don't know what happen.
>       I haven't tested yet. (Sorry)
>
> 3. customizable default column data type of select statements.
>
>   Many people (Dmitry Maksyoma, Maik and Graham Jenkins) have requested
>   to support TIMESTAMP. But I haven't supported it yet. Though you can
>   fetch a TIMESTAMP data as an OraDate by adding the following code to
>   your code.
>
>     OCI8::BindType::Mapping[OCI8::SQLT_TIMESTAMP] = OCI8::BindType::OraDate
>
>   To fetch a DATE(oracle) as a Time(ruby).
>
>     OCI8::BindType::Mapping[OCI8::SQLT_DAT] = OCI8::BindType::Time
>
>   To fetch a NUMBER(oracle) as a Float(ruby) at all times.
>
>     OCI8::BindType::Mapping[OCI8::SQLT_NUM] = OCI8::BindType::Float