diff options
| author | Roman Podoliaka <rpodolyaka@mirantis.com> | 2015-01-31 13:50:20 +0200 |
|---|---|---|
| committer | Roman Podoliaka <rpodolyaka@mirantis.com> | 2015-02-24 19:50:54 +0200 |
| commit | a87b3c2101114d82f999c23d113ad2018629ed48 (patch) | |
| tree | 201be7e111e1f1d4f7ccaf19f0f8c234dae545a6 /test/dialect/mysql/test_dialect.py | |
| parent | 305ea84004fe604f461cd3c9438fbc84e3d790b2 (diff) | |
| download | sqlalchemy-pr/157.tar.gz | |
Add 'native' autocommit support for mysql driverspr/157
Sometimes it might be useful to have 'native' autocommit support
provided by a DB API driver rather than rely on SQLAlchemy autocommit
emulation.
Diffstat (limited to 'test/dialect/mysql/test_dialect.py')
| -rw-r--r-- | test/dialect/mysql/test_dialect.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/dialect/mysql/test_dialect.py b/test/dialect/mysql/test_dialect.py index e6bad71a4..03f4c494a 100644 --- a/test/dialect/mysql/test_dialect.py +++ b/test/dialect/mysql/test_dialect.py @@ -148,3 +148,27 @@ class ExecutionTest(fixtures.TestBase): def test_sysdate(self): d = testing.db.scalar(func.sysdate()) assert isinstance(d, datetime.datetime) + + @testing.only_on(['mysql+mysqldb', + 'mysql+mysqlconnector', + 'mysql+pymysql', + 'mysql+cymysql']) + def test_autocommit_isolation_level(self): + c = testing.db.connect().execution_options( + isolation_level='AUTOCOMMIT' + ) + assert c.execute('SELECT @@autocommit;').scalar() + + def test_isolation_level(self): + values = { + # sqlalchemy -> mysql + 'READ UNCOMMITTED': 'READ-UNCOMMITTED', + 'READ COMMITTED': 'READ-COMMITTED', + 'REPEATABLE READ': 'REPEATABLE-READ', + 'SERIALIZABLE': 'SERIALIZABLE' + } + for sa_value, mysql_value in values.items(): + c = testing.db.connect().execution_options( + isolation_level=sa_value + ) + assert c.execute('SELECT @@tx_isolation;').scalar() == mysql_value |
