a Zato user posted a question and findings regarding an implicit ROLLBACK issued by session objects.
During investigation it turned out that, if I interpret it correctly, in PostgreSQL 9.5 a warning is issued if such ROLLBACK without a transaction is executed, which ultimately may lead to confusion and log files growing spuriously.
In particular, here are links to PostgreSQL's source code where it looks that a recent change now causes warnings to be logged for such ROLLBACK.
I'm not clear how to proceed further - I recommended that this warning be filtered out by syslog for now but it may hide genuine issues that use the same warning, so it probably is not the best approach (there are no warning/error codes in PostgreSQL as far as I can see and the same message may be triggered from different places).
Do I understand it correctly that this is a core feature of ORM and is unlikely to change? Or is there a way to prevent this implicit ROLLBACK?
The SQLAlchemy version in question is 0.9.9 but we will be upgrading to latest 1.x in Zato soon.
I'm happy to discuss it in PostgreSQL's mailing lists but I'm just not sure what the best course of action is - clearly the behaviour is not wanted but I'm not certain on whose end there should be any work carried out to deal with it.
I'm also curious - hasn't anyone raised this question before? This probably concerns all users of SQLAlchemy and PostgreSQL 9.5+?