How do I determine the isolation level in use for a given query? After a query is executed (by a 3rd party application) I'd like to know which isolation level was used (e.g., read uncommitted).
To be clear, I'm currently working on an application that uses EF4 running against mysql 5.1. I'm try to test different coding patterns to change isolations levels for specific EF4 queries. I need to be able to test and make sure the isolation levels are being set correctly.
SHOW VARIABLES LIKE 'tx_isolation';
or if you have MySQL 5.1+
SELECT * FROM information_schema.session_variables WHERE variable_name = 'tx_isolation';
If you want to know what the server has configured globally, change the above to the following:
SHOW GLOBAL VARIABLES LIKE 'tx_isolation';
or if you have MySQL 5.1+
SELECT * FROM information_schema.global_variables WHERE variable_name = 'tx_isolation';
If you want to make the query reveal what transaction isolation is being used, run this:
SELECT variable_value IsolationLevel FROM information_schema.session_variables WHERE variable_name = 'tx_isolation';
DISCLAIMER : I DO NOT KNOW EF4
If you are allowed to embed subqueries in the SQL about to be run by EF4, you may have to embed this query as a subquery (or embed you query as a subquery) and display the variable IsolationLevel along with the results of the actual query.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With