Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SET TRANSACTION statement only has effect until next COMMIT [CORE6111] #6360

Open
firebird-automations opened this issue Jul 29, 2019 · 2 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @samofatov

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 
@firebird-automations
Copy link
Collaborator Author

Commented by: @asfernandes

I disagree. SET TRANSACTION is kind of "start transaction" command and should not set "defaults" for next transactions.

@firebird-automations
Copy link
Collaborator Author

Commented by: @sim1984

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment