 |
Forums |
Admin Start New Thread
By: Liming Lian
RE: Want to contribute [ reply ] 2007-12-03 01:34
|
Hi Kubo,
Thanks for your reply and detail explanation of the development plan. I think I will first hack on the Array DML.
I will keep posting on this forum to discuss the progress and issues I have during the development. Hope more and more developers can join this community to make ruby-oci8 better.
Liming
|
By: Kubo Takehiro
RE: Want to contribute [ reply ] 2007-12-02 15:10
|
Thanks for you proposal.
Here is my plan for ruby-oci8 2.0.
(1) Oracle Objects (Named datatypes)
1-a. accessing attributes (2007)
1-b. calling class/member functions/procedures (2008 Q1 ~ Q2)
1-c. REF support (2008 Q3 ~ Q4)
(2) Array DML (Native array support) (2008)
OCI has a feature executing more than one DML at once.
It reduces network round trips and improve performance.
http://download-uk.oracle.com/docs/cd/B14117_01/appdev.101/b10779/oci05bnd.htm#423632
I have not decided how to use it. There are two ways.
a. set batch value. Array DML is done internally.
http://download-uk.oracle.com/docs/cd/B10501_01/java.920/a96654/oraperf.htm
b. add new bind and execute functions.
http://search.cpan.org/~timb/DBI/DBI.pm#bind_param_array
I thought the former was elegant and proper. But it may be hard to
explain what it actually do. When a user inserts many values into two
associate tables, he may have to call sendBatch() at right time to
avoid foreign key constraint errors. It is required to him to
understand when pending execution data are sent.
The latter is not elegant but simple, and moreover usable enough.
My thought is moving to the latter gradually.
(3) XML DB support (?)
I had added a feature getting XML data as REXML objects. But it has
been disabled after Oracle object support was rewritten.
As far as I tried before, I cannot get exactly same XMLs with inserted
ones. Blanks had not been reserved...
(4) improved non-blocking mode (ruby 1.9 feature) (2007)
When non-blocking is true, ruby-oci8 1.0 uses polling to check
whether a blocking OCI call has finished. ruby-oci8 2.0 uses
rb_thread_blocking_region() if it is compiled for ruby 1.9.
ref: http://www.nabble.com/Ruby-YARV-thread-question-t3187446.html
I'm now working for (1) and (4).
(4) will be done for a week.
(2) and (3) are relatively independent with (1).
You are welcome to contribute to (2) or (3).
|
By: Liming Lian
Want to contribute [ reply ] 2007-11-30 08:37
|
Hi Kubo,
Is there any development plan or roadmap for Ruby-OCI8? I have been making some research on the ruby-oci8 codes to see if it is possible for me to make some contributions on it. So far as I can get from reading the source codes in trunk, the ruby-oci8 2.0 is busy developing for following features:
1) Native array support
2) Named datatype
3) XML DB support
It seems those features haven't been fully implemented. I want to invest some time on them to make improvement. Kubo, I want to know what's your suggestions for making contributions to Ruby-OCI8. Thanks in advance!
|
|
 |