I just saw the following commit: https://github.com/FirebirdSQL/firebird/commit/bbf8348817c4592999fc137b18ba1be7326ad42d

This disallows execution of ALTER SESSION RESET if there are transactions active. I think this is too restrictive.

For example, in Jaybird queries executed through the JDBC API will always be executed in a transaction. With this change, this statement must be executed without transaction, which means I must either include explicit support to detect this statement, or people need to break out of the JDBC API and use the underlying API, both are options I want to avoid (especially the last one). I think the same applies for other drivers.

Instead I propose that execution of ALTER SESSION RESET within a transaction will not fail if the current transaction is the only active transaction of the connection.

Also, I'm not 100% sure, but it also looks like the current restriction also doesn't allow for prepared but not yet committed transactions. Prepared transactions are not active, and presence of these should not block execution of ALTER SESSION RESET.

Mark
--
Mark Rotteveel

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to