Due to discussion on Zope list and some work I did before
I've published modified version of DCOracle2.
What is in this version:
1. Bug fixes
- StoredProcedures caused deadlocks in database
- StoredProcedures caused conflict errors under heavy load
removed self._errors reference and added _p_resolveConflict
- other I don't remember now
Changes are only in python files
- DCOracle2 now uses connection pool
Pool implementation is based on psycopg but
it doesn't use volatile attributes.
As a result:
- Open/Close button in ZMI works as it should
- DCOracle is possibly slower a bit
- Ability to reconnect after the connection is broken
When Oracle is restarted, connection is closed by firewall
etc. Zope will show an error but only once for every broken
connection. Second request will cause DCOracle2 to reconnect
3. To do:
- Possibly useage of raise ConflictError may cause that there
will be no errors shown during reconnect
- Pool size attribute may be set via ZMI
This code is now in use at my company, but not yet in production
environment. So far this works with Zope 2.8.x and Oracle9.
If somebody knows better place for this code then let me know.
Any ideas how should file headers (I mean licences) look?
Comments are welcome
Code is here:
Should be available via svn with:
svn checkout http://dcoracle2da.googlecode.com/svn/trunk/ dcoracle2da
THERE IS NO GUARANTEE THAT THIS WILL WORK FOR YOU, SO BE CAREFULL :)
Zope-DB mailing list