ibmdb / python-ibmdbsa

Automatically exported from code.google.com/p/ibm-db.ibm-db-sa
Apache License 2.0
40 stars 59 forks source link

Isolation level fix #79

Closed MarkusFraKS closed 3 years ago

MarkusFraKS commented 4 years ago

self. was missing in set_isolation_level and _get_cli_isolation_levels which caused an error calling these methods and made it impossible to set the isolation level.

amukherjee28 commented 3 years ago

Pull request code tested.

ISSUE FACED

python issolation_level.py 2021-03-03 16:39:33,875 INFO sqlalchemy.engine.base.Engine SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1 FROM SYSIBM.SYSDUMMY1 2021-03-03 16:39:33,875 INFO sqlalchemy.engine.base.Engine () 2021-03-03 16:39:34,748 INFO sqlalchemy.engine.base.Engine SELECT CAST('test unicode returns' AS VARGRAPHIC(60)) AS anon_1 FROM SYSIBM.SYSDUMMY1 2021-03-03 16:39:34,748 INFO sqlalchemy.engine.base.Engine () AS Traceback (most recent call last): File "C:\Users\amukherjee\Working_repository\open_source_sample_programs\alchemy\issolation_level.py", line 8, in conn = engine.connect() File "C:\Users\amukherjee\python391\lib\site-packages\sqlalchemy\engine\base.py", line 2263, in connect return self._connection_cls(self, *kwargs) File "C:\Users\amukherjee\python391\lib\site-packages\sqlalchemy\engine\base.py", line 126, in init self.dispatch.engine_connect(self, self.branch) File "C:\Users\amukherjee\python391\lib\site-packages\sqlalchemy\event\attr.py", line 322, in call__ fn(args, **kw) File "C:\Users\amukherjee\python391\lib\site-packages\sqlalchemy\engine\default.py", line 523, in set_isolation self._set_connection_isolation(connection, isolation_level) File "C:\Users\amukherjee\python391\lib\site-packages\sqlalchemy\engine\default.py", line 549, in _set_connection_isolation self.set_isolation_level(connection.connection, level) File "C:\Users\amukherjee\python391\lib\site-packages\ibm_db_sa\ibm_db.py", line 143, in set_isolation_level attrib = {SQL_ATTR_TXN_ISOLATION:_get_cli_isolation_levels(self,level)} NameError: name '_get_cli_isolation_levels' is not defined

AFTER APPLYING THE CODE FIX

python issolation_level.py 2021-03-03 16:45:16,539 INFO sqlalchemy.engine.base.Engine SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1 FROM SYSIBM.SYSDUMMY1 2021-03-03 16:45:16,539 INFO sqlalchemy.engine.base.Engine () 2021-03-03 16:45:17,413 INFO sqlalchemy.engine.base.Engine SELECT CAST('test unicode returns' AS VARGRAPHIC(60)) AS anon_1 FROM SYSIBM.SYSDUMMY1 2021-03-03 16:45:17,413 INFO sqlalchemy.engine.base.Engine () AS <sqlalchemy.engine.base.Connection object at 0x0000014F1FC763A0>

Code changes working fine.

Hence merged.