[server/session] add missing rollback when freeing a db connection
When we let go of a cnxset and give it back to the pool, we need to make
sure it's not in the middle of a transaction.
We got bitten by a migration where the connection used by admin's
repo.connect was not rolled back before attempting the migration,
causing a deadlock because it had a lock on a table. This could
potentially also be an issue for e.g. hooks or looping tasks that didn't
explicitly rollback before calling free_cnxset or moving out of a
ensure_cnx_set block.
About this site
===============
This web application is based on the CubicWeb knowledge management system
from Logilab_. CubicWeb is made of an object database and a web
framework. It allows to develop an application by defining a set of
entities and their relationships, plus a set of views that present the
data selected from the object database using a specific query language.
This application has a precise schema_ and can be considered an
example of a semantic web database, as it can export the data to XML
and others formats and is not limited to publishing HTML.
Supported formats: |microformats|_ - JSON_ - |rss|_ - |dublincore|_
.. |microformats| image:: /data/microformats-button.png
.. _microformats: http://microformats.org
.. _JSON: http://www.json.org/
.. |rss| image:: /data/rss-button.png
.. _rss: http://www.rssboard.org
.. |dublincore| image:: /data/dublincore-button.png
.. _dublincore: http://dublincore.org
.. _Logilab: http://www.logilab.fr/
.. _schema: schema