Issue Details (XML | Word | Printable)

Key: CORE-6111
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Nickolay Samofatov
Votes: 0
Watchers: 5
Operations

If you were logged in you would be able to see more operations.
Firebird Core

SET TRANSACTION statement only has effect until next COMMIT

Created: 29/Jul/19 04:41 PM   Updated: 29/Jul/19 05:29 PM
Component/s: ISQL
Affects Version/s: 2.5.0, 2.5.1, 2.5.2, 2.5.2 Update 1, 2.5.3, 2.1.7, 2.5.3 Update 1, 2.5.4, 2.5.5, 4.0 Initial, 3.0.0, 2.5.6, 3.0.1, 2.5.7, 3.0.2, 4.0 Alpha 1, 2.5.8, 3.0.3, 3.0.4, 4.0 Beta 1, 2.5.9
Fix Version/s: None

QA Status: No test


 Description  « Hide
This behavior is happening all the way to Firebird 1.0 builds.
I believe the engine shall preserve transaction isolation mode after commit;
Please correct me if I am wrong.

ISQL commands to reproduce:

SQL>create database '/tmp/test.fdb';
SQL>set transaction read committed;
SQL>select mon$isolation_mode from mon$transactions where mon$transaction_id=current_transaction;

MON$ISOLATION_MODE
==================
                 3
SQL> commit;
SQL> select mon$isolation_mode from mon$transactions where mon$transaction_id=current_transaction;

MON$ISOLATION_MODE
==================
                 1


 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Adriano dos Santos Fernandes added a comment - 29/Jul/19 04:48 PM
I disagree. SET TRANSACTION is kind of "start transaction" command and should not set "defaults" for next transactions.

Simonov Denis added a comment - 29/Jul/19 05:29 PM
I agree with Adriano. However, this does not eliminate the need to set parameters for a default transaction in ISQL. Maybe it makes sense to do some kind of ISQL command to set default transaction parameters for DML and DDL.