KUBO Takehiro wrote:

> Michael Neumann <mneumann / ntecs.de> writes:
> 
> 
>>Jim Cain wrote:
>>
>>
>>>Hi all. I was looking for a Ruby interface to 9i that would handle all 
>>>the latest features, including collections, object navigation and so 
>>>on, but I didn't find one. So over the weekend I started writing my 
>>>own. I've coded the basic functionality as a C extention library that 
>>>uses OCI 9. It connects and executes, and it will fetch the common 
>>>Oracle types. Now I need to add all the features I want and then put a 
>>>nice DBI face on it.
>>
>>http://www.jiubao.org/ruby-oci8/index.en.html
>>
>>Why not extend this for 9i functionalities?
> 
> 
> IMHO that OCI8 extention is too complex to add new features.
> I, author, confuse sometimes. :-<
> 
> I am making next version from scratch now and then. Its purpose is
> limited but simple and usable features and extensible structure.
> OCI::Date and OCI::Number are also available. You can use all features
> of Oracle Date and Oracle Number from ruby. But collections and object
> navigation are out of my interset. Thus if Jim's code become rapidly
> usable more than my one and its licence become non-GPL, I will stop my
> work.
> 
> You can get my unfinished code
>    http://www.jiubao.org/ruby-oci8/ruby-oci8-v0.2-unusable-2003-0626.tar.gz
> This lacks high level API yet.
> 
> Cheers.

Speaking of OCI::Date and OCI::Number, this is similar to what I did 
before in C++ (see http://jimcain.us/orapp/)... I implemented methods to 
call Oracle's date calculation functions (last_day, next_day and so on) 
and date arithmetic. I plan on doing the same in my Ruby library. You 
will be able to do all the date arithmetic that is supported by the OCI, 
including the use of the newer types timestamp and interval. In fact, 
I'm coding the Interval classes right now.

As for the license, I will continue to think about that one. I released 
my C++ library (linked above) under the LGPL, so anything's possible.

Cheers,
Jim