Re: [ANN] Modified version of DCOracle2 is available

Maciej Wisniowski <[email protected]>
Newsgroups gmane.comp.web.zope.database
Message-ID <[email protected]>
> Can I suggest you sign a contributor agreement and contribute this
> directly to the Zope CVS or SVN repository? I think DCOracle2 may
> still be in CVS, but Jen Vagelpohl has become quite adept and moving
> things from one to the other. If you tickle him nicely, he may move it
> to SVN if it's not already there ;-)
Seems that there is no DCOracle2 in SVN.
I've just seen Jens answer. I'll think about.

> With unit tests I hope?
No. I'll possibly try to write some, but so far I have no idea
how to write unit tests for things like conflict errors that
appear under high load and tests without real Oracle database.
I must admit that I've not looked at original DCO2 tests yet.
I'll try and ask for help if needed :)

> Please be careful, I made one attempt at this and it's fiendishly
> difficult to get right...
I've used pool implementation from psycopg so I think it is rather
good code base. As I said before, after discussion with Dieter Maurer
I've changed this a bit, that it doesn't use volatile atributes. I think
the code in few places is even simpler now. So far it works for some
time in a site used by hundred or more users (kind of test environment
for end user) and I've seen no problems due to connection pool or lack
of volatile attibutes yet.

>>    - Open/Close button in ZMI works as it should
>    As a result:
>
> Hurrah! For the record, the DCOracle2 trunk in CVS did this too..
Really? I can't find that code? You mean:
http://cvs.zope.org/Products/DCOracle2/?only_with_tag=HEAD ?
I've checked DABase.py and DB.py and nothing.

>    - DCOracle is possibly slower a bit
>
> How so?
In standard implementation connection was
usually ready in _v_database_connection, now,
every time it has to be taken from the pool first.
But I didn't tested this yet, but I will.

>>    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
>  - Ability to reconnect after the connection is broken
>
> I may have done something similar on the trunk, I suggest you have a
> check how that code compares with yours...
Seems your implementation is better! I'll have a closer look.

Great thanks for the comments!

-- 
Maciej Wisniowski
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.