Hello,
First of all
congratulations to everyone involved in the new release. I haven't been
able to get my hands on it yet, but just reading about it makes me very excited.
Great job!
I would like to
address the issue of Openser and Oracle working together. We are currently using
Openser with a local MySQL. Our main database is Oracle and we are just copying
data to MySQL so that Openser can work. This is a little difficult to maintain
so I thought I would try to make Openser use directly our Oracle. Of course I
ran into a number of issues.
1. modules/acc and
unixodbc. The acc_db_request() was not working because inserting a string in a
date column does not work with Oracle. So, I had to change functions time2str()
and time2odbc() in order to make this work. Also had to change acc.c to treat
column time as DB_TIME instead of DB_STR (I think this could be treated as a
bug).
2. modules/lcr. The
query uses char_length() and rand() which I had to replace with lengthc() and
dbms_random.value. Should these be modules params?
3.
modules/avpops. All issues were resolved by config changes and replacing
avp_db_load() with avp_db_query().
4. modules/auth_db,
alias_db, uri_db, group. Since MySQL is case insensitive and Oracle is not, I
made changes in the code to use raw_query() instead of query(). All queries have
to be in the form "select ... from ... where username=upper(...)"
I would be happy to
provide patches and help in any way in order to make this migration easier in
the future. However I am not sure whether my changes are general enough for
everybody to use. So, do you have any suggestions about how to deal with these
issues?
Another issue that
came up is the number of connections from Openser to the database. In our
case, listening to five interfaces, with tcp disabled and children=5,
we get 28 connections to DB which is a great waste of resources. From those five
interfaces, one is receiving the bulk of traffic and the rest receive minimal
traffic. Since each child has its own connection, then what is the purpose of
connection pooling? How difficult would it be to have a common connection pool
for all children?
sorry for the long
email and thank you in advance for any answer.
George