Hello,

I have noticed and installed DRCP_1.25 branch from DBD::Oracle repository. It seems to work fine but it's missing some essential functionality in order to make it usefull. So I have made local modifications (some of them are not essential) and all seems to work fine here.

What I have done:
1. essential
- added ora_pool_class connection attribute that sets OCI_ATTR_CONNECTION_CLASS on the obtained connection. It is essential because without setting this attribute the pooled sessions are not shared between processes. From oracle documentation:

> If no connection class is specified, the OCISessionPool’s name is implicitly used > as the connection class by all the requests using that OCISessionPool, resulting in > sharing only within a session pool, becoming equivalent to a plain client-side
> session pooling application.

2.non-essential
- Added ora_pool_min, ora_pool_max, ora_pool_incr connections attributes that are used to set corresponding values for OCISessionPoolCreate. - Set default values for the above parameters to follow default values of DBMS_CONNECTION_POOL package (principle of least surprise)

I have some questions:
1. Do you have suggestions for different names of attributes? I was considering ora_drcp_class etc. but I am not sure what will be the best. 2. If my work is interesting for the further development of DBD::Oracle, whom I should send a patch?

Finally, if this work is accepted I will add proper documentation for the new attributes.

Best regards
luben karavelov

Reply via email to