[Zope-DB] [ANN] Modified version of DCOracle2 is available

Chris Withers chris at simplistix.co.uk
Tue Nov 21 10:30:28 EST 2006


Maciej Wisniowski wrote:
>> 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.

It's in CVS.

Yes, it's an old tool, but since Zope Corp have hamstrung the one person 
who was prepared to do this kind of migration, you/we/anyone has no 
choice but to use CVS :-(

I'm CC'ing Jim in the vague hope that he could somehow arrange for Jens 
to get his privileges back :-S

He can also help you with the contributor agreement side of things...


>> 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 :)

Yeah, I definitely wrote a suite of unit tests on my branch, I suspect 
they might need a live Oracle instance to connect to. ConflictErrors can 
be "simulated" but it is tricky...

> 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.

Well, as I said, good luck ;-) I just spent a day debugging a similar 
type of issue in ZRDB/DA.py...

>> 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.

Looks like I never merged to HEAD :-S

http://cvs.zope.org/Products/DCOracle2/?only_with_tag=chrisw_fixconnectionleak_branch

>>    - 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.

I think this will make no noticeable difference...

cheers,

Chris

-- 
Simplistix - Content Management, Zope & Python Consulting
            - http://www.simplistix.co.uk


More information about the Zope-DB mailing list