[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.
@echo off
rem = """-*-Python-*- script
rem -------------------- DOS section --------------------
rem You could set PYTHONPATH or TK environment variables here
python -x "%~f0" %*
goto exit
"""
# -------------------- Python section --------------------
import sys
from os.path import join, dirname, normpath
sys.path.insert(0, normpath(join(dirname(__file__), '..', '..')))
from cubicweb.cwctl import run
run(sys.argv[1:])
DosExitLabel = """
:exit
rem """