Hello!
On Sun, Jul 28, 2013 at 8:00 PM, Daniel Rios wrote:
> Do you have plans for Oracle support ? Would be great to see this library
> supported:
>
> http://orclib.sourceforge.net/
>
Well, it seems to me that this is just an encapsulation layer atop
Oracle's OCI library, which is not so interesting for Nginx
integration (I don't know to what extend it exposes OCI's nonblocking
API or whether it exposes at all).
Two or three years ago, chaoslawful tried to integrate OCI into the
nginx core via OCI's (incomplete) nonblocking API in a similar fashion
to the existing ngx_drizzle and ngx_postgres modules. His ngx_oracle
module was never completed (nor published) AFAIK due to the following
difficulties IIRC:
1. Unlike libpq (for Pg) and libdrizzle (for MySQL and Drizzle), the
nonblocking API exposed by OCI is not complete. Certain operations
must be blocking and we have to introduce OS threads to workaround
them.
2. OCI's advanced features require more aggressive use of multiple
connection fds, making external event loops (based on
epoll/poll/kqueue/etc) much harder to control.
3. OCI is not opensource, making it much harder to work-around
limitations of OCI, unlike libpq and libdrizzle.
Best regards,
-agentzh