Not strictly speaking in ZODB:
The "_v_" use for database connections is dangerous (and if you
It can lead to nasty, apparently non-deterministic effects.
You may lose your database connection mid transaction
and part of what you think is a transaction (i.e. atomical) can be lost.
There are too ways to fix this problem: do not use "_v_" attributes
to maintain the database connection or extend the ZODB to
allow more control over the lifetime of "_v_" attributes.
Thanks again for explanations. Seems that I'll change my DA's
(DCOracle2 and ZCxOracleDA) to use connection pool like psycopg
does. After quick look at their (psycopg) solution I think it is really good
and solves (or may solve) few other issues too - like closing
all connections with 'Close connection' button (useless with
_v_ implementation). Implementing reconnect of broken connection
i.e. when database was restarted shouldn't be too difficult too.
Zope-DB mailing list